dzn: Change dst image layout according to aspect
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26532>
This commit is contained in:
@@ -2900,13 +2900,15 @@ dzn_cmd_buffer_blit_issue_barriers(struct dzn_cmd_buffer *cmdbuf,
|
||||
D3D12_BARRIER_LAYOUT_RENDER_TARGET,
|
||||
&dst_range);
|
||||
} else {
|
||||
VkImageLayout dst_new_layout = (aspect & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) ?
|
||||
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
||||
dzn_cmd_buffer_queue_image_range_layout_transition(cmdbuf, src, &src_range,
|
||||
src_layout,
|
||||
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
|
||||
DZN_QUEUE_TRANSITION_FLUSH);
|
||||
dzn_cmd_buffer_queue_image_range_layout_transition(cmdbuf, dst, &dst_range,
|
||||
dst_layout,
|
||||
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
|
||||
dst_new_layout,
|
||||
DZN_QUEUE_TRANSITION_FLUSH);
|
||||
}
|
||||
} else {
|
||||
@@ -2916,12 +2918,14 @@ dzn_cmd_buffer_blit_issue_barriers(struct dzn_cmd_buffer *cmdbuf,
|
||||
D3D12_BARRIER_LAYOUT_RENDER_TARGET, *restore_dst_layout,
|
||||
&dst_range);
|
||||
} else {
|
||||
VkImageLayout dst_new_layout = (aspect & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) ?
|
||||
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
||||
dzn_cmd_buffer_queue_image_range_layout_transition(cmdbuf, src, &src_range,
|
||||
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
|
||||
src_layout,
|
||||
DZN_QUEUE_TRANSITION_FLUSH);
|
||||
dzn_cmd_buffer_queue_image_range_layout_transition(cmdbuf, dst, &dst_range,
|
||||
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
|
||||
dst_new_layout,
|
||||
dst_layout,
|
||||
DZN_QUEUE_TRANSITION_FLUSH);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user