Commit graph

2818 commits

Author SHA1 Message Date
liamwhite
93372f503a Merge pull request #10476 from ameerj/gl-memory-maps
OpenGL: Make use of persistent buffer maps in buffer cache
2023-06-07 14:03:57 -04:00
bunnei
56600190e4 core: frontend: Refactor GraphicsContext to its own module. 2023-06-03 00:05:31 -07:00
liamwhite
a4a3df9e69 Merge pull request #10483 from ameerj/gl-cpu-astc
gl_texture_cache: Fix ASTC CPU decoding with compression disabled
2023-05-28 13:18:31 -04:00
ameerj
514c224679 gl_texture_cache: Fix ASTC CPU decoding with compression disabled
gl_format was incorrectly being overwritten when compression was disabled
2023-05-28 13:14:51 -04:00
ameerj
41dfd9e4ec gl_staging_buffers: Optimization to reduce fence waiting 2023-05-28 00:38:47 -04:00
ameerj
8d223e8092 OpenGL: Make use of persistent buffer maps in buffer cache downloads
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache.

In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-28 00:38:46 -04:00
Kelebek1
62c747f8a1 Move buffer bindings to per-channel state 2023-05-27 17:04:18 +01: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
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
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
6bc60f78d9 GPU: Add Reactive flushing 2023-05-07 23:46:12 +02:00
Kelebek1
d43a18a6ef Log object names with debug renderer, add a GPU address to ImageViews 2023-05-06 04:48:32 +01:00
bunnei
edac11f6c8 Merge pull request #10142 from FernandoS27/missing-astc
GPU: implement missing ASTC
2023-05-03 16:49:27 -07:00
bunnei
6f10c3fcd8 Merge pull request #10088 from FernandoS27/100-gelato-flavor-test-builds-later
Y.F.C Implement Asynchronous Fence manager and Rework Query async downloads
2023-05-03 15:10:22 -07:00
Fernando Sahmkow
94ecd260e3 GPU: implement missing ASTC 2023-05-03 11:33:28 -04:00
Morph
98d1e50fb9 Merge pull request #10084 from FernandoS27/yuzu-goes-broom-broom
Y.F.C Buffer Cache Revamp
2023-05-01 11:08:02 -04:00
Fernando Sahmkow
f5d2ae4c5e Texture Cache: Release stagging buffers on tick frame 2023-04-29 15:31:38 +02:00
Fernando Sahmkow
64c9a90c20 Buffer Cache: Fully rework the buffer cache. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow
b22e1a2bce Accelerate DMA: Use texture cache async downloads to perform the copies
to host.

WIP
2023-04-29 00:18:21 +02:00
Fernando Sahmkow
e2bfd9e8c4 TextureCache: refactor DMA downloads to allow multiple buffers. 2023-04-29 00:18:21 +02:00
Fernando Sahmkow
abe4e83b45 QueryCache: rework async downloads. 2023-04-23 22:04:14 +02:00
Fernando Sahmkow
ae99dcd531 Fence Manager: implement async fence management in a sepparate thread. 2023-04-23 04:48:50 +02:00
Wollnashorn
dda107ffa7 video_core: Enable ImageGather with subpixel offset on Intel 2023-04-08 16:12:44 +02:00
Wollnashorn
45fb154f0d shader_recompiler: Add subpixel offset for correct rounding at ImageGather
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.

This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956).
2023-04-08 16:12:30 +02:00
liamwhite
853e5576e6 Merge pull request #9943 from vonchenplus/gentleman
video_core: Fix inline_index and draw_texture error
2023-03-13 13:45:17 -04:00
Liam
5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
FengChen
e067d314ba video_core: Fix ogl status error when draw_texture 2023-03-12 13:33:31 +08:00
Fernando S
0edffb460d Merge pull request #9913 from ameerj/acc-dma-refactor
AccelerateDMA: Refactor Buffer/Image copy code and implement for OGL
2023-03-11 20:04:19 +01:00
liamwhite
68e1996e52 Merge pull request #9925 from ameerj/gl-sync-signal
OpenGL: Prefer glClientWaitSync for OGLSync objects
2023-03-10 13:55:22 -05:00
ameerj
625d716f56 OpenGL: Prefer glClientWaitSync for OGLSync objects
At least on Nvidia, glClientWaitSync with a timeout of 0 (non-blocking) is faster than glGetSynciv of GL_SYNC_STATUS.
2023-03-08 20:29:25 -05:00
liamwhite
a9fc59a998 Merge pull request #9896 from Kelebek1/d24s8
Check all swizzle components for red, not just [0]
2023-03-08 09:16:06 -05:00
ameerj
bc5a8c664b gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy 2023-03-06 22:57:52 -05:00
ameerj
e901a7f029 Refactor AccelerateDMA code 2023-03-06 22:57:45 -05:00
Fernando Sahmkow
82f37192ec Engines: Implement Accelerate DMA Texture. 2023-03-05 12:18:00 +01:00
Kelebek1
2f525864a8 Check all swizzle components for red, not just [0], pass float border color rather than int 2023-03-04 02:33:50 +00:00
ameerj
c5386e2179 configuration: Add async ASTC decode setting 2023-02-22 18:21:09 -05:00
liamwhite
694f67e2d5 Merge pull request #9588 from liamwhite/bylaws-reverts
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-19 13:11:57 -05:00
bunnei
5cf07bebee Merge pull request #9746 from ameerj/ogl-msaa-texcache
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-12 00:18:52 -08:00
ameerj
b60e0b5360 texture_cache: OpenGL: Implement MSAA uploads and copies 2023-02-11 15:43:07 -05:00
ameerj
8e0a70ddcf gl_compute_pipeline: Force context flush when loading shader cache 2023-01-29 21:32:12 -05:00
ameerj
175244e92e gl_graphics_pipeline: Force context flush when loading shader cache 2023-01-29 20:26:49 -05:00
Wollnashorn
6b840142b3 video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
liamwhite
1bd93d9f3b Merge pull request #9556 from vonchenplus/draw_texture
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
Fernando Sahmkow
4cb1b7a60a VideoCore: Fix OGL cache invalidation. 2023-01-07 21:56:17 -05:00
Liam
ecf4f380b6 Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
This reverts commit 195248d6fe.
2023-01-07 15:48:50 -05:00
Narr the Reg
c5a006cb24 opengl: Sanitize antialiasing config 2023-01-06 13:42:20 -06:00
Billy Laws
00c51d0a4f Vulkan, OpenGL: Hook up geometry shader passthrough emulation 2023-01-05 22:13:07 +00:00
Billy Laws
195248d6fe Vulkan, OpenGL: Hook up storage buffer alignment code 2023-01-05 22:13:07 +00:00