summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2014-02-04 10:48:42 +1000
committerDave Airlie <[email protected]>2014-02-05 10:49:43 +1000
commitc6cfc54db059310c41d139c4d01929928d031b55 (patch)
treeb4b2404fef2a22c0f91f658dfbc6068a20500221
parentb209afb153c39be1693879ce9666ca18f12b6a37 (diff)
r600g: properly propogate clip dist write value
This moves the value from the GS shader to the copy shader so the registers are setup correctly. fixes tests/spec/glsl-1.50/execution/geometry/clip-distance-out-values.shader_test Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
-rw-r--r--src/gallium/drivers/r600/r600_shader.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 213b1c9db81..755fa91f8ae 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1287,6 +1287,7 @@ static int generate_gs_copy_shader(struct r600_context *rctx,
case TGSI_SEMANTIC_CLIPDIST:
/* spi_sid is 0 for clipdistance outputs that were generated
* for clipvertex - we don't need to pass them to PS */
+ ctx.shader->clip_dist_write = gs->shader.clip_dist_write;
if (out->spi_sid) {
/* duplicate it as PARAM to pass to the pixel shader */
output.array_base = next_param++;