mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
radv: add missing VkMemoryRangeBarriersInfoKHR from DAC
This is used to declare barrier dependencies for an addr range (because no VkBuffer with DAC). This fixes new dEQP-VK.api.device_address.misc.memory_range_barrier. Fixes:a97c889a7b("radv: implement VK_KHR_device_address_commands") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commitd1a428606e) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41268>
This commit is contained in:
parent
ab91484fb0
commit
94c81f2f60
2 changed files with 16 additions and 1 deletions
|
|
@ -744,7 +744,7 @@
|
|||
"description": "radv: add missing VkMemoryRangeBarriersInfoKHR from DAC",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "a97c889a7b554009bb7c144d62437f35a593ad00",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -15223,6 +15223,21 @@ radv_barrier(struct radv_cmd_buffer *cmd_buffer, uint32_t dep_count, const VkDep
|
|||
}
|
||||
|
||||
has_image_transitions |= dep_info->imageMemoryBarrierCount > 0;
|
||||
|
||||
const VkMemoryRangeBarriersInfoKHR *mem_barriers_info =
|
||||
vk_find_struct_const(dep_info->pNext, MEMORY_RANGE_BARRIERS_INFO_KHR);
|
||||
if (mem_barriers_info) {
|
||||
for (uint32_t i = 0; i < mem_barriers_info->memoryRangeBarrierCount; i++) {
|
||||
const VkMemoryRangeBarrierKHR *barrier = &mem_barriers_info->pMemoryRangeBarriers[i];
|
||||
|
||||
src_stage_mask |= barrier->srcStageMask;
|
||||
src_flush_bits |= radv_get_src_access_flush(cmd_buffer, barrier->srcStageMask, barrier->srcAccessMask, NULL,
|
||||
NULL, barrier->pNext);
|
||||
dst_stage_mask |= barrier->dstStageMask;
|
||||
dst_flush_bits |= radv_get_dst_access_flush(cmd_buffer, barrier->dstStageMask, barrier->dstAccessMask, NULL,
|
||||
NULL, barrier->pNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Only optimize BOTTOM_OF_PIPE/NONE as dst when there is no image layout transitions because it might
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue