From: Nicolai Hähnle <nicolai.haeh...@amd.com>

It is only used during shader creation now, so no need to keep it around
afterwards.
---
 src/gallium/drivers/radeonsi/si_shader.c | 10 +++++-----
 src/gallium/drivers/radeonsi/si_shader.h |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c 
b/src/gallium/drivers/radeonsi/si_shader.c
index 1bd617f..6cc435c 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -68,6 +68,7 @@ struct si_shader_context
        struct si_shader *shader;
        struct si_screen *screen;
        unsigned type; /* TGSI_PROCESSOR_* specifies the type of shader. */
+       bool is_gs_copy_shader;
        int param_streamout_config;
        int param_streamout_write_index;
        int param_streamout_offset[4];
@@ -2160,7 +2161,7 @@ static void si_llvm_emit_vs_epilogue(struct 
lp_build_tgsi_context * bld_base)
         * is true.
         */
        if (si_shader_ctx->type == TGSI_PROCESSOR_VERTEX &&
-           !si_shader_ctx->shader->is_gs_copy_shader) {
+           !si_shader_ctx->is_gs_copy_shader) {
                struct lp_build_if_state if_ctx;
                LLVMValueRef cond = NULL;
                LLVMValueRef addr, val;
@@ -3554,7 +3555,7 @@ static void create_function(struct si_shader_context 
*si_shader_ctx)
                        params[SI_PARAM_LS_OUT_LAYOUT] = i32;
                        num_params = SI_PARAM_LS_OUT_LAYOUT+1;
                } else {
-                       if (shader->is_gs_copy_shader) {
+                       if (si_shader_ctx->is_gs_copy_shader) {
                                last_array_pointer = SI_PARAM_CONST_BUFFERS;
                                num_params = SI_PARAM_CONST_BUFFERS+1;
                        } else {
@@ -3827,7 +3828,7 @@ static void preload_ring_buffers(struct si_shader_context 
*si_shader_ctx)
                        build_indexed_load_const(si_shader_ctx, buf_ptr, 
offset);
        }
 
-       if (si_shader_ctx->shader->is_gs_copy_shader) {
+       if (si_shader_ctx->is_gs_copy_shader) {
                LLVMValueRef offset = lp_build_const_int32(gallivm, 
SI_RING_GSVS);
 
                si_shader_ctx->gsvs_ring[0] =
@@ -4075,7 +4076,6 @@ static int si_generate_gs_copy_shader(struct si_screen 
*sscreen,
        struct lp_build_tgsi_context *bld_base = 
&si_shader_ctx->radeon_bld.soa.bld_base;
        struct lp_build_context *base = &bld_base->base;
        struct lp_build_context *uint = &bld_base->uint_bld;
-       struct si_shader *shader = si_shader_ctx->shader;
        struct si_shader_output_values *outputs;
        struct tgsi_shader_info *gsinfo = &gs->selector->info;
        LLVMValueRef args[9];
@@ -4084,7 +4084,7 @@ static int si_generate_gs_copy_shader(struct si_screen 
*sscreen,
        outputs = MALLOC(gsinfo->num_outputs * sizeof(outputs[0]));
 
        si_shader_ctx->type = TGSI_PROCESSOR_VERTEX;
-       shader->is_gs_copy_shader = true;
+       si_shader_ctx->is_gs_copy_shader = true;
 
        radeon_llvm_context_init(&si_shader_ctx->radeon_bld);
 
diff --git a/src/gallium/drivers/radeonsi/si_shader.h 
b/src/gallium/drivers/radeonsi/si_shader.h
index 50375e2..c151207 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -297,7 +297,6 @@ struct si_shader {
        bool                    uses_instanceid;
        unsigned                nr_pos_exports;
        unsigned                nr_param_exports;
-       bool                    is_gs_copy_shader;
        bool                    dx10_clamp_mode; /* convert NaNs to 0 */
 };
 
-- 
2.5.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to