Module: Mesa
Branch: master
Commit: 83df955ca9f331965107c424c2e90f27e9161e3a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=83df955ca9f331965107c424c2e90f27e9161e3a

Author: Christian König <[email protected]>
Date:   Thu Mar 21 17:37:37 2013 +0100

radeon/llvm: move system value fetching to common code

This should be used by both SI and R600.

Signed-off-by: Christian König <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
Tested-by: Michel Dänzer <[email protected]>

---

 src/gallium/drivers/r600/r600_llvm.c               |   12 ------------
 .../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 e3e7d9f..be8ad15 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 e2a6bee..314c963 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;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to