Kelebek1
3b50906f00
Reimplement the invalidate_texture_data_cache register
2023-02-14 19:34:10 +00:00
arades79
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
...
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
...
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
liamwhite
475370c8f8
Merge pull request #9556 from vonchenplus/draw_texture
...
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
Kelebek1
5a106cf11e
Demote maxwell3d Firmware4 call log to debug
2023-01-18 01:59:11 +00:00
Feng Chen
9fc7ca1731
Address feedback
2023-01-16 10:27:57 +08:00
Fernando Sahmkow
b56ad93bbc
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 -05:00
Fernando Sahmkow
2d0c4f2b1d
Fermi2D: sync cache flushes
2023-01-05 06:43:28 -05:00
Fernando Sahmkow
6c7eb81f7d
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 -05:00
Feng Chen
1e8cee2ddf
video_core: Implement maxwell3d draw texture method
2023-01-05 12:41:28 +08:00
Fernando Sahmkow
a0c697124c
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
Fernando Sahmkow
b62ffb612d
Vulkan: rework stencil tracking.
2023-01-03 16:29:16 -05:00
Fernando Sahmkow
d09aa0182f
MacroHLE: Final cleanup and fixes.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
581a7d785b
Rasterizer: Setup skeleton for Host Conditional rendering
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d33251db93
Vulkan: Implement Dynamic State 3
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
f800e485c9
Vulkan Implement Dynamic State 2 LogicOp and PatchVertices
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
cb1497d0d7
DMAPusher: Improve collection of non executing methods
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
ce448ce770
Revert Buffer cache changes and setup additional macros.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
18637766ef
MacroHLE: Reduce massive calculations on sizing estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
93ac5a6a6d
MacroHLE: Add Index Buffer size estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
c541559767
MacroHLE: Refactor MacroHLE system.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
0f89828073
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
a5a94f52ff
MacroHLE: Add MultidrawIndirect HLE Macro.
2023-01-01 16:43:57 -05:00
ameerj
c6590ad07b
scratch_buffer: Explicitly defing resize and resize_destructive functions
...
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
ameerj
4bc2d82130
video_core: Add usages of ScratchBuffer
2022-12-19 18:08:04 -05:00
bunnei
da58eb6208
Merge pull request #9406 from vonchenplus/topology
...
video_core: Adjust topology update logic and Adjust Clear Manage
2022-12-12 14:37:06 -08:00
Salvage
0e265db873
Fix compilation error
2022-12-09 14:49:15 +01:00
FengChen
37014e9127
video_core: Add vertex_array_instance_* sbubbed called warning
2022-12-08 23:19:31 +08:00
FengChen
1e64b5e2ec
video_core: The draw manager manages whether Clear is required.
2022-12-08 23:10:52 +08:00
FengChen
15d63c3d3d
video_core: Adjust topology update logic
2022-12-08 22:40:28 +08:00
Fernando S
41461514d6
Merge pull request #9401 from vonchenplus/draw_manager
...
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen
bf0b957c05
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 10:12:19 +08:00
liamwhite
90145c424d
Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
...
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam
6d2c597371
externals: update dynarmic, SDL2
2022-12-04 10:12:26 -05:00
liamwhite
ac0721a4bc
Merge pull request #9353 from vonchenplus/draw_indexed
...
video_core: Fine tuning the index drawing judgment logic
2022-12-03 10:43:34 -05:00
Feng Chen
cb5400b34d
video_core: Fine tuning the index drawing judgment logic
2022-12-01 19:14:58 +08:00
Kelebek1
a78372110c
Respect render mode override
2022-11-30 01:43:36 +00:00
Lioncash
96ffc174aa
maxwell_3d: Mark shifted value as unsigned
...
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.
While we're in the area, we can mark Samples() as const.
2022-11-29 08:39:33 -05:00
Lioncash
d7ec031419
engines: Remove unnecessary casts
...
In a few cases we have some casts that can be trivially removed.
2022-11-29 08:38:46 -05:00
liamwhite
3e53d8138c
Merge pull request #9288 from vonchenplus/deferred_draw
...
video_core: Fine tune maxwell drawing trigger mechanism
2022-11-26 09:35:45 -05:00
liamwhite
20b62dbd30
Merge pull request #9194 from FernandoS27/yfc-fermi2d
...
YFC - Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 21:48:41 -05:00
Fernando Sahmkow
826e0785bf
Fermi2D: Cleanup and address feedback.
2022-11-24 21:00:48 +01:00
Fernando Sahmkow
3b582d5fb2
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
2022-11-24 20:57:16 +01:00
Fernando Sahmkow
7356ab1de6
GPU: Implement additional render target formats.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
daf2ef8f1c
MaxwellDMA: Implement BlockLinear to BlockLinear copies.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
5fbd6954ef
Fermi2D: Implement Bilinear software filtering and address feedback.
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
FengChen
1d57851fc7
video_core: Optimize maxwell drawing trigger mechanism
2022-11-22 17:53:26 +08:00
bunnei
4975f60162
Merge pull request #9252 from liamwhite/radv-superiority
...
maxwell3d: HLE multi-layer clear macro
2022-11-19 01:46:48 -08:00
Morph
e5a446a0df
Merge pull request #9229 from Docteh/achy_breaky_heart
...
Add break for default cases
2022-11-17 19:20:18 -05:00
Liam
4c42655a2d
maxwell3d: full HLE for multi-layer clears
2022-11-17 08:31:43 -05:00
Liam
ece0c1095d
maxwell3d: HLE multi-layer clear macro
2022-11-16 22:28:58 -05:00
Kyle Kienapfel
6fa3faec65
Add break for default cases
...
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
bunnei
08091ff3e3
Merge pull request #9226 from Kelebek1/regs_regression
...
[video_core] Fix a couple regs regressions
2022-11-12 02:27:06 -08:00
liamwhite
e4d55e4ee4
Merge pull request #9204 from vonchenplus/dma_copy_1d_random_crash
...
video_core: Fix dma copy 1D random crash
2022-11-11 17:56:41 -05:00
Kelebek1
33ea0fdfe8
Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg
2022-11-11 04:04:36 +00:00
Morph
c9bb888adf
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
2022-11-11 03:32:53 +01:00
FengChen
d03afd6f4b
video_core: Fix dma copy 1D random crash
2022-11-11 00:23:45 +08:00
FengChen
b42b894785
video_core: Fix drawing trigger mechanism regression
2022-10-31 21:57:38 +08:00
FengChen
f6e7cae62c
video_core: Fix drawing trigger mechanism regression
2022-10-27 13:26:52 +08:00
liamwhite
fa913a702f
Merge pull request #9112 from vonchenplus/deferred_draw
...
video_core: Reimplementing the maxwell drawing trigger mechanism
2022-10-25 09:42:59 -04:00
Fernando S
0860fffd78
Merge pull request #9095 from FernandoS27/meat-good-vegetable-bad
...
Maxwell3D/Puller: Fix regressions and syncing issues.
2022-10-22 13:06:03 +02:00
FengChen
2f90694797
video_core: Implement maxwell inline_index method
2022-10-22 16:58:23 +08:00
FengChen
1f54cd4ac7
video_coare: Reimplementing the maxwell drawing trigger mechanism
2022-10-21 17:09:22 +08:00
Fernando Sahmkow
3cb4498142
Maxwell3D/Puller: Fix regressions and syncing issues.
2022-10-19 06:21:51 +02:00
FengChen
23b6569fc2
video_core: implement 1D copies based on VMM 'kind'
2022-10-17 15:35:12 +08:00
Morph
d3114c620d
renderer_(opengl/vulkan): Fix tessellation clockwise parameter
...
This should be assigned CW only on Triangles_CW rather than not Triangles_CCW, making CCW the default winding order rather than CW.
2022-10-13 15:52:56 -04:00
Kelebek1
4496030ea9
Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong.
2022-10-10 20:59:57 +01:00
Kelebek1
752659aef3
Update 3D regs
2022-10-07 14:13:45 +01:00
Liam
aedd739631
maxwell_dma: remove warnings from implemented functionality
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
ca3db0d7c9
General: address feedback
2022-10-06 21:00:54 +02:00
Morph
fedd983f96
general: Format licenses as per SPDX guidelines
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
a9ca39f859
NVDRV: Further improvements.
2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86
DMA & InlineToMemory Engines Rework.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
b2099fbdcc
Maxwell3D: Add small_index_2
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
668e80a9f4
VideoCore: Refactor syncing.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
6fc4012396
VideoCore: Extra Fixes.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
Billy Laws
ea89cf8639
Maxwell3D: Fix 3D semaphore counter type 0 handling
...
Counter type 0 actually releases the semaphore payload rather than a constant zero as was previously thought. This is required by Skyrim.
2022-06-02 21:46:38 +01:00
Morph
dca63391b6
Merge pull request #8313 from liamwhite/dma-bpp
...
maxwell_dma: fix bytes_per_pixel
2022-05-11 17:51:02 -04:00
Liam
e7ba9fd7e1
maxwell_dma: use fallback if remapping is enabled
2022-05-10 19:26:48 -04:00
Liam
e158951695
video_core/macro: clear code on upload address assignment
2022-05-10 17:07:21 -04:00
Liam
4f1a2c2562
maxwell_dma: fix bytes per pixel
2022-05-06 18:18:00 -04:00
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Liam
a24e7ba61b
maxwell3d: add small_index_2 register
2022-04-14 09:57:06 -04:00
ameerj
1bc7d61b57
video_core: Reduce unused includes
2022-03-19 15:01:31 -04:00
Fernando S
c3c351e2c2
Merge pull request #8023 from ameerj/kirby-pop-in
...
maxwell_3d: Implement a safer CB data upload
2022-03-16 12:14:08 +01:00
ameerj
5119a57614
maxwell_3d: Implement a safer CB data upload
...
This makes constant buffer uploads safer and more accurate by updating the GPU memory as soon as the CB Data method is invoked. The previous implementation was deferring the updates until a different maxwell 3d method was detected, then writing all CB data at once.
2022-03-14 19:18:36 -04:00
byte[]
be0e6a2bb4
Maxwell3D: Link to override constant definition in nouveau
2022-03-14 11:06:25 -04:00
byte[]
364c67e49b
Maxwell3D: restore original topology when topology overrides are disabled
2022-03-14 11:00:08 -04:00
Liam
37aa472269
Maxwell3D: Use override constants from nouveau
...
This fixes some incorrect rendering in Sunshine
2022-03-14 10:11:58 -04:00
Liam
56c646d82c
Maxwell3D: Restrict topology override effect to after the register is set
2022-03-11 19:42:12 -05:00
Liam
70e632f153
Maxwell3D: mark index buffers as dirty after updating counts
2022-03-11 08:51:22 -05:00
Liam
f1521183f8
Maxwell3D: read small-index draw and primitive topology override registers
...
This allows Galaxy and Sunshine to render for the first time.
2022-03-10 19:21:04 -05:00
Lody
4498908e72
MaxwellDMA: Implement semaphore operations
2022-03-07 13:46:18 +08:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00