Ensure blit src/dst textures are attached as execution cycle dependencies

Since they're not in the TIC pool they would otherwise be freed
This commit is contained in:
Billy Laws 2022-10-16 20:56:06 +01:00
parent 77a131df60
commit f6e4328b5a

View File

@ -114,9 +114,11 @@ namespace skyline::gpu::interconnect {
auto dstGuestTexture{GetGuestTexture(dstSurface)}; auto dstGuestTexture{GetGuestTexture(dstSurface)};
auto srcTextureView{gpu.texture.FindOrCreate(srcGuestTexture, executor.tag)}; auto srcTextureView{gpu.texture.FindOrCreate(srcGuestTexture, executor.tag)};
executor.AttachDependency(srcTextureView);
executor.AttachTexture(srcTextureView.get()); executor.AttachTexture(srcTextureView.get());
auto dstTextureView{gpu.texture.FindOrCreate(dstGuestTexture, executor.tag)}; auto dstTextureView{gpu.texture.FindOrCreate(dstGuestTexture, executor.tag)};
executor.AttachDependency(dstTextureView);
executor.AttachTexture(dstTextureView.get()); executor.AttachTexture(dstTextureView.get());
// Blit shader always samples from centre so adjust if necessary // Blit shader always samples from centre so adjust if necessary