On Tue, 12 Oct 2021 at 23:31, Zebediah Figura zfigura@codeweavers.com wrote:
@@ -413,6 +413,7 @@ static bool wined3d_context_vk_create_slab_bo(struct wined3d_context_vk *context bo->buffer_offset = idx * object_size; bo->b.memory_offset = slab->bo.b.memory_offset + bo->buffer_offset; bo->size = size;
- bo->b.coherent = !!(bo->memory_type & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT);
Is that necessary? I think the "*bo = slab->bo;" line above should already set the "coherent" field correctly.
Note that for GL, the "coherent" field is currently only meaningful for the APPLE_flush_buffer_range path. In particular, we never set MAP_COHERENT_BIT for the ARB_buffer_storage path, and we use MAP_FLUSH_EXPLICIT_BIT for the ARB_map_buffer_range path. That's not necessarily an issue in this patch, but would become an issue in patch 7/7 if we started doing persistent maps with GL.