Commit graph

446 commits

Author SHA1 Message Date
Squall-Leonhart
ce3e98cf48 Fix mistaken usage of info.block instead of level_info.block
Fixed an error on my part, in the last change I had mistakenly passed unadjusted block info into FullUploadSwizzles and UnswizzleImage

Revert (my mistaken changing of) the construction of SwizzleParameters in UnswizzleImage and FullUploadSwizzles to use level_info.block instead of info.block. This ensures that the block information used in the swizzling process is correctly adjusted for each mip level.
2023-10-11 19:12:33 +11:00
Squall-Leonhart
55e400acd9 Reuse part of my previous idea to to use num_levels to check within AdjustMipBlockSize
The partial revert was not enough for Tsukihime, this might do the trick
2023-09-20 03:27:13 +10:00
Squall Leonhart
0ec7d7ec28 Partial revert of #10433
The If block in this change was causing some 2D textures to be treated as if their mip 0 was a 3D Slice, this could be ascertained as the same texture viewed from different distances would render fine, but then close up would look like a decoding failure.

It also resulted in some 3D ASTC textures not being scaled appropriate leading to broken graphical effects such as the jagged TOTK recall animation being a circle, as the If block was only accepting the image based on its original info without any adjustments applied.
2023-09-18 23:28:53 +10:00
Kelebek1
517702f3f8 Look for the most recently modified image for present 2023-09-11 03:11:29 +01:00
Kelebek1
5de54129b3 Mark accelerted DMA destination buffers and images as GPU-modified 2023-08-13 02:22:39 +01:00
bunnei
ab18aeb500 Merge pull request #10996 from Kelebek1/readblock_optimisation
Use spans over guest memory where possible instead of copying data
2023-07-10 18:54:19 -07:00
gidoly
66cb683f1e oops re open 2023-07-03 20:25:23 +09:00
Kelebek1
42638691b5 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
liamwhite
d81539ed2d Merge pull request #10479 from GPUCode/format-list
Add support for VK_KHR_image_format_list
2023-07-02 17:38:21 -04:00
Liam
c9cbfadcdc Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
This reverts commit e9c07146d8.
2023-07-01 23:37:50 -04:00
GPUCode
b7e726669e renderer_vulkan: Add support for VK_KHR_image_format_list 2023-07-01 16:03:29 +03:00
Fernando S
9cb5d582d6 Merge pull request #10953 from FernandoS27/oh-oopsies-yfc
Texture cache: Fix YFC regression due to code testing
2023-06-30 20:25:09 +02:00
Fernando Sahmkow
71c38a6eb3 AccelerateDMA: Don't accelerate 3D texture DMA operations 2023-06-29 17:23:29 +02:00
Fernando Sahmkow
8efc8dba3e Texture cache: Fix YFC regression due to code testing 2023-06-29 11:58:45 +02:00
GPUCode
5196f05cec video_core: Add BCn decoding support 2023-06-27 18:00:09 -07:00
Kelebek1
c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
bunnei
5a5080ba4e Merge pull request #10777 from liamwhite/no-barrier
video_core: optionally skip barriers on feedback loops
2023-06-21 21:10:08 -07:00
liamwhite
10f2beb17a Merge pull request #10818 from vonchenplus/render_target_samples
video_core: add samples check when find render target
2023-06-20 09:55:23 -04:00
Fernando S
06f47d34c8 Merge pull request #10744 from Wollnashorn/af-for-all
video_core: Improved anisotropic filtering heuristics
2023-06-18 00:02:05 +02:00
FengChen
255ab12789 video_core: add samples check when find render target 2023-06-17 23:48:51 +08:00
Wollnashorn
e10113e853 video_core: Only apply AF to 2D (array) image types 2023-06-17 14:20:44 +02:00
Wollnashorn
815f54385a video_core: Use sampler IDs instead pointers in the pipeline config
The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers
2023-06-16 13:45:14 +02:00
Wollnashorn
e405fb1c72 video_core: Disable AF for non-color image formats 2023-06-15 20:59:33 +02:00
Wollnashorn
1844cad9d4 video_core: Add per-image anisotropy heuristics (format & mip count) 2023-06-15 18:19:32 +02:00
Liam
d0837e10ae video_core: optionally skip barriers on feedback loops 2023-06-14 14:11:46 -04:00
Liam
2046bead0e image_info: adjust rescale thresholds and refactor constant use 2023-06-08 17:46:40 -04:00
ameerj
e9c07146d8 texture_cache: Fix incorrect logic for AccelerateDMA 2023-06-02 18:07:52 -04:00
Matías Locatti
9eab38567c Merge pull request #10418 from liamwhite/blink-and-youll-miss-it
texture_cache: process aliases and overlaps in the correct order
2023-05-26 17:36:09 -03:00
Liam
6c77a107a4 video_core: don't garbage collect during configuration 2023-05-25 12:03:12 -04:00
bunnei
62301e0f65 Merge pull request #10435 from FernandoS27/gotta-clean-mess-ups
Texture cache: revert wrong acceleration assumption
2023-05-24 21:00:53 -07:00
Fernando Sahmkow
b0e5aa6725 Texture cache: revert wrong acceleration assumption 2023-05-24 10:52:02 +02:00
Fernando Sahmkow
769b1f0264 Texture Cache Util: Fix block depth adjustment on slices. 2023-05-24 10:06:58 +02:00
Fernando Sahmkow
ce9a97ca48 texture_cache: process aliases and overlaps in the correct order 2023-05-24 09:53:42 +02:00
Fernando S
72c3cf6b32 Merge pull request #10422 from liamwhite/gc
video_core: tune garbage collection aggressiveness
2023-05-24 03:58:49 +02:00
Fernando S
178e8a6b0e Merge pull request #10398 from liamwhite/bcn
video_core: add ASTC recompression
2023-05-24 03:55:45 +02:00
Liam
4a54cea69a video_core: tune garbage collection aggressiveness 2023-05-23 12:55:14 -04:00
Liam
011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Liam
147f6129f4 renderer_vulkan: barrier attachment feedback loops 2023-05-22 18:10:16 -04:00
Kelebek1
fc6c77f7ae Allow Fermi blit accelerate to add src/dst to the cache if they don't exist already. Use ScratchBuffers in the software blit path. 2023-05-11 06:42:38 +01:00
Fernando Sahmkow
a1317c3a6e Texture Cache: Fix ASTC textures 2023-05-09 02:42:10 +02:00
Fernando Sahmkow
5fa8c8685e Texture cache: Only force flush the dma downloads 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
8203f2d8e1 Buffer Cache: disable reactive flushing in it. 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
a7a63d119c Texture cache: reverse inmediate flush changes 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
134c14f089 Address feedback, add CR notice, etc 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
62295b5069 Settings: add option to enable / disable reactive flushing 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
f1aa574448 Texture cache: sync the first flush. 2023-05-07 23:46:12 +02:00
Fernando Sahmkow
6bc60f78d9 GPU: Add Reactive flushing 2023-05-07 23:46:12 +02:00
liamwhite
28ed548196 Merge pull request #10081 from Kelebek1/copy_overlap_tick
Sort overlap_ids by modification tick before copy
2023-05-07 14:09:10 -04:00
Kelebek1
d43a18a6ef Log object names with debug renderer, add a GPU address to ImageViews 2023-05-06 04:48:32 +01:00
Fernando Sahmkow
94ecd260e3 GPU: implement missing ASTC 2023-05-03 11:33:28 -04:00