From 83df955ca9f331965107c424c2e90f27e9161e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Thu, 21 Mar 2013 17:37:37 +0100 Subject: [PATCH] radeon/llvm: move system value fetching to common code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should be used by both SI and R600. Signed-off-by: Christian König Reviewed-by: Michel Dänzer Tested-by: Michel Dänzer --- src/gallium/drivers/r600/r600_llvm.c | 12 ------------ src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index e3e7d9f4fff..be8ad155987 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/drivers/r600/r600_llvm.c @@ -72,17 +72,6 @@ static void llvm_load_system_value( LLVMReadNoneAttribute); } -static LLVMValueRef llvm_fetch_system_value( - struct lp_build_tgsi_context * bld_base, - const struct tgsi_full_src_register *reg, - enum tgsi_opcode_type type, - unsigned swizzle) -{ - struct radeon_llvm_context * ctx = radeon_llvm_context(bld_base); - LLVMValueRef cval = ctx->system_values[reg->Register.Index]; - return bitcast(bld_base, type, cval); -} - static LLVMValueRef llvm_load_input_helper( struct radeon_llvm_context * ctx, @@ -530,7 +519,6 @@ LLVMModuleRef r600_tgsi_llvm( bld_base->info = &shader_info; bld_base->userdata = ctx; bld_base->emit_fetch_funcs[TGSI_FILE_CONSTANT] = llvm_fetch_const; - bld_base->emit_fetch_funcs[TGSI_FILE_SYSTEM_VALUE] = llvm_fetch_system_value; bld_base->emit_prologue = llvm_emit_prologue; bld_base->emit_epilogue = llvm_emit_epilogue; ctx->userdata = ctx; diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c index e2a6bee26ac..314c9634fa7 100644 --- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c +++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c @@ -200,6 +200,17 @@ emit_fetch( return bitcast(bld_base, type, result); } +static LLVMValueRef fetch_system_value( + struct lp_build_tgsi_context * bld_base, + const struct tgsi_full_src_register *reg, + enum tgsi_opcode_type type, + unsigned swizzle) +{ + struct radeon_llvm_context * ctx = radeon_llvm_context(bld_base); + LLVMValueRef cval = ctx->system_values[reg->Register.Index]; + return bitcast(bld_base, type, cval); +} + static void emit_declaration( struct lp_build_tgsi_context * bld_base, const struct tgsi_full_declaration *decl) @@ -1153,6 +1164,7 @@ void radeon_llvm_context_init(struct radeon_llvm_context * ctx) bld_base->emit_fetch_funcs[TGSI_FILE_INPUT] = emit_fetch; bld_base->emit_fetch_funcs[TGSI_FILE_TEMPORARY] = emit_fetch; bld_base->emit_fetch_funcs[TGSI_FILE_OUTPUT] = emit_fetch; + bld_base->emit_fetch_funcs[TGSI_FILE_SYSTEM_VALUE] = fetch_system_value; /* Allocate outputs */ ctx->soa.outputs = ctx->outputs;