mirror of
https://gitlab.com/suyu-emu/suyu.git
synced 2024-03-15 23:15:44 +00:00
texture_cache: Fix incorrect logic for AccelerateDMA
This commit is contained in:
parent
9d7131bc82
commit
1fc47361a1
|
@ -850,15 +850,11 @@ void TextureCache<P>::PopAsyncFlushes() {
|
|||
template <class P>
|
||||
ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload) {
|
||||
const ImageInfo dst_info(operand);
|
||||
const ImageId dst_id = FindDMAImage(dst_info, operand.address);
|
||||
if (!dst_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
|
||||
const ImageId image_id = FindDMAImage(dst_info, operand.address);
|
||||
if (!image_id) {
|
||||
return NULL_IMAGE_ID;
|
||||
}
|
||||
auto& image = slot_images[image_id];
|
||||
if (!is_upload && !image.info.dma_downloaded) {
|
||||
// Force a full sync.
|
||||
image.info.dma_downloaded = true;
|
||||
|
@ -868,7 +864,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, boo
|
|||
if (!base) {
|
||||
return NULL_IMAGE_ID;
|
||||
}
|
||||
return dst_id;
|
||||
return image_id;
|
||||
}
|
||||
|
||||
template <class P>
|
||||
|
|
Loading…
Reference in a new issue