Commit graph

393 commits

Author SHA1 Message Date
Fernando Sahmkow
58d1c7c77a Address Feedback & Clang Format 2023-04-29 00:18:21 +02:00
Fernando Sahmkow
e3a2ca96bd Accelerate DMA: Use texture cache async downloads to perform the copies
to host.

WIP
2023-04-29 00:18:21 +02:00
Fernando Sahmkow
3fbee093b2 TextureCache: refactor DMA downloads to allow multiple buffers. 2023-04-29 00:18:21 +02:00
liamwhite
54b4c84ab6
Merge pull request #10008 from vonchenplus/texture_cache
video_core: update imageinfo implement
2023-04-11 11:59:18 -04:00
liamwhite
ff386e794b
Merge pull request #10004 from Kelebek1/cubemap
[texture_cache] Only upload GPU-modified overlaps
2023-04-03 13:05:52 -04:00
Feng Chen
ff2089fdf5 video_core: Keep the definition of DimensionControl consistent with nvidia open doc 2023-03-31 12:33:07 +08:00
Max Dunbar
e446f368d7 Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
Kelebek1
c68b4bee2c Only upload GPU-modified overlaps 2023-03-28 11:07:39 +01:00
Ross Schlaikjer
f38ae8e953 Pass GPU page table by reference 2023-03-25 00:25:02 -04:00
liamwhite
0c7149d222
Merge pull request #9933 from vonchenplus/texture_format
video_core: Update texture format
2023-03-14 11:35:37 -04:00
FengChen
11ffbee5ae video_core: Better defined ImageInfo parameters 2023-03-14 22:36:34 +08:00
Liam
600f325d87 general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
Feng Chen
c8ad039612 video_core: Update texture format 2023-03-10 21:48:50 +08:00
ameerj
6b9cc0ed23 Refactor AccelerateDMA code 2023-03-06 22:57:45 -05:00
Fernando Sahmkow
8a3411b417 Engines: Implement Accelerate DMA Texture. 2023-03-05 12:18:00 +01:00
ameerj
b5bcd8c71b configuration: Add async ASTC decode setting 2023-02-22 18:21:09 -05:00
ameerj
090bc588e5 texture_cache: Add async texture decoding 2023-02-22 00:26:07 -05:00
ameerj
93cf2b3ca8 texture_cache: OpenGL: Implement MSAA uploads and copies 2023-02-11 15:43:07 -05:00
Levi Behunin
d5fc56db4b Move to Clang Format 15
Depends on https://github.com/yuzu-emu/build-environments/pull/69

clang-15 primary run
2023-01-29 17:49:42 -07:00
ameerj
c2fb7b64ce texture_cache: Adjust image view sizes by MSAA samples 2023-01-28 00:15:29 -05:00
Feng Chen
013b689153 video_core: Implement opengl/vulkan draw_texture 2023-01-05 12:41:33 +08:00
Fernando Sahmkow
03ccd8bf43 Texture Cache: Implement async texture downloads. 2023-01-03 22:52:15 -05:00
Fernando Sahmkow
3630bfaef3 RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
ameerj
7584d36922 texture_cache: Use Common::ScratchBuffer for swizzle buffers 2022-12-25 15:47:41 -05:00
ameerj
1209d428f1 texture_cache: Use pre-allocated buffer for texture downloads 2022-12-25 15:38:36 -05:00
ameerj
c448b3af2f texture_cache: Use pre-allocated buffer for texture uploads 2022-12-25 15:38:36 -05:00
liamwhite
22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Fernando Sahmkow
7356ab1de6 GPU: Implement additional render target formats. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow
957840be91 Fermi2D: Rework blit engine and add a software blitter. 2022-11-24 20:35:44 +01:00
Liam
9737615948 general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
Feng Chen
75596c07e0
video_core: Fix SNORM texture buffer emulating error (#9001) 2022-11-04 02:39:42 -04:00
Morph
c7e079a5d4 general: Resolve -Wunused-lambda-capture and C5233 2022-10-22 15:02:04 -04:00
Morph
f16db300c6 format_lookup_table: Implement R32_B24G8 with D32_FLOAT_S8_UINT
This format is similar to Z32_FLOAT_X24S8_UINT, which is implemented with D32_FLOAT_S8_UINT.

Used in Persona 5 Royal
2022-10-21 01:54:57 -04:00
Morph
ddf5577799 video_core: Fix spelling of "synchronize" 2022-10-16 00:50:53 -04:00
Kelebek1
752659aef3 Update 3D regs 2022-10-07 14:13:45 +01:00
Morph
fedd983f96 general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
Fernando Sahmkow
ada09778d9 Vulkan Texture Cache: Limit render area to the max width/height of the targets. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
8fd1d769fe ImageBase: Basic fixes. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
fd7afda1e8 VideoCore: Implement formats needed for N64 emulation. 2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86 DMA & InlineToMemory Engines Rework. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
e44ac8b821 Texture Cache: Fix GC and GPU Modified on Joins. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
f350c3d74e Texture cache: Fix the remaining issues with memory mnagement and unmapping. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
9cf4c8831d Texture cache: Fix dangling references on multichannel. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
e462191482 Refactor VideoCore to use AS sepparate from Channel. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
bb74973bba General: Rebase fixes. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
6fc4012396 VideoCore: Extra Fixes. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
3f8e7a5585 VideoCore: Fix channels with disk pipeline/shader cache. 2022-10-06 21:00:51 +02:00
Fernando Sahmkow
139ea93512 VideoCore: implement channels on gpu caches. 2022-10-06 21:00:51 +02:00
Fernando Sahmkow
1a49991676 Texture Cache: Add ASTC 10x5 Format. 2022-10-06 16:45:40 +02:00
Kyle Kienapfel
14e9de6678 code: dodge PAGE_SIZE #define
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable

Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`

PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix

Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive

Core::Memory   12 bits (4096)
QueryCacheBase 12 bits
ShaderCache    14 bits (16384)
TextureCache   20 bits (1048576, or 1MB)

Fixes #8779
2022-08-19 16:08:40 -07:00