summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_context.h
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-12-07 18:13:07 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:12 -0800
commit3c979b0e6d9e4d7a880cebcee514238ecb6baf61 (patch)
tree1b83a4598fbbb13ae8251b3d7faaf98e683584d0 /src/gallium/drivers/iris/iris_context.h
parent53c484ba8acdce11224e98a1d15e5619b8fcb554 (diff)
iris: add some draw resolve hooks
Diffstat (limited to 'src/gallium/drivers/iris/iris_context.h')
-rw-r--r--src/gallium/drivers/iris/iris_context.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index 13dd091ded8..1f8e000bd67 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -503,6 +503,12 @@ struct iris_context {
/** Reference to the SURFACE_STATE for the compute grid resource */
struct iris_state_ref grid_surf_state;
+ /**
+ * Array of aux usages for drawing, altered to account for any
+ * self-dependencies from resources bound for sampling and rendering.
+ */
+ enum isl_aux_usage draw_aux_usage[BRW_MAX_DRAW_BUFFERS];
+
/** Bitfield of whether color blending is enabled for RT[i] */
uint8_t blend_enables;
@@ -697,10 +703,13 @@ uint64_t iris_timebase_scale(const struct gen_device_info *devinfo,
/* iris_resolve.c */
-void iris_predraw_resolve_inputs(struct iris_batch *batch,
- struct iris_shader_state *shs);
+void iris_predraw_resolve_inputs(struct iris_context *ice,
+ struct iris_batch *batch,
+ struct iris_shader_state *shs,
+ bool *draw_aux_buffer_disabled);
void iris_predraw_resolve_framebuffer(struct iris_context *ice,
- struct iris_batch *batch);
+ struct iris_batch *batch,
+ bool *draw_aux_buffer_disabled);
void iris_postdraw_update_resolve_tracking(struct iris_context *ice,
struct iris_batch *batch);
void iris_cache_sets_clear(struct iris_batch *batch);