|
|
@ -80,6 +80,9 @@ TextureCache<P>::TextureCache(Runtime& runtime_, Tegra::MaxwellDeviceMemoryManag |
|
|
lowmemorydevice = true; |
|
|
lowmemorydevice = true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const bool gpu_unswizzle_enabled = Settings::values.gpu_unswizzle_enabled.GetValue(); |
|
|
|
|
|
|
|
|
|
|
|
if (gpu_unswizzle_enabled) { |
|
|
switch (Settings::values.gpu_unswizzle_texture_size.GetValue()) { |
|
|
switch (Settings::values.gpu_unswizzle_texture_size.GetValue()) { |
|
|
case Settings::GpuUnswizzleSize::VerySmall: gpu_unswizzle_maxsize = 16_MiB; break; |
|
|
case Settings::GpuUnswizzleSize::VerySmall: gpu_unswizzle_maxsize = 16_MiB; break; |
|
|
case Settings::GpuUnswizzleSize::Small: gpu_unswizzle_maxsize = 32_MiB; break; |
|
|
case Settings::GpuUnswizzleSize::Small: gpu_unswizzle_maxsize = 32_MiB; break; |
|
|
@ -106,6 +109,11 @@ TextureCache<P>::TextureCache(Runtime& runtime_, Tegra::MaxwellDeviceMemoryManag |
|
|
case Settings::GpuUnswizzleChunk::High: swizzle_slices_per_batch = 512; break; |
|
|
case Settings::GpuUnswizzleChunk::High: swizzle_slices_per_batch = 512; break; |
|
|
default: swizzle_slices_per_batch = 128; |
|
|
default: swizzle_slices_per_batch = 128; |
|
|
} |
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
gpu_unswizzle_maxsize = 0; |
|
|
|
|
|
swizzle_chunk_size = 0; |
|
|
|
|
|
swizzle_slices_per_batch = 0; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
template <class P> |
|
|
template <class P> |
|
|
@ -1161,7 +1169,11 @@ void TextureCache<P>::RefreshContents(Image& image, ImageId image_id) { |
|
|
QueueAsyncDecode(image, image_id); |
|
|
QueueAsyncDecode(image, image_id); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (IsPixelFormatBCn(image.info.format) && |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const bool gpu_unswizzle_enabled = Settings::values.gpu_unswizzle_enabled.GetValue(); |
|
|
|
|
|
|
|
|
|
|
|
if (gpu_unswizzle_enabled && |
|
|
|
|
|
IsPixelFormatBCn(image.info.format) && |
|
|
image.info.type == ImageType::e3D && |
|
|
image.info.type == ImageType::e3D && |
|
|
image.info.resources.levels == 1 && |
|
|
image.info.resources.levels == 1 && |
|
|
image.info.resources.layers == 1 && |
|
|
image.info.resources.layers == 1 && |
|
|
|