summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_context.h
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-09-08 19:43:34 -0700
committerKenneth Graunke <[email protected]>2019-02-21 10:26:08 -0800
commiteff081cdd9524f787339c13433b6b7758be474df (patch)
tree01be69d3985297bff59b39aee741e649d65dad88 /src/gallium/drivers/iris/iris_context.h
parent148e315d9651a9b5f25d166194f7bd2f8cff2440 (diff)
iris: Support multiple binder BOs, update Surface State Base Address
Diffstat (limited to 'src/gallium/drivers/iris/iris_context.h')
-rw-r--r--src/gallium/drivers/iris/iris_context.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h
index f7411727bb0..a01e0d13eb4 100644
--- a/src/gallium/drivers/iris/iris_context.h
+++ b/src/gallium/drivers/iris/iris_context.h
@@ -30,6 +30,7 @@
#include "intel/common/gen_debug.h"
#include "intel/compiler/brw_compiler.h"
#include "iris_batch.h"
+#include "iris_binder.h"
#include "iris_resource.h"
#include "iris_screen.h"
@@ -109,6 +110,13 @@ struct blorp_params;
#define IRIS_DIRTY_VF (1ull << 52)
#define IRIS_DIRTY_VF_TOPOLOGY (1ull << 53)
+#define IRIS_ALL_DIRTY_BINDINGS (IRIS_DIRTY_BINDINGS_VS | \
+ IRIS_DIRTY_BINDINGS_TCS | \
+ IRIS_DIRTY_BINDINGS_TES | \
+ IRIS_DIRTY_BINDINGS_GS | \
+ IRIS_DIRTY_BINDINGS_FS | \
+ IRIS_DIRTY_BINDINGS_CS)
+
/**
* Non-orthogonal state (NOS) dependency flags.
*
@@ -262,6 +270,8 @@ struct iris_vtable {
void (*upload_render_state)(struct iris_context *ice,
struct iris_batch *batch,
const struct pipe_draw_info *draw);
+ void (*update_surface_base_address)(struct iris_batch *batch,
+ struct iris_binder *binder);
void (*emit_raw_pipe_control)(struct iris_batch *batch, uint32_t flags,
struct iris_bo *bo, uint32_t offset,
uint64_t imm);
@@ -382,6 +392,8 @@ struct iris_context {
// "I'm streaming this out at draw time and never want it again!"
struct u_upload_mgr *dynamic_uploader;
+ struct iris_binder binder;
+
struct iris_border_color_pool border_color_pool;
/**