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:
kd-11 2019-10-25 18:32:36 +03:00 committed by kd-11
parent 69e9ee26f6
commit d04241ad25
2 changed files with 3 additions and 8 deletions

View File

@ -1756,9 +1756,7 @@ namespace rsx
if (options.is_compressed_format)
{
attributes.width = align(attributes.width, 4);
attributes.height = align(attributes.height, 4);
// Compressed textures cannot be 1D in some APIs
extended_dimension = std::max(extended_dimension, rsx::texture_dimension_extended::texture_dimension_2d);
}

View File

@ -466,12 +466,9 @@ namespace gl
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;
unpack_settings.row_length(align(width, 4));
unpack_settings.apply();
for (const rsx_subresource_layout& layout : input_layouts)