Mesa (master): iris: Move iris_resolve_conditional_render to the vtable.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jul 25 18:43:07 UTC 2019
Module: Mesa
Branch: master
Commit: 975f7e4a59ff43a5fdadc08b86f1d4cb23f872ae
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=975f7e4a59ff43a5fdadc08b86f1d4cb23f872ae
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Apr 1 11:46:36 2019 -0700
iris: Move iris_resolve_conditional_render to the vtable.
It's going to be in genxml code shortly.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
---
src/gallium/drivers/iris/iris_clear.c | 4 ++--
src/gallium/drivers/iris/iris_context.h | 3 +--
src/gallium/drivers/iris/iris_query.c | 6 +++++-
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_clear.c b/src/gallium/drivers/iris/iris_clear.c
index 8ed37b68eba..5b2961f8a7d 100644
--- a/src/gallium/drivers/iris/iris_clear.c
+++ b/src/gallium/drivers/iris/iris_clear.c
@@ -216,7 +216,7 @@ fast_clear_color(struct iris_context *ice,
* is not something that should happen often, we stall on the CPU here
* to resolve the predication, and then proceed.
*/
- iris_resolve_conditional_render(ice);
+ ice->vtbl.resolve_conditional_render(ice);
if (ice->state.predicate == IRIS_PREDICATE_STATE_DONT_RENDER)
return;
@@ -462,7 +462,7 @@ fast_clear_depth(struct iris_context *ice,
* even more complex, so the easiest thing to do when the fast clear
* depth is changing is to stall on the CPU and resolve the predication.
*/
- iris_resolve_conditional_render(ice);
+ ice->vtbl.resolve_conditional_render(ice);
if (ice->state.predicate == IRIS_PREDICATE_STATE_DONT_RENDER)
return;
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index 35460445309..5161cb8dd43 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -426,6 +426,7 @@ struct iris_vtable {
void (*rebind_buffer)(struct iris_context *ice,
struct iris_resource *res,
uint64_t old_address);
+ void (*resolve_conditional_render)(struct iris_context *ice);
void (*load_register_reg32)(struct iris_batch *batch, uint32_t dst,
uint32_t src);
void (*load_register_reg64)(struct iris_batch *batch, uint32_t dst,
@@ -862,8 +863,6 @@ void iris_math_add32_gpr0(struct iris_context *ice,
struct iris_batch *batch,
uint32_t x);
-void iris_resolve_conditional_render(struct iris_context *ice);
-
/* iris_resolve.c */
void iris_predraw_resolve_inputs(struct iris_context *ice,
diff --git a/src/gallium/drivers/iris/iris_query.c b/src/gallium/drivers/iris/iris_query.c
index 6cc0bd59a65..08439ed127b 100644
--- a/src/gallium/drivers/iris/iris_query.c
+++ b/src/gallium/drivers/iris/iris_query.c
@@ -1093,7 +1093,7 @@ iris_render_condition(struct pipe_context *ctx,
}
}
-void
+static void
iris_resolve_conditional_render(struct iris_context *ice)
{
struct pipe_context *ctx = (void *) ice;
@@ -1113,6 +1113,8 @@ iris_resolve_conditional_render(struct iris_context *ice)
void
iris_init_query_functions(struct pipe_context *ctx)
{
+ struct iris_context *ice = (void *) ctx;
+
ctx->create_query = iris_create_query;
ctx->destroy_query = iris_destroy_query;
ctx->begin_query = iris_begin_query;
@@ -1121,4 +1123,6 @@ iris_init_query_functions(struct pipe_context *ctx)
ctx->get_query_result_resource = iris_get_query_result_resource;
ctx->set_active_query_state = iris_set_active_query_state;
ctx->render_condition = iris_render_condition;
+
+ ice->vtbl.resolve_conditional_render = iris_resolve_conditional_render;
}
More information about the mesa-commit
mailing list