aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_atom_rasterizer.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-07-25 16:13:57 -0700
committerEric Anholt <[email protected]>2017-10-10 10:45:22 -0700
commite6764348564e2f865f382a81eae3ccfbf957d2fd (patch)
tree17e5dbddee4276d247d7df7fef4946ecfc96a8e4 /src/mesa/state_tracker/st_atom_rasterizer.c
parent087b39a3460e796cee04b754d8cb08251c7a51bc (diff)
mesa: Implement a new GL_MESA_tile_raster_order extension.
The intent is to use this extension on vc4 to allow X11 to do overlapping CopyArea() within a pixmap without first blitting the pixmap to a temporary. With associated glamor patches, improves x11perf -copywinwin100 performance on a Raspberry Pi 3 from ~4700/sec to ~5130/sec, and is an even larger boost to uncomposited window movement performance (most copywinwin100 copies don't overlap). v2: Fix glIsEnabled() on the new enums. v3: Drop the local spec since I'm upstreaming the spec. Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_atom_rasterizer.c')
-rw-r--r--src/mesa/state_tracker/st_atom_rasterizer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_atom_rasterizer.c b/src/mesa/state_tracker/st_atom_rasterizer.c
index 39be6b15a70..4147340fd79 100644
--- a/src/mesa/state_tracker/st_atom_rasterizer.c
+++ b/src/mesa/state_tracker/st_atom_rasterizer.c
@@ -277,6 +277,11 @@ void st_update_rasterizer( struct st_context *st )
/* ST_NEW_RASTERIZER */
raster->rasterizer_discard = ctx->RasterDiscard;
+ if (ctx->TileRasterOrderFixed) {
+ raster->tile_raster_order_fixed = true;
+ raster->tile_raster_order_increasing_x = ctx->TileRasterOrderIncreasingX;
+ raster->tile_raster_order_increasing_y = ctx->TileRasterOrderIncreasingY;
+ }
if (st->edgeflag_culls_prims) {
/* All edge flags are FALSE. Cull the affected faces. */