iris: fix conditional compute, don't stomp predicate for pipelined queries

This commit is contained in:
Kenneth Graunke
2018-11-27 15:30:16 -08:00
parent 40b12c103c
commit 761a5fb36a
6 changed files with 90 additions and 67 deletions

View File

@@ -430,7 +430,6 @@ struct iris_context {
struct iris_bo *scratch_bos[1 << 4][MESA_SHADER_STAGES];
} shaders;
enum iris_predicate_state predicate;
struct {
uint64_t dirty;
uint64_t dirty_for_nos[IRIS_NOS_COUNT];
@@ -483,6 +482,15 @@ struct iris_context {
bool statistics_counters_enabled;
/** Current conditional rendering mode */
enum iris_predicate_state predicate;
/**
* Query BO with a MI_PREDICATE_DATA snapshot calculated on the
* render context that needs to be uploaded to the compute context.
*/
struct iris_bo *compute_predicate;
/** Is a PIPE_QUERY_PRIMITIVES_GENERATED query active? */
bool prims_generated_query_active;