Texture cache: Only force flush the dma downloads
This commit is contained in:
parent
2df19ef0fd
commit
8014dd8259
5 changed files with 6 additions and 6 deletions
|
@ -811,7 +811,7 @@ void TextureCache<P>::PopAsyncFlushes() {
|
|||
}
|
||||
|
||||
template <class P>
|
||||
ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand) {
|
||||
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) {
|
||||
|
@ -822,7 +822,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand) {
|
|||
// No need to waste time on an image that's synced with guest
|
||||
return NULL_IMAGE_ID;
|
||||
}
|
||||
if (!image.info.dma_downloaded) {
|
||||
if (!is_upload && !image.info.dma_downloaded) {
|
||||
// Force a full sync.
|
||||
image.info.dma_downloaded = true;
|
||||
return NULL_IMAGE_ID;
|
||||
|
|
|
@ -207,7 +207,7 @@ public:
|
|||
/// Pop asynchronous downloads
|
||||
void PopAsyncFlushes();
|
||||
|
||||
[[nodiscard]] ImageId DmaImageId(const Tegra::DMA::ImageOperand& operand);
|
||||
[[nodiscard]] ImageId DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload);
|
||||
|
||||
[[nodiscard]] std::pair<Image*, BufferImageCopy> DmaBufferImageCopy(
|
||||
const Tegra::DMA::ImageCopy& copy_info, const Tegra::DMA::BufferOperand& buffer_operand,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue