From 0d0eae07be6cf391cc48a283709ed7b57b33e20b Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Tue, 21 Sep 2021 16:16:51 -0700 Subject: [PATCH] intel/compiler: Prepare disasm for 16-bit sampler params v2: - Update descriptor helper (Jason) Signed-off-by: Sagar Ghuge Reviewed-by: Jason Ekstrand Reviewed-by: Francisco Jerez Part-of: --- src/intel/compiler/brw_disasm.c | 8 +++++++- src/intel/compiler/brw_eu.h | 11 ++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c index 9b1d901..4980ccb 100644 --- a/src/intel/compiler/brw_disasm.c +++ b/src/intel/compiler/brw_disasm.c @@ -613,11 +613,13 @@ static const char *const gfx5_sampler_msg_type[] = { [GFX7_SAMPLER_MESSAGE_SAMPLE_LD2DSS] = "ld2dss", }; -static const char *const gfx5_sampler_simd_mode[4] = { +static const char *const gfx5_sampler_simd_mode[7] = { [BRW_SAMPLER_SIMD_MODE_SIMD4X2] = "SIMD4x2", [BRW_SAMPLER_SIMD_MODE_SIMD8] = "SIMD8", [BRW_SAMPLER_SIMD_MODE_SIMD16] = "SIMD16", [BRW_SAMPLER_SIMD_MODE_SIMD32_64] = "SIMD32/64", + [GFX10_SAMPLER_SIMD_MODE_SIMD8H] = "SIMD8H", + [GFX10_SAMPLER_SIMD_MODE_SIMD16H] = "SIMD16H", }; static const char *const sampler_target_format[4] = { @@ -2092,6 +2094,10 @@ brw_disassemble_inst(FILE *file, const struct intel_device_info *devinfo, err |= control(file, "sampler simd mode", gfx5_sampler_simd_mode, brw_sampler_desc_simd_mode(devinfo, imm_desc), &space); + if (devinfo->ver >= 8 && + brw_sampler_desc_return_format(devinfo, imm_desc)) { + string(file, " HP"); + } format(file, " Surface = %u Sampler = %u", brw_sampler_desc_binding_table_index(devinfo, imm_desc), brw_sampler_desc_sampler(devinfo, imm_desc)); diff --git a/src/intel/compiler/brw_eu.h b/src/intel/compiler/brw_eu.h index 99de21d..7d24059 100644 --- a/src/intel/compiler/brw_eu.h +++ b/src/intel/compiler/brw_eu.h @@ -452,7 +452,9 @@ brw_sampler_desc_simd_mode(const struct intel_device_info *devinfo, uint32_t desc) { assert(devinfo->ver >= 5); - if (devinfo->ver >= 7) + if (devinfo->ver >= 8) + return GET_BITS(desc, 18, 17) | GET_BITS(desc, 29, 29) << 2; + else if (devinfo->ver >= 7) return GET_BITS(desc, 18, 17); else return GET_BITS(desc, 17, 16); @@ -462,8 +464,11 @@ static inline unsigned brw_sampler_desc_return_format(ASSERTED const struct intel_device_info *devinfo, uint32_t desc) { - assert(devinfo->verx10 == 40); - return GET_BITS(desc, 13, 12); + assert(devinfo->verx10 == 40 || devinfo->ver >= 8); + if (devinfo->ver >= 8) + return GET_BITS(desc, 30, 30); + else + return GET_BITS(desc, 13, 12); } /** -- 2.7.4