diff --git a/rpcs3/Emu/RSX/GL/GLTexture.cpp b/rpcs3/Emu/RSX/GL/GLTexture.cpp index 809c9dd3e7..9e3a11eca7 100644 --- a/rpcs3/Emu/RSX/GL/GLTexture.cpp +++ b/rpcs3/Emu/RSX/GL/GLTexture.cpp @@ -319,6 +319,14 @@ namespace rsx std::vector staging_buffer) { int mip_level = 0; + if (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); + } + if (dim == rsx::texture_dimension_extended::texture_dimension_1d) { __glcheck glTexStorage1D(GL_TEXTURE_1D, mipmap_count, ::gl::get_sized_internal_format(format), width);