Commit Graph

325 Commits

Author SHA1 Message Date
Fernando S 6dfbefd29b Merge pull request #7658 from ameerj/sparse-fixes
video_core/memory_manager: Fixes for sparse memory management
2022-01-06 13:50:14 +01:00
ameerj 5a7940c1f1 texture_cache/util: Fix s32 overflow when resolving overlaps 2021-12-31 20:03:22 -05:00
ameerj 4c10c0a514 video_core/memory_manager: Fixes for sparse memory management 2021-12-31 17:04:02 -05:00
ameerj 531d53d6b9 vk_texture_cache: Fix invalidated pointer access
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
Fernando S fff375ff89 Merge pull request #7399 from ameerj/art-refactor
video_core: Refactoring post A.R.T. merge
2021-12-18 07:09:58 +01:00
Feng Chen 755963ada1 Fix blit image/view not compatible 2021-12-10 12:41:09 +08:00
ameerj 7d5c21688e texture_cache: Fix image convert dimensions assertion 2021-12-05 15:42:45 -05:00
ameerj 4c9fb0ffe9 blit_image: Refactor upscale factors usage
The image view itself can be queried to see if it is being rescaled or not, removing the need to pass the upscale/down shift factors from the texture cache.
2021-12-05 15:42:44 -05:00
Fernando Sahmkow 3b1694245f Texture Cache: Fix crashes on NVIDIA. 2021-12-04 11:26:58 +01:00
Feng Chen 2e834bfa4a Add missing pixel format mapping 2021-11-29 12:39:37 +08:00
Fernando Sahmkow 4e74fa32a4 Texture Cache: Secure insertions against deletions. 2021-11-28 10:53:27 +01:00
Fernando Sahmkow fc91c0f51d Texture Cache: Redesigning the blitting system (again). 2021-11-27 11:22:16 +01:00
Fernando Sahmkow dcce920306 Texture Cache: Further fix regressions. 2021-11-26 17:03:48 +01:00
Fernando Sahmkow 81f52ea8fc Texture Cache: Fix issue with blitting 3D textures. 2021-11-22 06:07:21 +01:00
Fernando Sahmkow 09a236dbbf TextureCache: Simplify blitting of D24S8 formats and fix bugs. 2021-11-22 00:00:01 +01:00
Fernando Sahmkow df62d93979 TextureCache: Eliminate format deduction as full depth conversion has been supported. 2021-11-21 05:37:01 +01:00
bunnei 9e4707b508 Merge pull request #7368 from FernandoS27/vulkan-conv
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Fernando Sahmkow e926797029 TextureCache: Implement buffer copies on Vulkan. 2021-11-20 06:15:29 +01:00
Fernando Sahmkow efe634608e TextureCache: Further fixes on resolve algorithm. 2021-11-19 23:02:04 +01:00
bunnei 2b5f99cebd Merge pull request #7357 from Morph1984/s8_uint
video_core: Implement S8_UINT format
2021-11-19 01:16:49 -08:00
Fernando Sahmkow 57e1775bc8 TextureCache: force same image format when resolving an image. 2021-11-19 05:46:57 +01:00
Fernando Sahmkow 37459e821b TextureCache: Fix regression caused by ART and improve blit detection algorithm to be smarter. 2021-11-19 03:17:54 +01:00
Morph c7bdf8825f video_core: Add S8_UINT stencil format 2021-11-17 15:04:38 -05:00
ameerj ba5778b0e3 texture_cache: Use pixel format conversion when supported by the runtime 2021-11-16 22:32:46 -05:00
Fernando Sahmkow 923aab37f8 TextureCache: Fix OGL cleaning 2021-11-17 00:59:46 +01:00
Fernando Sahmkow 45b03b3c9f Texture Cache: revert Image changes. 2021-11-16 22:11:33 +01:00
FernandoS27 b3494533e5 Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs. 2021-11-16 22:11:33 +01:00
ameerj 80b8b7c241 texture_cache: Refactor Render Target scaling function 2021-11-16 22:11:33 +01:00
FernandoS27 795daca444 Texture Cache: Fix memory usage on ScaleDown. 2021-11-16 22:11:33 +01:00
Fernando Sahmkow 1ecaca64b4 OpenGlTextureCache: Fix state invalidation on rescaling. 2021-11-16 22:11:32 +01:00
Fernando Sahmkow ceace57320 Texture Cache: Fix blitting. 2021-11-16 22:11:32 +01:00
FernandoS27 52fc766daf TextureCache: Improve Reaper. 2021-11-16 22:11:32 +01:00
FernandoS27 564caa296b TextureCache: fix rescaling in aliases and overlap joins. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 00a337fe07 Texture Cache: fix memory managment and optimize scaled downloads, uploads. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 9cb30de1ba Texture Cache: ease the requirements of textures being blacklisted. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow c8785738b0 Texture Cache: Fix downscaling and correct memory comsumption. 2021-11-16 22:11:31 +01:00
FernandoS27 a75a56e998 Texture Cache: Rescale conversions between depth and color 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 2ea2bc9f01 Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 7bb52ad3a7 Texture Cahe: Fix downscaling on SMO. 2021-11-16 22:11:31 +01:00
ameerj 4cbb1d0799 texture_cache_base: Remove unused function declarations 2021-11-16 22:11:31 +01:00
ameerj 1efc65f2d3 texture_cache: Fix infinitely recursive ImageCanRescale check 2021-11-16 22:11:31 +01:00
ameerj b4742306d8 video_core: Refactor resolution scale function 2021-11-16 22:11:31 +01:00
ameerj d4f9388875 texture_cache: Fix image resolves when src/dst are not both scaled 2021-11-16 22:11:30 +01:00
ameerj 52cc6f51aa vk_texture_cache: Fix early returns on unsupported scales 2021-11-16 22:11:30 +01:00
ameerj d99a6e8e47 video_core: Misc resolution scaling related refactoring 2021-11-16 22:11:30 +01:00
ameerj 0b0403b779 texture_cache: Refactor scaled image size calculation 2021-11-16 22:11:30 +01:00
Fernando Sahmkow d4f803a81b Texture Cache: Fix calculations when scaling. 2021-11-16 22:11:30 +01:00
Fernando Sahmkow 6ca801276b Texture Cache: Fix Rescaling on Multisample 2021-11-16 22:11:30 +01:00
Fernando Sahmkow fc21f37496 TextureCache: Base fixes on rescaling. 2021-11-16 22:11:30 +01:00
ameerj 355343d57c image_info: Mark MSAA textures as non-rescalable
Blitting or resolving multisampled images requires the dimensions of the src and dst to be equal for valid usage, making them difficult for resolution scaling using the current implementation.
2021-11-16 22:11:30 +01:00