mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-01-30 12:32:43 +00:00
rsx: Fix framebuffer native layout for X32_FLOAT
- It was not matching the order laid out for normal textures uploaded from CPU.
This commit is contained in:
parent
84a542fbce
commit
8214425a3c
@ -54,7 +54,8 @@ color_format rsx::internals::surface_color_format_to_gl(rsx::surface_color_forma
|
||||
{ ::gl::texture::channel::g, ::gl::texture::channel::r, ::gl::texture::channel::g, ::gl::texture::channel::r } };
|
||||
|
||||
case rsx::surface_color_format::x32:
|
||||
return{ ::gl::texture::type::f32, ::gl::texture::format::r, ::gl::texture::internal_format::r32f, true};
|
||||
return{ ::gl::texture::type::f32, ::gl::texture::format::r, ::gl::texture::internal_format::r32f, true,
|
||||
{ ::gl::texture::channel::r, ::gl::texture::channel::r, ::gl::texture::channel::r, ::gl::texture::channel::r } };
|
||||
|
||||
case rsx::surface_color_format::a8b8g8r8:
|
||||
return{ ::gl::texture::type::uint_8_8_8_8, ::gl::texture::format::rgba, ::gl::texture::internal_format::rgba8, false,
|
||||
|
@ -104,18 +104,21 @@ namespace vk
|
||||
|
||||
case rsx::surface_color_format::b8:
|
||||
{
|
||||
VkComponentMapping no_alpha = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_ONE };
|
||||
const VkComponentMapping no_alpha = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_ONE };
|
||||
return std::make_pair(VK_FORMAT_R8_UNORM, no_alpha);
|
||||
}
|
||||
|
||||
case rsx::surface_color_format::g8b8:
|
||||
{
|
||||
VkComponentMapping gb_rg = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G };
|
||||
const VkComponentMapping gb_rg = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G };
|
||||
return std::make_pair(VK_FORMAT_R8G8_UNORM, gb_rg);
|
||||
}
|
||||
|
||||
case rsx::surface_color_format::x32:
|
||||
return std::make_pair(VK_FORMAT_R32_SFLOAT, vk::default_component_map());
|
||||
{
|
||||
const VkComponentMapping rrrr = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_R };
|
||||
return std::make_pair(VK_FORMAT_R32_SFLOAT, rrrr);
|
||||
}
|
||||
|
||||
default:
|
||||
rsx_log.error("Surface color buffer: Unsupported surface color format (0x%x)", static_cast<u32>(color_format));
|
||||
|
Loading…
x
Reference in New Issue
Block a user