diff options
author | Jason Ekstrand <[email protected]> | 2017-02-20 11:03:04 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-02-21 12:26:35 -0800 |
commit | 075ed20614e91110322aadff44dbd4c1ca2422e8 (patch) | |
tree | 6fcf79e2bdf8e5ae2ac8a9a1e0ff62ea201e690b /src/intel/vulkan | |
parent | b6b03329afc4755399d830f34c399a36a1097aaf (diff) |
intel/blorp: Explicitly flush all allocated state
Found by inspection. However, I expect it fixes real bugs when using
blorp from Vulkan on little-core platforms.
Reviewed-by: Lionel Landwerlin <[email protected]>
Cc: "13.0 17.0" <[email protected]>
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/genX_blorp_exec.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/intel/vulkan/genX_blorp_exec.c b/src/intel/vulkan/genX_blorp_exec.c index 6f0b0638973..139c3872168 100644 --- a/src/intel/vulkan/genX_blorp_exec.c +++ b/src/intel/vulkan/genX_blorp_exec.c @@ -100,6 +100,9 @@ blorp_alloc_binding_table(struct blorp_batch *batch, unsigned num_entries, surface_offsets[i] = surface_state.offset; surface_maps[i] = surface_state.map; } + + if (!cmd_buffer->device->info.has_llc) + anv_state_clflush(bt_state); } static void * @@ -119,6 +122,14 @@ blorp_alloc_vertex_buffer(struct blorp_batch *batch, uint32_t size, } static void +blorp_flush_range(struct blorp_batch *batch, void *start, size_t size) +{ + struct anv_device *device = batch->blorp->driver_ctx; + if (!device->info.has_llc) + anv_clflush_range(start, size); +} + +static void blorp_emit_urb_config(struct blorp_batch *batch, unsigned vs_entry_size) { struct anv_device *device = batch->blorp->driver_ctx; |