summaryrefslogtreecommitdiff
path: root/backend/src/backend/gen/gen_mesa_disasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/backend/gen/gen_mesa_disasm.c')
-rw-r--r--backend/src/backend/gen/gen_mesa_disasm.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/backend/src/backend/gen/gen_mesa_disasm.c b/backend/src/backend/gen/gen_mesa_disasm.c
index 8a2afe58..ca36afa1 100644
--- a/backend/src/backend/gen/gen_mesa_disasm.c
+++ b/backend/src/backend/gen/gen_mesa_disasm.c
@@ -370,6 +370,7 @@ static const char *target_function_gen75[16] = {
[GEN_SFID_DATAPORT_DATA] = "data (0)",
[GEN_SFID_PIXEL_INTERPOLATOR] = "pix_interpolator",
[GEN_SFID_DATAPORT1_DATA] = "data (1)",
+ [GEN_SFID_CHECK_REFINE] = "check_and_refine",
};
static const char *gateway_sub_function[8] = {
@@ -527,6 +528,13 @@ static int gen_version;
bits; \
})
+#define GEN8_BITS_FIELD(inst, gen8) \
+ ({ \
+ int bits; \
+ bits = ((const union Gen8NativeInstruction *)inst)->gen8; \
+ bits; \
+ })
+
#define GEN_BITS_FIELD(inst, gen) \
({ \
int bits; \
@@ -583,6 +591,8 @@ static int gen_version;
#define BRANCH_UIP(inst) GEN_BITS_FIELD2(inst, bits3.gen7_branch.uip, bits2.gen8_branch.uip/8)
#define VME_BTI(inst) GEN7_BITS_FIELD(inst, bits3.vme_gen7.bti)
#define VME_MSG_TYPE(inst) GEN7_BITS_FIELD(inst, bits3.vme_gen7.msg_type)
+#define IME_BTI(inst) GEN8_BITS_FIELD(inst, bits3.ime_gen8.bti)
+#define IME_MSG_TYPE(inst) GEN8_BITS_FIELD(inst, bits3.ime_gen8.msg_type)
#define SAMPLE_BTI(inst) GEN_BITS_FIELD(inst, bits3.sampler_gen7.bti)
#define SAMPLER(inst) GEN_BITS_FIELD(inst, bits3.sampler_gen7.sampler)
#define SAMPLER_MSG_TYPE(inst) GEN_BITS_FIELD(inst, bits3.sampler_gen7.msg_type)
@@ -1510,9 +1520,19 @@ int gen_disasm (FILE *file, const void *inst, uint32_t deviceID, uint32_t compac
if (immbti) {
switch (target) {
case GEN_SFID_VIDEO_MOTION_EST:
+ if(gen_version == 7)
+ format(file, " (bti: %d, msg_type: %d)",
+ VME_BTI(inst),
+ VME_MSG_TYPE(inst));
+ else if(gen_version == 9)
+ format(file, " (bti: %d, msg_type: %d)",
+ IME_BTI(inst),
+ IME_MSG_TYPE(inst));
+ break;
+ case GEN_SFID_CHECK_REFINE:
format(file, " (bti: %d, msg_type: %d)",
- VME_BTI(inst),
- VME_MSG_TYPE(inst));
+ IME_BTI(inst),
+ IME_MSG_TYPE(inst));
break;
case GEN_SFID_SAMPLER:
format(file, " (%d, %d, %d, %d)",