iris: Some tidying for preemption support

Just enable it during init_render_context on Gen10+, and move the
Gen9 state tracking into iris_genx_state so it only exists on Gen9.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
This commit is contained in:
Kenneth Graunke
2019-04-24 16:43:36 -07:00
parent 383f406591
commit aa7306b4cf
4 changed files with 102 additions and 98 deletions

View File

@@ -542,8 +542,6 @@ struct iris_context {
/** Bitfield of which vertex buffers are bound (non-null). */
uint64_t bound_vertex_buffers;
bool object_preemption; /**< Object level preemption enabled. */
bool primitive_restart;
unsigned cut_index;
enum pipe_prim_type prim_mode:8;
@@ -819,6 +817,7 @@ void iris_cache_flush_for_depth(struct iris_batch *batch, struct iris_bo *bo);
void iris_depth_cache_add_bo(struct iris_batch *batch, struct iris_bo *bo);
/* iris_state.c */
void gen9_iris_enable_obj_preemption(struct iris_context *ice, struct iris_batch *batch, bool enable);
void gen10_iris_enable_obj_preemption(struct iris_context *ice, struct iris_batch *batch, bool enable);
void gen9_toggle_preemption(struct iris_context *ice,
struct iris_batch *batch,
const struct pipe_draw_info *draw);
#endif