summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-02-20 11:03:04 -0800
committerJason Ekstrand <[email protected]>2017-02-21 12:26:35 -0800
commit075ed20614e91110322aadff44dbd4c1ca2422e8 (patch)
tree6fcf79e2bdf8e5ae2ac8a9a1e0ff62ea201e690b /src/intel/vulkan
parentb6b03329afc4755399d830f34c399a36a1097aaf (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.c11
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;