diff options
author | Marek Olšák <[email protected]> | 2014-03-06 00:28:14 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-03-11 18:51:20 +0100 |
commit | 61a2fac1996c92c9bfa486723803f9f346c9c9f6 (patch) | |
tree | 036301cb3c14b10b7024a4dc07bf4e3558a04b83 /src/gallium/drivers/radeonsi/si_pipe.h | |
parent | 946d1cfe3948ca18225313b69a6d3f30b949a84b (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.h | 3 |
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; |