diff options
author | Kenneth Graunke <[email protected]> | 2018-09-08 19:43:34 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:08 -0800 |
commit | eff081cdd9524f787339c13433b6b7758be474df (patch) | |
tree | 01be69d3985297bff59b39aee741e649d65dad88 /src/gallium/drivers/iris/iris_context.h | |
parent | 148e315d9651a9b5f25d166194f7bd2f8cff2440 (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.h | 12 |
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; /** |