Fixup for dst_stage

This commit is contained in:
kd-11 2022-08-19 13:35:53 +03:00 committed by kd-11
parent ad1b007dd1
commit a401a192b8

View file

@ -41,7 +41,11 @@ namespace vk
} }
} }
void validate_image_layout_for_read_access(vk::command_buffer& cmd, vk::image_view* view, const rsx::sampled_image_descriptor_base* sampler_state) void validate_image_layout_for_read_access(
vk::command_buffer& cmd,
vk::image_view* view,
VkPipelineStageFlags dst_stage,
const rsx::sampled_image_descriptor_base* sampler_state)
{ {
switch (auto raw = view->image(); raw->current_layout) switch (auto raw = view->image(); raw->current_layout)
{ {
@ -80,7 +84,7 @@ namespace vk
cmd, cmd,
raw->value, raw->value,
raw->current_layout, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, raw->current_layout, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
src_stage, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, src_stage, dst_stage,
src_access, VK_ACCESS_SHADER_READ_BIT, src_access, VK_ACCESS_SHADER_READ_BIT,
{ raw->aspect(), 0, 1, 0, 1 }); { raw->aspect(), 0, 1, 0, 1 });
@ -477,7 +481,7 @@ bool VKGSRender::bind_texture_env()
} }
else else
{ {
validate_image_layout_for_read_access(*m_current_command_buffer, view, sampler_state); validate_image_layout_for_read_access(*m_current_command_buffer, view, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, sampler_state);
} }
} }
@ -571,7 +575,7 @@ bool VKGSRender::bind_texture_env()
continue; continue;
} }
validate_image_layout_for_read_access(*m_current_command_buffer, image_ptr, sampler_state); validate_image_layout_for_read_access(*m_current_command_buffer, image_ptr, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, sampler_state);
m_program->bind_uniform({ vs_sampler_handles[i]->value, image_ptr->value, image_ptr->image()->current_layout }, m_program->bind_uniform({ vs_sampler_handles[i]->value, image_ptr->value, image_ptr->image()->current_layout },
i, i,
@ -639,7 +643,7 @@ bool VKGSRender::bind_interpreter_texture_env()
} }
else else
{ {
validate_image_layout_for_read_access(*m_current_command_buffer, view, sampler_state); validate_image_layout_for_read_access(*m_current_command_buffer, view, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, sampler_state);
} }
} }