summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pipe.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-03-06 00:28:14 +0100
committerMarek Olšák <[email protected]>2014-03-11 18:51:20 +0100
commit61a2fac1996c92c9bfa486723803f9f346c9c9f6 (patch)
tree036301cb3c14b10b7024a4dc07bf4e3558a04b83 /src/gallium/drivers/radeonsi/si_pipe.h
parent946d1cfe3948ca18225313b69a6d3f30b949a84b (diff)
radeonsi: convert the framebuffer state to atom-based
This looks like r600g. The shared Cayman MSAA code is used here. The real motivation for this is that I need the ability to change values of color registers after the framebuffer state is set. The PM4 state cannot be modified easily after it's generated. With this, I can just change r600_surface::cb_color_xxx and set framebuffer.atom.dirty=true and it's done. Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 3681cdf6592..c66c88e05a4 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -71,7 +71,9 @@ struct si_textures_info {
};
struct si_framebuffer {
+ struct r600_atom atom;
struct pipe_framebuffer_state state;
+ unsigned nr_samples;
unsigned log_samples;
unsigned cb0_is_integer;
unsigned compressed_cb_mask;
@@ -105,6 +107,7 @@ struct si_context {
* updated in memory. */
struct r600_atom *cache_flush;
struct r600_atom *streamout_begin;
+ struct r600_atom *framebuffer;
};
struct r600_atom *array[0];
} atoms;