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

---
 src/gallium/drivers/radeonsi/si_state_shaders.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c 
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index e4ceb3b..3269468 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -433,23 +433,23 @@ static void si_shader_es(struct si_screen *sscreen, 
struct si_shader *shader)
                       
S_00B32C_SCRATCH_EN(shader->config.scratch_bytes_per_wave > 0));
 
        if (shader->selector->type == PIPE_SHADER_TESS_EVAL)
                si_set_tesseval_regs(sscreen, shader, pm4);
 }
 
 /**
  * Calculate the appropriate setting of VGT_GS_MODE when \p shader is a
  * geometry shader.
  */
-static uint32_t si_vgt_gs_mode(struct si_shader *shader)
+static uint32_t si_vgt_gs_mode(struct si_shader_selector *sel)
 {
-       unsigned gs_max_vert_out = shader->selector->gs_max_out_vertices;
+       unsigned gs_max_vert_out = sel->gs_max_out_vertices;
        unsigned cut_mode;
 
        if (gs_max_vert_out <= 128) {
                cut_mode = V_028A40_GS_CUT_128;
        } else if (gs_max_vert_out <= 256) {
                cut_mode = V_028A40_GS_CUT_256;
        } else if (gs_max_vert_out <= 512) {
                cut_mode = V_028A40_GS_CUT_512;
        } else {
                assert(gs_max_vert_out <= 1024);
@@ -471,21 +471,21 @@ static void si_shader_gs(struct si_shader *shader)
        uint64_t va;
        unsigned max_stream = shader->selector->max_gs_stream;
 
        /* The GSVS_RING_ITEMSIZE register takes 15 bits */
        assert(gsvs_itemsize < (1 << 15));
 
        pm4 = si_get_shader_pm4_state(shader);
        if (!pm4)
                return;
 
-       si_pm4_set_reg(pm4, R_028A40_VGT_GS_MODE, si_vgt_gs_mode(shader));
+       si_pm4_set_reg(pm4, R_028A40_VGT_GS_MODE, 
si_vgt_gs_mode(shader->selector));
 
        si_pm4_set_reg(pm4, R_028A60_VGT_GSVS_RING_OFFSET_1, gsvs_itemsize);
        si_pm4_set_reg(pm4, R_028A64_VGT_GSVS_RING_OFFSET_2, gsvs_itemsize * 
((max_stream >= 2) ? 2 : 1));
        si_pm4_set_reg(pm4, R_028A68_VGT_GSVS_RING_OFFSET_3, gsvs_itemsize * 
((max_stream >= 3) ? 3 : 1));
 
        si_pm4_set_reg(pm4, R_028AB0_VGT_GSVS_RING_ITEMSIZE, gsvs_itemsize * 
(max_stream + 1));
 
        si_pm4_set_reg(pm4, R_028B38_VGT_GS_MAX_VERT_OUT, 
shader->selector->gs_max_out_vertices);
 
        si_pm4_set_reg(pm4, R_028B5C_VGT_GS_VERT_ITEMSIZE, gs_vert_itemsize >> 
2);
-- 
2.7.4

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

Reply via email to