From 00f7002c5c45887b204a3f14b8e3b32472cc39bb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Nov 2014 14:51:22 -0800 Subject: [PATCH] gallium: Drop unused BRA opcode. Never generated, and implemented in only nvfx vertprog. Reviewed-by: Jose Fonseca --- src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 1 - src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c | 6 ------ src/gallium/auxiliary/tgsi/tgsi_exec.c | 4 ---- src/gallium/auxiliary/tgsi/tgsi_info.c | 2 +- src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h | 1 - src/gallium/docs/source/tgsi.rst | 9 --------- src/gallium/drivers/ilo/shader/toy_tgsi.c | 2 -- src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 7 ------- src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c | 1 - src/gallium/drivers/r300/r300_tgsi_to_rc.c | 1 - src/gallium/drivers/r600/r600_shader.c | 6 +++--- src/gallium/include/pipe/p_shader_tokens.h | 2 +- 12 files changed, 5 insertions(+), 37 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c index c5d36793b21..e391d8a4301 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c @@ -211,7 +211,6 @@ lp_build_tgsi_inst_llvm( case TGSI_OPCODE_UP2US: case TGSI_OPCODE_UP4B: case TGSI_OPCODE_UP4UB: - case TGSI_OPCODE_BRA: case TGSI_OPCODE_PUSHA: case TGSI_OPCODE_POPA: case TGSI_OPCODE_SAD: diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c index aacbeff2b1f..9e468f91282 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c @@ -786,12 +786,6 @@ lp_emit_instruction_aos( dst0 = lp_build_round(&bld->bld_base.base, src0); break; - case TGSI_OPCODE_BRA: - /* deprecated */ - assert(0); - return FALSE; - break; - case TGSI_OPCODE_CAL: return FALSE; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 03cb2771bc6..ec1374aa876 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -3768,10 +3768,6 @@ exec_instruction( exec_vector_unary(mach, inst, micro_arr, TGSI_EXEC_DATA_INT, TGSI_EXEC_DATA_FLOAT); break; - case TGSI_OPCODE_BRA: - assert (0); - break; - case TGSI_OPCODE_CAL: /* skip the call if no execution channels are enabled */ if (mach->ExecMask) { diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index e546816f8f5..2ec2853ea44 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -99,7 +99,7 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { 0, 1, 0, 0, 0, 1, NONE, "", 59 }, /* removed */ { 0, 1, 0, 0, 0, 1, NONE, "", 60 }, /* removed */ { 1, 1, 0, 0, 0, 0, COMP, "ARR", TGSI_OPCODE_ARR }, - { 0, 1, 0, 0, 0, 0, NONE, "BRA", TGSI_OPCODE_BRA }, + { 0, 1, 0, 0, 0, 1, NONE, "", 62 }, /* removed */ { 0, 0, 0, 1, 0, 0, NONE, "CAL", TGSI_OPCODE_CAL }, { 0, 0, 0, 0, 0, 0, NONE, "RET", TGSI_OPCODE_RET }, { 1, 1, 0, 0, 0, 0, COMP, "SSG", TGSI_OPCODE_SSG }, diff --git a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h index bfa78fc5536..b8bdba956e5 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h +++ b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h @@ -109,7 +109,6 @@ OP11(UP2US) OP11(UP4B) OP11(UP4UB) OP11(ARR) -OP01(BRA) OP00_LBL(CAL) OP00(RET) OP11(SSG) diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index 5145332e24a..d4bf9ccaeec 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -868,15 +868,6 @@ This instruction replicates its result. Considered for removal. -.. opcode:: BRA - Branch - - pc = target - -.. note:: - - Considered for removal. - - .. opcode:: CALLNZ - Subroutine Call If Not Zero TBD diff --git a/src/gallium/drivers/ilo/shader/toy_tgsi.c b/src/gallium/drivers/ilo/shader/toy_tgsi.c index 5989fc4640a..5938de48598 100644 --- a/src/gallium/drivers/ilo/shader/toy_tgsi.c +++ b/src/gallium/drivers/ilo/shader/toy_tgsi.c @@ -829,7 +829,6 @@ static const toy_tgsi_translate aos_translate_table[TGSI_OPCODE_LAST] = { [TGSI_OPCODE_UP4B] = aos_unsupported, [TGSI_OPCODE_UP4UB] = aos_unsupported, [TGSI_OPCODE_ARR] = aos_simple, - [TGSI_OPCODE_BRA] = aos_unsupported, [TGSI_OPCODE_CAL] = aos_unsupported, [TGSI_OPCODE_RET] = aos_unsupported, [TGSI_OPCODE_SSG] = aos_set_sign, @@ -1374,7 +1373,6 @@ static const toy_tgsi_translate soa_translate_table[TGSI_OPCODE_LAST] = { [TGSI_OPCODE_UP4B] = soa_unsupported, [TGSI_OPCODE_UP4UB] = soa_unsupported, [TGSI_OPCODE_ARR] = soa_per_channel, - [TGSI_OPCODE_BRA] = soa_unsupported, [TGSI_OPCODE_CAL] = soa_unsupported, [TGSI_OPCODE_RET] = soa_unsupported, [TGSI_OPCODE_SSG] = soa_per_channel, diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c index 0fdaa2b54d1..66009971412 100644 --- a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c +++ b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c @@ -821,13 +821,6 @@ nvfx_fragprog_parse_instruction(struct nvfx_fpc *fpc, break; } - case TGSI_OPCODE_BRA: - /* This can in limited cases be implemented with an IF with the else and endif labels pointing to the target */ - /* no state tracker uses this, so don't implement this for now */ - assert(0); - nv40_fp_bra(fpc, finst->Label.Label); - break; - case TGSI_OPCODE_BGNSUB: case TGSI_OPCODE_ENDSUB: /* nothing to do here */ diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c index e880810c8ab..51e1fb646e0 100644 --- a/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c +++ b/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c @@ -712,7 +712,6 @@ nvfx_vertprog_parse_instruction(struct nvfx_vpc *vpc, nvfx_vp_emit(vpc, insn); break; case TGSI_OPCODE_ELSE: - case TGSI_OPCODE_BRA: case TGSI_OPCODE_CAL: reloc.location = vpc->vp->nr_insns; reloc.target = finst->Label.Label; diff --git a/src/gallium/drivers/r300/r300_tgsi_to_rc.c b/src/gallium/drivers/r300/r300_tgsi_to_rc.c index d9067faea6f..a7a741e6abf 100644 --- a/src/gallium/drivers/r300/r300_tgsi_to_rc.c +++ b/src/gallium/drivers/r300/r300_tgsi_to_rc.c @@ -84,7 +84,6 @@ static unsigned translate_opcode(unsigned opcode) /* case TGSI_OPCODE_UP4B: return RC_OPCODE_UP4B; */ /* case TGSI_OPCODE_UP4UB: return RC_OPCODE_UP4UB; */ /* case TGSI_OPCODE_ARR: return RC_OPCODE_ARR; */ - /* case TGSI_OPCODE_BRA: return RC_OPCODE_BRA; */ /* case TGSI_OPCODE_CAL: return RC_OPCODE_CAL; */ /* case TGSI_OPCODE_RET: return RC_OPCODE_RET; */ case TGSI_OPCODE_SSG: return RC_OPCODE_SSG; diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 24fed848e94..2e74d5963d4 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -7250,7 +7250,7 @@ static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[] = { {59, 0, ALU_OP0_NOP, tgsi_unsupported}, {60, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_ARR, 0, ALU_OP0_NOP, tgsi_r600_arl}, - {TGSI_OPCODE_BRA, 0, ALU_OP0_NOP, tgsi_unsupported}, + {62, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_CAL, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_RET, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_SSG, 0, ALU_OP0_NOP, tgsi_ssg}, @@ -7449,7 +7449,7 @@ static struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] = { {59, 0, ALU_OP0_NOP, tgsi_unsupported}, {60, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_ARR, 0, ALU_OP0_NOP, tgsi_eg_arl}, - {TGSI_OPCODE_BRA, 0, ALU_OP0_NOP, tgsi_unsupported}, + {62, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_CAL, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_RET, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_SSG, 0, ALU_OP0_NOP, tgsi_ssg}, @@ -7648,7 +7648,7 @@ static struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] = { {59, 0, ALU_OP0_NOP, tgsi_unsupported}, {60, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_ARR, 0, ALU_OP0_NOP, tgsi_eg_arl}, - {TGSI_OPCODE_BRA, 0, ALU_OP0_NOP, tgsi_unsupported}, + {62, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_CAL, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_RET, 0, ALU_OP0_NOP, tgsi_unsupported}, {TGSI_OPCODE_SSG, 0, ALU_OP0_NOP, tgsi_ssg}, diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 9bf55439f75..52a4216e51b 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -344,7 +344,7 @@ struct tgsi_property_data { #define TGSI_OPCODE_UP4UB 58 /* gap */ #define TGSI_OPCODE_ARR 61 -#define TGSI_OPCODE_BRA 62 + /* gap */ #define TGSI_OPCODE_CAL 63 #define TGSI_OPCODE_RET 64 #define TGSI_OPCODE_SSG 65 /* SGN */ -- 2.30.2