[Mesa-dev] [PATCH 28/31] radeonsi: si_shader_vs only depends on the GS selector

Nicolai Hähnle nhaehnle at gmail.com
Mon Oct 31 22:11:15 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

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

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 3269468..537c673 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -513,21 +513,21 @@ static void si_shader_gs(struct si_shader *shader)
 }
 
 /**
  * Compute the state for \p shader, which will run as a vertex shader on the
  * hardware.
  *
  * If \p gs is non-NULL, it points to the geometry shader for which this shader
  * is the copy shader.
  */
 static void si_shader_vs(struct si_screen *sscreen, struct si_shader *shader,
-                         struct si_shader *gs)
+                         struct si_shader_selector *gs)
 {
 	struct si_pm4_state *pm4;
 	unsigned num_user_sgprs;
 	unsigned nparams, vgpr_comp_cnt;
 	uint64_t va;
 	unsigned oc_lds_en;
 	unsigned window_space =
 	   shader->selector->info.properties[TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION];
 	bool enable_prim_id = si_vs_exports_prim_id(shader);
 
@@ -825,21 +825,21 @@ static void si_shader_init_pm4_state(struct si_screen *sscreen,
 		si_shader_hs(shader);
 		break;
 	case PIPE_SHADER_TESS_EVAL:
 		if (shader->key.tes.as_es)
 			si_shader_es(sscreen, shader);
 		else
 			si_shader_vs(sscreen, shader, NULL);
 		break;
 	case PIPE_SHADER_GEOMETRY:
 		si_shader_gs(shader);
-		si_shader_vs(sscreen, shader->gs_copy_shader, shader);
+		si_shader_vs(sscreen, shader->gs_copy_shader, shader->selector);
 		break;
 	case PIPE_SHADER_FRAGMENT:
 		si_shader_ps(shader);
 		break;
 	default:
 		assert(0);
 	}
 }
 
 static unsigned si_get_alpha_test_func(struct si_context *sctx)
-- 
2.7.4



More information about the mesa-dev mailing list