diff --git a/src/video_core/host_shaders/astc_decoder.comp b/src/video_core/host_shaders/astc_decoder.comp index 08f79d59a1..5796def9db 100644 --- a/src/video_core/host_shaders/astc_decoder.comp +++ b/src/video_core/host_shaders/astc_decoder.comp @@ -798,15 +798,15 @@ int FindLayout(uint mode) { const uint sh3_mode = (mode >> 2) & 3; const uint sh0_mode = ((mode >> 6) & 6) | ((mode >> 5) & 1); const uint fl_const_table = 0 - | ((1) << (2 * 3)) //0080 -> 2, 1 + 5 = 6 - | ((1) << (3 * 3)) - | ((4) << (4 * 3)) //0100 -> 4, 4 + 5 = 9 - | ((4) << (5 * 3)) - | ((2) << (6 * 3)) //0180 -> 6, 2 + 5 = 7 - | ((3) << (7 * 3)) //01a0 -> 7, 3 + 5 = 8 + | ((1) << (2 * 4)) //0080 -> 2, 1 + 5 = 6 + | ((1) << (3 * 4)) + | ((4) << (4 * 4)) //0100 -> 4, 4 + 5 = 9 + | ((4) << (5 * 4)) + | ((2) << (6 * 4)) //0180 -> 6, 2 + 5 = 7 + | ((3) << (7 * 4)) //01a0 -> 7, 3 + 5 = 8 ; const uint if_mode3_t = sh3_mode + uint((mode & 0x10c) == 0x10c); - const uint if_mode3_f = 5 + ((fl_const_table >> (sh0_mode * 3)) & 7); + const uint if_mode3_f = 5 + ((fl_const_table >> (sh0_mode * 4)) & 7); return int((if_mode3_t & mask) | (if_mode3_f & ~mask)); } diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index d57d1568e4..4e85ece38e 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1560,6 +1560,7 @@ Image::Image(TextureCacheRuntime& runtime_, const ImageInfo& info_, GPUVAddr gpu runtime->ViewFormats(info.format))), aspect_mask(ImageAspectMask(info.format)) { if (IsPixelFormatASTC(info.format) && !runtime->device.IsOptimalAstcSupported()) { + ASSERT(info.size.depth == 1 && "image is deeply absurd"); flags |= VideoCommon::ImageFlagBits::AcceleratedUpload; flags |= VideoCommon::ImageFlagBits::Converted; flags |= VideoCommon::ImageFlagBits::CostlyLoad;