Commit Graph

857 Commits

Author SHA1 Message Date
FengChen 2636c9f876 video_core: Fix drawing trigger mechanism regression 2022-10-27 13:26:52 +08:00
liamwhite d8c264af1e 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 99cefb62fd 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 f9f995c56a video_core: Implement maxwell inline_index method 2022-10-22 16:58:23 +08:00
FengChen 8eed4e7ee5 video_coare: Reimplementing the maxwell drawing trigger mechanism 2022-10-21 17:09:22 +08:00
Fernando Sahmkow 6118d0d042 Maxwell3D/Puller: Fix regressions and syncing issues. 2022-10-19 06:21:51 +02:00
FengChen 584a200d86 video_core: implement 1D copies based on VMM 'kind' 2022-10-17 15:35:12 +08:00
Morph 6e9ed95246 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 bc29a3a188 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 37845e1228 Update 3D regs 2022-10-07 14:13:45 +01:00
Liam 13946e7926 maxwell_dma: remove warnings from implemented functionality 2022-10-06 21:00:54 +02:00
Fernando Sahmkow 1595e77913 General: address feedback 2022-10-06 21:00:54 +02:00
Morph 5ee9e5e84b general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
Fernando Sahmkow 4124fa18e3 NVDRV: Further improvements. 2022-10-06 21:00:53 +02:00
bunnei 616e83dd94 DMA & InlineToMemory Engines Rework. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow 4c8b983c3a Maxwell3D: Add small_index_2 2022-10-06 21:00:53 +02:00
Fernando Sahmkow 42ef10060a VideoCore: Refactor fencing system. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow a6425c97e4 VideoCore: Refactor syncing. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow a933bd94d6 VideoCore: Extra Fixes. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow 8847b6645c VideoCore: implement channels on gpu caches. 2022-10-06 21:00:51 +02:00
Liam c1771c98f3 common: Change semantics of UNREACHABLE to unconditionally crash 2022-06-13 20:09:00 -04:00
Billy Laws a1216cfeee 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 5c166806ee Merge pull request #8313 from liamwhite/dma-bpp
maxwell_dma: fix bytes_per_pixel
2022-05-11 17:51:02 -04:00
Liam d20d4060e9 maxwell_dma: use fallback if remapping is enabled 2022-05-10 19:26:48 -04:00
Liam fa2047970e video_core/macro: clear code on upload address assignment 2022-05-10 17:07:21 -04:00
Liam b6ed3289df maxwell_dma: fix bytes per pixel 2022-05-06 18:18:00 -04:00
Morph 2b87305d31 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 3bffb0464b maxwell3d: add small_index_2 register 2022-04-14 09:57:06 -04:00
ameerj b837219423 video_core: Reduce unused includes 2022-03-19 15:01:31 -04:00
Fernando S 387c4c4dee 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 fc50392101 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[] 7c081ca937 Maxwell3D: Link to override constant definition in nouveau 2022-03-14 11:06:25 -04:00
byte[] 2f745c6c00 Maxwell3D: restore original topology when topology overrides are disabled 2022-03-14 11:00:08 -04:00
Liam 6202688c91 Maxwell3D: Use override constants from nouveau
This fixes some incorrect rendering in Sunshine
2022-03-14 10:11:58 -04:00
Liam db6b7f70b7 Maxwell3D: Restrict topology override effect to after the register is set 2022-03-11 19:42:12 -05:00
Liam 61e810ba10 Maxwell3D: mark index buffers as dirty after updating counts 2022-03-11 08:51:22 -05:00
Liam de42319556 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 3ec2e46e15 MaxwellDMA: Implement semaphore operations 2022-03-07 13:46:18 +08:00
Fernando Sahmkow 9ebf1c00bd Rasterizer: Refactor inlineToMemory. 2022-02-01 01:47:28 +01:00
Fernando Sahmkow 19270ae4e6 Rasterizer: Implement Inline2Memory Acceleration. 2022-01-29 22:53:27 +01:00
Fernando Sahmkow 4a3a7673b7 Inline2Memory: Flush before writting buffer. 2022-01-29 17:42:28 +01:00
Lioncash 65e617754f video_core/macro: Remove unused parameter from Execute()
Simplifies the function interface.
2022-01-25 13:41:38 -05:00
ameerj f222d1e4ce common/logging: Move Log::Entry declaration to a separate header
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-10-01 20:48:49 -04:00
ameerj 1b48f8043b maxwell_dma: Minor refactoring 2021-09-19 20:36:41 -04:00
Feng Chen 63acf10871 Fix blend equation enum error 2021-09-07 10:12:09 +08:00
Lioncash 23ec5faf24 video_core/engine: Consistently initialize rasterizer pointers
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
2021-07-27 07:30:57 -04:00
ReinUsesLisp 934b23ab85 vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state
Workaround potential bug on Nvidia's driver where only updating high
attributes leaves low attributes out dated.
2021-07-22 21:51:39 -04:00
ReinUsesLisp b1df436cef shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.

Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp 649c9cca0f vk_graphics_pipeline: Implement conservative rendering 2021-07-22 21:51:39 -04:00
ReinUsesLisp c0705f79b8 shader: Unify shader stage types 2021-07-22 21:51:39 -04:00