Browse Source

Up the limit before trying to use the GPU accelerated unswizzle

Removed the system that ignores sparse remaps
pull/3246/head
Forrest Keller 1 month ago
committed by crueter
parent
commit
9e640b28a8
  1. 11
      src/video_core/texture_cache/texture_cache.h

11
src/video_core/texture_cache/texture_cache.h

@ -1099,24 +1099,21 @@ void TextureCache<P>::RefreshContents(Image& image, ImageId image_id) {
image.flags &= ~ImageFlagBits::CpuModified; image.flags &= ~ImageFlagBits::CpuModified;
TrackImage(image, image_id); TrackImage(image, image_id);
// If it's sparse and remapped, we treat it as a partial update trigger
/*// If it's sparse and remapped, we treat it as a partial update trigger
if (image.info.is_sparse && True(image.flags & ImageFlagBits::Remapped)) { if (image.info.is_sparse && True(image.flags & ImageFlagBits::Remapped)) {
image.flags &= ~ImageFlagBits::Remapped; image.flags &= ~ImageFlagBits::Remapped;
if (!image.dirty_offsets.empty() && !image.sparse_bindings.empty()) { if (!image.dirty_offsets.empty() && !image.sparse_bindings.empty()) {
/*constexpr u64 page_size = 64_KiB;
constexpr u64 page_size = 64_KiB;
size_t dirty_size = image.dirty_offsets.size() * page_size; size_t dirty_size = image.dirty_offsets.size() * page_size;
auto staging = runtime.UploadStagingBuffer(dirty_size); auto staging = runtime.UploadStagingBuffer(dirty_size);
UploadSparseDirtyTiles(image, staging); UploadSparseDirtyTiles(image, staging);
runtime.InsertUploadMemoryBarrier(); runtime.InsertUploadMemoryBarrier();
return;*/
image.dirty_offsets.clear();
image.sparse_bindings.clear();
return; return;
} }
}
}*/
if (image.info.num_samples > 1 && !runtime.CanUploadMSAA()) { if (image.info.num_samples > 1 && !runtime.CanUploadMSAA()) {
LOG_WARNING(HW_GPU, "MSAA image uploads are not implemented"); LOG_WARNING(HW_GPU, "MSAA image uploads are not implemented");
@ -1131,7 +1128,7 @@ void TextureCache<P>::RefreshContents(Image& image, ImageId image_id) {
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 &&
MapSizeBytes(image) >= 32_MiB &&
MapSizeBytes(image) >= 128_MiB &&
False(image.flags & ImageFlagBits::GpuModified)) { False(image.flags & ImageFlagBits::GpuModified)) {
QueueAsyncUnswizzle(image, image_id); QueueAsyncUnswizzle(image, image_id);

Loading…
Cancel
Save