We are about to add support for the TXS (texture size) op which is not implemented using a midgard texture instruction. Let's rename emit_tex() into emit_texop_native() and repurpose emit_tex() as a dispatcher.
Signed-off-by: Boris Brezillon <[email protected]> --- Changes in v2: * New patch --- .../panfrost/midgard/midgard_compile.c | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index 492ec69c85ba..235dc7d5430d 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c +++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c @@ -1330,22 +1330,9 @@ midgard_tex_format(enum glsl_sampler_dim dim) } } -static unsigned -midgard_tex_op(nir_texop op) -{ - switch (op) { - case nir_texop_tex: - case nir_texop_txb: - return TEXTURE_OP_NORMAL; - case nir_texop_txl: - return TEXTURE_OP_LOD; - default: - unreachable("Unhanlded texture op"); - } -} - static void -emit_tex(compiler_context *ctx, nir_tex_instr *instr) +emit_texop_native(compiler_context *ctx, nir_tex_instr *instr, + unsigned midgard_texop) { /* TODO */ //assert (!instr->sampler); @@ -1420,7 +1407,7 @@ emit_tex(compiler_context *ctx, nir_tex_instr *instr) midgard_instruction ins = { .type = TAG_TEXTURE_4, .texture = { - .op = midgard_tex_op(instr->op), + .op = midgard_texop, .format = midgard_tex_format(instr->sampler_dim), .texture_handle = texture_index, .sampler_handle = sampler_index, @@ -1478,6 +1465,22 @@ emit_tex(compiler_context *ctx, nir_tex_instr *instr) ctx->texture_op_count++; } +static void +emit_tex(compiler_context *ctx, nir_tex_instr *instr) +{ + switch (instr->op) { + case nir_texop_tex: + case nir_texop_txb: + emit_texop_native(ctx, instr, TEXTURE_OP_NORMAL); + break; + case nir_texop_txl: + emit_texop_native(ctx, instr, TEXTURE_OP_LOD); + break; + default: + unreachable("Unhanlded texture op"); + } +} + static void emit_jump(compiler_context *ctx, nir_jump_instr *instr) { -- 2.20.1 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
