[D3D12] Untile whole mip tail to make alignment assumptions later, other mip fixes

This commit is contained in:
Triang3l
2020-06-23 23:49:42 +03:00
parent bd1a1e2de3
commit d26f84b36b
105 changed files with 15501 additions and 16982 deletions

View File

@@ -41,14 +41,14 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
blocks = XeByteSwap(blocks, xe_texture_load_endianness);
uint3 texel_index_host = block_index << uint3(2u, 2u, 0u);
uint texel_offset_host = XeTextureHostLinearOffset(
texel_index_host, xe_texture_load_size_texels.y,
texel_index_host, xe_texture_load_height_texels,
xe_texture_load_host_pitch, 2u) + xe_texture_load_host_base;
for (uint i = 0u; i < 4u; ++i) {
xe_texture_load_dest.Store4(
texel_offset_host,
XeDXT3AAs1111TwoBlocksRowToBGRA4(
(i >= 2u ? blocks.yw : blocks.xz) >> ((i & 1u) << 4u)));
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
if (++texel_index_host.y >= xe_texture_load_height_texels) {
return;
}
texel_offset_host += xe_texture_load_host_pitch;