mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 05:51:27 +12:00
vk: Obey safe/unsafe hint for D16F emulation
This commit is contained in:
parent
8408d51359
commit
04c0f309be
1 changed files with 11 additions and 2 deletions
|
@ -633,7 +633,7 @@ namespace vk
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Ampere GPUs don't like the direct transfer hack above
|
// Ampere GPUs don't like the direct transfer hack above
|
||||||
stretch_image_typeless_safe(src, dst, typeless, src_rect, dst_rect, VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_DEPTH_BIT);
|
stretch_image_typeless_safe(src, dst, typeless, src_rect, dst_rect, VK_IMAGE_ASPECT_DEPTH_BIT);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -641,12 +641,21 @@ namespace vk
|
||||||
{
|
{
|
||||||
auto typeless = vk::get_typeless_helper(VK_FORMAT_R32_SFLOAT, RSX_FORMAT_CLASS_COLOR, typeless_w, typeless_h);
|
auto typeless = vk::get_typeless_helper(VK_FORMAT_R32_SFLOAT, RSX_FORMAT_CLASS_COLOR, typeless_w, typeless_h);
|
||||||
change_image_layout(cmd, typeless, VK_IMAGE_LAYOUT_GENERAL);
|
change_image_layout(cmd, typeless, VK_IMAGE_LAYOUT_GENERAL);
|
||||||
|
|
||||||
|
if (use_unsafe_transport)
|
||||||
|
{
|
||||||
stretch_image_typeless_unsafe(src, dst, typeless, src_rect, dst_rect, VK_IMAGE_ASPECT_DEPTH_BIT);
|
stretch_image_typeless_unsafe(src, dst, typeless, src_rect, dst_rect, VK_IMAGE_ASPECT_DEPTH_BIT);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stretch_image_typeless_safe(src, dst, typeless, src_rect, dst_rect, VK_IMAGE_ASPECT_DEPTH_BIT);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_FORMAT_D24_UNORM_S8_UINT:
|
case VK_FORMAT_D24_UNORM_S8_UINT:
|
||||||
{
|
{
|
||||||
const VkImageAspectFlags depth_stencil = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT;
|
const VkImageAspectFlags depth_stencil = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT;
|
||||||
|
|
||||||
if (use_unsafe_transport)
|
if (use_unsafe_transport)
|
||||||
{
|
{
|
||||||
auto typeless = vk::get_typeless_helper(VK_FORMAT_B8G8R8A8_UNORM, RSX_FORMAT_CLASS_COLOR, typeless_w, typeless_h);
|
auto typeless = vk::get_typeless_helper(VK_FORMAT_B8G8R8A8_UNORM, RSX_FORMAT_CLASS_COLOR, typeless_w, typeless_h);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue