summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-02-26 13:17:53 +0100
committerMarek Olšák <[email protected]>2012-03-05 14:22:19 +0100
commitaacd653834264b70a2537aff7914762b39f0683f (patch)
tree86e47810dadf569771f950b72051a494431349be /src/gallium/drivers/r600/r600_pipe.c
parent2881d456a5dd267bf2291532c9d95b1d48e93c08 (diff)
r600g: rework scissor for r600-r700
We must use VPORT_SCISSOR, because that's the only one we can use for multiple scissor rectangles in ARB_viewport_array. R700 can use the VPORT_SCISSOR_ENABLE bit, but R600 doesn't have that and must emit a 8192x8192 rectangle if scissor is disabled. This commit also cleanups magic numbers in create_rs_state. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index fe801aba19f..3f03f2aba82 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -310,6 +310,9 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
r600_get_backend_mask(rctx); /* this emits commands and must be last */
+ if (rctx->chip_class == R600)
+ r600_set_max_scissor(rctx);
+
return &rctx->context;
fail: