2
1
Fork 0
mirror of https://github.com/yuzu-emu/yuzu.git synced 2024-07-04 23:31:19 +01:00

texture_cache: Fix incorrect logic for AccelerateDMA

This commit is contained in:
ameerj 2023-06-02 18:07:34 -04:00
parent 9d7131bc82
commit 1fc47361a1

View file

@ -850,15 +850,11 @@ void TextureCache<P>::PopAsyncFlushes() {
template <class P> template <class P>
ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload) { ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload) {
const ImageInfo dst_info(operand); const ImageInfo dst_info(operand);
const ImageId dst_id = FindDMAImage(dst_info, operand.address); const ImageId image_id = FindDMAImage(dst_info, operand.address);
if (!dst_id) { if (!image_id) {
return NULL_IMAGE_ID;
}
auto& image = slot_images[dst_id];
if (False(image.flags & ImageFlagBits::GpuModified)) {
// No need to waste time on an image that's synced with guest
return NULL_IMAGE_ID; return NULL_IMAGE_ID;
} }
auto& image = slot_images[image_id];
if (!is_upload && !image.info.dma_downloaded) { if (!is_upload && !image.info.dma_downloaded) {
// Force a full sync. // Force a full sync.
image.info.dma_downloaded = true; image.info.dma_downloaded = true;
@ -868,7 +864,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, boo
if (!base) { if (!base) {
return NULL_IMAGE_ID; return NULL_IMAGE_ID;
} }
return dst_id; return image_id;
} }
template <class P> template <class P>