diff options
Diffstat (limited to 'src/intel/blorp')
-rw-r--r-- | src/intel/blorp/blorp_genX_exec.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h index 2276d7c06bb..7c8a9416c58 100644 --- a/src/intel/blorp/blorp_genX_exec.h +++ b/src/intel/blorp/blorp_genX_exec.h @@ -27,6 +27,7 @@ #include "blorp_priv.h" #include "common/gen_device_info.h" #include "common/gen_sample_positions.h" +#include "genxml/gen_macros.h" /** * This file provides the blorp pipeline setup and execution functionality. @@ -59,6 +60,11 @@ static void * blorp_alloc_vertex_buffer(struct blorp_batch *batch, uint32_t size, struct blorp_address *addr); +#if GEN_GEN >= 8 +static struct blorp_address +blorp_get_workaround_page(struct blorp_batch *batch); +#endif + static void blorp_alloc_binding_table(struct blorp_batch *batch, unsigned num_entries, unsigned state_size, unsigned state_alignment, @@ -82,8 +88,6 @@ blorp_emit_pipeline(struct blorp_batch *batch, /***** BEGIN blorp_exec implementation ******/ -#include "genxml/gen_macros.h" - static uint64_t _blorp_combine_address(struct blorp_batch *batch, void *location, struct blorp_address address, uint32_t delta) @@ -1497,6 +1501,7 @@ blorp_emit_gen8_hiz_op(struct blorp_batch *batch, */ blorp_emit(batch, GENX(PIPE_CONTROL), pc) { pc.PostSyncOperation = WriteImmediateData; + pc.Address = blorp_get_workaround_page(batch); } blorp_emit(batch, GENX(3DSTATE_WM_HZ_OP), hzp); |