summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_context.h
diff options
context:
space:
mode:
authorRafael Antognolli <[email protected]>2019-03-06 16:59:44 -0800
committerRafael Antognolli <[email protected]>2019-03-20 16:46:25 -0700
commitce830a364e0aec8c9769729162bfe7501feb028b (patch)
treec7b430aa32ed52d988c676ed3a2288f774e696d2 /src/gallium/drivers/iris/iris_context.h
parent131b42f0aa574cc654c5970ba48c4d1896f6d502 (diff)
iris: Add iris_resolve_conditional_render().
This function can be used to stall on the CPU and resolve the predicate for the conditional render. It will convert ice->state.predicate from IRIS_PREDICATE_STATE_USE_BIT to either IRIS_PREDICATE_STATE_RENDER or IRIS_PREDICATE_STATE_DONT_RENDER, depending on the result of the query. v2: - return void (Ken) - update the stored condition (Ken) - simplify the code leading to resolve the predicate (Ken) Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/iris/iris_context.h')
-rw-r--r--src/gallium/drivers/iris/iris_context.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index 8f91d28446f..f3a5bdb7eb8 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -515,6 +515,11 @@ struct iris_context {
} shaders;
struct {
+ struct iris_query *query;
+ bool condition;
+ } condition;
+
+ struct {
uint64_t dirty;
uint64_t dirty_for_nos[IRIS_NOS_COUNT];
@@ -781,6 +786,7 @@ void iris_math_div32_gpr0(struct iris_context *ice,
uint64_t iris_timebase_scale(const struct gen_device_info *devinfo,
uint64_t gpu_timestamp);
+void iris_resolve_conditional_render(struct iris_context *ice);
/* iris_resolve.c */