RasterizerMemory: Add filtering for flushing/invalidation operations.

This commit is contained in:
Fernando Sahmkow 2022-11-20 03:07:14 +01:00
parent 2793304117
commit 3630bfaef3
14 changed files with 189 additions and 96 deletions

View file

@ -740,7 +740,8 @@ void TextureCache<P>::UploadImageContents(Image& image, StagingBuffer& staging)
const GPUVAddr gpu_addr = image.gpu_addr;
if (True(image.flags & ImageFlagBits::AcceleratedUpload)) {
gpu_memory->ReadBlockUnsafe(gpu_addr, mapped_span.data(), mapped_span.size_bytes());
gpu_memory->ReadBlock(gpu_addr, mapped_span.data(), mapped_span.size_bytes(),
VideoCommon::CacheType::NoTextureCache);
const auto uploads = FullUploadSwizzles(image.info);
runtime.AccelerateImageUpload(image, staging, uploads);
return;

View file

@ -203,7 +203,7 @@ public:
/// Create channel state.
void CreateChannel(Tegra::Control::ChannelState& channel) final override;
std::mutex mutex;
std::recursive_mutex mutex;
private:
/// Iterate over all page indices in a range