From e917ed96ae38fc382bac50a6536d761b829ac8cd Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 3 May 2013 11:15:55 -0700 Subject: [PATCH] r600g/llvm: Don't emit CALL_FS for vertex shaders The LLVM backend takes care of this now. --- src/gallium/drivers/r600/r600_shader.c | 16 +++++++++------- src/gallium/drivers/radeon/LLVM_REVISION.txt | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 9afd57f71a2..b3b124e4179 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -1371,13 +1371,6 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen, for (i = 0; i < TGSI_FILE_COUNT; i++) { ctx.file_offset[i] = 0; } - if (ctx.type == TGSI_PROCESSOR_VERTEX) { - ctx.file_offset[TGSI_FILE_INPUT] = 1; - r600_bytecode_add_cfinst(ctx.bc, CF_OP_CALL_FS); - } - if (ctx.type == TGSI_PROCESSOR_FRAGMENT && ctx.bc->chip_class >= EVERGREEN) { - ctx.file_offset[TGSI_FILE_INPUT] = evergreen_gpr_count(&ctx); - } #ifdef R600_USE_LLVM if (use_llvm && ctx.info.indirect_files && (ctx.info.indirect_files & (1 << TGSI_FILE_CONSTANT)) != ctx.info.indirect_files) { @@ -1387,6 +1380,15 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen, use_llvm = 0; } #endif + if (ctx.type == TGSI_PROCESSOR_VERTEX) { + ctx.file_offset[TGSI_FILE_INPUT] = 1; + if (!use_llvm) { + r600_bytecode_add_cfinst(ctx.bc, CF_OP_CALL_FS); + } + } + if (ctx.type == TGSI_PROCESSOR_FRAGMENT && ctx.bc->chip_class >= EVERGREEN) { + ctx.file_offset[TGSI_FILE_INPUT] = evergreen_gpr_count(&ctx); + } ctx.use_llvm = use_llvm; if (use_llvm) { diff --git a/src/gallium/drivers/radeon/LLVM_REVISION.txt b/src/gallium/drivers/radeon/LLVM_REVISION.txt index 0b998d4c220..d1939fdd861 100644 --- a/src/gallium/drivers/radeon/LLVM_REVISION.txt +++ b/src/gallium/drivers/radeon/LLVM_REVISION.txt @@ -1 +1 @@ -@180753 +@181223 -- 2.30.2