[Mesa-dev] [PATCH 02/10] i965: Disassemble vector float immediates properly.

Matt Turner mattst88 at gmail.com
Thu Oct 23 16:44:04 PDT 2014


---
 src/mesa/drivers/dri/i965/brw_disasm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
index 53ec767..6f5290e 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -31,6 +31,7 @@
 #include "brw_defines.h"
 #include "brw_reg.h"
 #include "brw_inst.h"
+#include "brw_packed_float.h"
 
 const struct opcode_desc opcode_descs[128] = {
    [BRW_OPCODE_MOV]      = { .name = "mov",     .nsrc = 1, .ndst = 1 },
@@ -1009,7 +1010,11 @@ imm(FILE *file, struct brw_context *brw, unsigned type, brw_inst *inst)
       format(file, "0x%08xUV", brw_inst_imm_ud(brw, inst));
       break;
    case BRW_HW_REG_IMM_TYPE_VF:
-      format(file, "Vector Float");
+      format (file, "[%.7f, %.7f, %.7f, %.7f]VF",
+              brw_vf_to_float(brw_inst_imm_ud(brw, inst)),
+              brw_vf_to_float(brw_inst_imm_ud(brw, inst) >> 8),
+              brw_vf_to_float(brw_inst_imm_ud(brw, inst) >> 16),
+              brw_vf_to_float(brw_inst_imm_ud(brw, inst) >> 24));
       break;
    case BRW_HW_REG_IMM_TYPE_V:
       format(file, "0x%08xV", brw_inst_imm_ud(brw, inst));
-- 
2.0.4



More information about the mesa-dev mailing list