mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-07 15:31:26 +12:00
rsx: Allow compressed textures to be unaligned in size
- Align based on row length but let the texture itself be of arbitrary dimensions
This commit is contained in:
parent
69e9ee26f6
commit
d04241ad25
2 changed files with 3 additions and 8 deletions
|
@ -1756,9 +1756,7 @@ namespace rsx
|
||||||
|
|
||||||
if (options.is_compressed_format)
|
if (options.is_compressed_format)
|
||||||
{
|
{
|
||||||
attributes.width = align(attributes.width, 4);
|
// Compressed textures cannot be 1D in some APIs
|
||||||
attributes.height = align(attributes.height, 4);
|
|
||||||
|
|
||||||
extended_dimension = std::max(extended_dimension, rsx::texture_dimension_extended::texture_dimension_2d);
|
extended_dimension = std::max(extended_dimension, rsx::texture_dimension_extended::texture_dimension_2d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -466,12 +466,9 @@ namespace gl
|
||||||
|
|
||||||
if (LIKELY(is_compressed_format(format)))
|
if (LIKELY(is_compressed_format(format)))
|
||||||
{
|
{
|
||||||
//Compressed formats have a 4-byte alignment
|
|
||||||
//TODO: Verify that samplers are not affected by the padding
|
|
||||||
width = align(width, 4);
|
|
||||||
height = align(height, 4);
|
|
||||||
|
|
||||||
caps.supports_vtc_decoding = gl::get_driver_caps().vendor_NVIDIA;
|
caps.supports_vtc_decoding = gl::get_driver_caps().vendor_NVIDIA;
|
||||||
|
|
||||||
|
unpack_settings.row_length(align(width, 4));
|
||||||
unpack_settings.apply();
|
unpack_settings.apply();
|
||||||
|
|
||||||
for (const rsx_subresource_layout& layout : input_layouts)
|
for (const rsx_subresource_layout& layout : input_layouts)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue