summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pipe.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-08-28 21:48:37 +0200
committerMarek Olšák <[email protected]>2015-09-01 21:51:13 +0200
commit8a97528b3a97a430a887e9044b938b349585f4ab (patch)
treea3accaf01e795eb8b4939be1761a5022eee9e0ae /src/gallium/drivers/radeonsi/si_pipe.h
parentf6a10f60b75821c20ce7cf338b519b92ed0330fc (diff)
radeonsi: optimize viewport states
same as scissors Reviewed-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 9060f948971..a1845ba893d 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -135,6 +135,12 @@ struct si_scissors {
struct pipe_scissor_state states[SI_MAX_VIEWPORTS];
};
+struct si_viewports {
+ struct r600_atom atom;
+ unsigned dirty_mask;
+ struct pipe_viewport_state states[SI_MAX_VIEWPORTS];
+};
+
#define SI_NUM_ATOMS(sctx) (sizeof((sctx)->atoms)/sizeof((sctx)->atoms.array[0]))
struct si_context {
@@ -163,6 +169,7 @@ struct si_context {
struct r600_atom *clip_regs;
struct r600_atom *shader_userdata;
struct r600_atom *scissors;
+ struct r600_atom *viewports;
} s;
struct r600_atom *array[0];
} atoms;
@@ -191,6 +198,7 @@ struct si_context {
unsigned border_color_offset;
struct si_scissors scissors;
+ struct si_viewports viewports;
struct r600_atom clip_regs;
struct r600_atom msaa_sample_locs;
struct r600_atom msaa_config;