summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 9550e9e0bae..de73bd8ee68 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -86,6 +86,12 @@ struct r600_atom_db_misc_state {
bool flush_depthstencil_enabled;
};
+struct r600_atom_eg_strmout_config {
+ struct r600_atom atom;
+ bool rasterizer_discard;
+ bool stream0_enable;
+};
+
enum r600_pipe_state_id {
R600_PIPE_STATE_BLEND = 0,
R600_PIPE_STATE_BLEND_COLOR,
@@ -153,6 +159,7 @@ struct r600_pipe_rasterizer {
float offset_units;
float offset_scale;
bool scissor_enable;
+ bool rasterizer_discard;
};
struct r600_pipe_blend {
@@ -294,6 +301,7 @@ struct r600_context {
struct r600_atom_surface_sync atom_surface_sync;
struct r600_atom atom_r6xx_flush_and_inv;
struct r600_atom_db_misc_state atom_db_misc_state;
+ struct r600_atom_eg_strmout_config atom_eg_strmout_config;
/* Below are variables from the old r600_context.
*/
@@ -384,6 +392,7 @@ boolean evergreen_is_format_supported(struct pipe_screen *screen,
enum pipe_texture_target target,
unsigned sample_count,
unsigned usage);
+void evergreen_set_rasterizer_discard(struct pipe_context *ctx, boolean discard);
/* r600_blit.c */
void r600_init_blit_functions(struct r600_context *rctx);