Commit Graph

426 Commits (ae437320c84e8c5fff69e8cec413e63b11f952b6)

Author SHA1 Message Date
Lioncash a8fa5019b5 video_core: Remove usages of System::GetInstance() within the engines
Avoids the use of the global accessor in favor of explicitly making the
system a dependency within the interface.
6 years ago
Lioncash bd983414f6 core_timing: Convert core timing into a class
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.

Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
6 years ago
bunnei 8135f4bfce
Merge pull request #2110 from lioncash/namespace
core_timing: Rename CoreTiming namespace to Core::Timing
6 years ago
bunnei c440ecfafe
Merge pull request #2104 from ReinUsesLisp/compute-assert
kepler_compute: Fixup assert and rename the engine
6 years ago
Lioncash 48d9d66dc5 core_timing: Rename CoreTiming namespace to Core::Timing
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
6 years ago
Fernando Sahmkow f5ec165e8c Corrected F2I None mode to RoundEven. 6 years ago
ReinUsesLisp 1ddcd0e6f0 kepler_compute: Fixup assert and rename engines
When I originally added the compute assert I used the wrong
documentation. This addresses that.

The dispatch register was tested with homebrew against hardware and is
triggered by some games (e.g. Super Mario Odyssey). What exactly is
missing to get a valid program bound by this engine requires more
investigation.
6 years ago
bunnei dd1aab5446 gl_rasterizer: Implement a more accurate fermi 2D copy.
- This is a blit, use the blit registers.
6 years ago
bunnei 10ab714fe0
Merge pull request #2042 from ReinUsesLisp/nouveau-tex
maxwell_3d: Allow texture handles with TIC id zero
6 years ago
bunnei 72c70d6808
Merge pull request #2081 from ReinUsesLisp/lmem-64
shader_ir/memory: Add LD_L 64 bits loads
6 years ago
bunnei bb4549a73d
Merge pull request #2082 from FernandoS27/txq-stl
Fix TXQ not using the component mask.
6 years ago
Mat M a568cd805b
Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: FernandoS27 <fsahmkow27@gmail.com>
6 years ago
Fernando Sahmkow 0306c50339 Fix TXQ not using the component mask. 6 years ago
ReinUsesLisp 2bdbb90af7 video_core: Assert on invalid GPU to CPU address queries 6 years ago
ReinUsesLisp 04e68e9738 maxwell_3d: Allow sampler handles with TSC id zero 6 years ago
ReinUsesLisp 390721a561 maxwell_3d: Allow texture handles with TIC id zero
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
6 years ago
ReinUsesLisp 9feb68085d shader_bytecode: Rename BytesN enums to BitsN 6 years ago
ReinUsesLisp 477d616f7d shader_ir: Unify constant buffer offset values
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
6 years ago
ReinUsesLisp 3b84e04af1 shader_decode: Implement LDG and basic cbuf tracking 6 years ago
bunnei 1f4ca1e841
Merge pull request #1927 from ReinUsesLisp/shader-ir
video_core: Replace gl_shader_decompiler with an IR based decompiler
6 years ago
ReinUsesLisp 9a82dec74a maxwell_3d: Set rt_separate_frag_data to 1 by default
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
6 years ago
ReinUsesLisp a1b845b651 shader_decode: Implement VMAD and VSETP 6 years ago
ReinUsesLisp dd91650aaf shader_decode: Implement HFMA2 6 years ago
ReinUsesLisp 4316eaf75c shader_decode: Fixup clang-format 6 years ago
ReinUsesLisp 15a0e1481d shader_ir: Initial implementation 6 years ago
ReinUsesLisp 294df41b86 shader_bytecode: Fixup encoding 6 years ago
ReinUsesLisp a0c8c16d07 shader_header: Make local memory size getter constant 6 years ago
ReinUsesLisp b683e41fca gl_rasterizer_cache: Use dirty flags for the depth buffer 6 years ago
ReinUsesLisp 179ee963db gl_rasterizer_cache: Use dirty flags for color buffers 6 years ago
ReinUsesLisp 0ab17ab406 gl_shader_cache: Use dirty flags for shaders 6 years ago
ReinUsesLisp aaa0e6c346 shader_bytecode: Fixup TEXS.F16 encoding 7 years ago
David Marcec fdd649e2ef Fixed uninitialized memory due to missing returns in canary
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
7 years ago
ReinUsesLisp ef061481c5 shader_bytecode: Fixup half float's operator B encoding 7 years ago
heapo 72599cc667 Implement postfactor multiplication/division for fmul instructions 7 years ago
ReinUsesLisp 59a8df1b14 gl_shader_decompiler: Implement TEXS.F16 7 years ago
ReinUsesLisp 2908d30274 gl_rasterizer: Enable clip distances when set in register and in shader 7 years ago
bunnei 5a9a84994a
Merge pull request #1808 from Tinob/master
Fix clip distance and viewport
7 years ago
bunnei 3fe8ab0d99
Merge pull request #1786 from Tinob/DepthClamp
Add Depth Clamp Support
7 years ago
bunnei 6f849887c9
Merge pull request #1792 from bunnei/dma-pusher
gpu: Rewrite GPU command list processing with DmaPusher class.
7 years ago
bunnei 881f5ad70f
Merge pull request #1735 from FernandoS27/tex-spacing
Texture decoder: Implemented Tile Width Spacing
7 years ago
bunnei abea6fa90c gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago
Rodolfo Bogado dfdbfa69e5 Implement depth clamp 7 years ago
Rodolfo Bogado 8e971f5062 Add support for Clip Distance enabled register 7 years ago
bunnei 1856d0ee8a
Merge pull request #1794 from Tinob/master
Add support for viewport_transfom_enable register
7 years ago
bunnei 67a154e23d
Merge pull request #1723 from degasus/dirty_flags
gl_rasterizer: Skip VB upload if the state is clean.
7 years ago
Marcos cb8d51e37e GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784)
* GPU States: Implement Polygon Offset. This is used in SMO all the time.

* Clang Format fixes.

* Initialize polygon_offset in the constructor.
7 years ago
bunnei a41943dc55
Merge pull request #1798 from ReinUsesLisp/y-direction
gl_shader_decompiler: Implement S2R's Y_DIRECTION
7 years ago
FernandoS27 ddfbe0b58d Implemented Tile Width Spacing 7 years ago
bunnei f9a211220c
Merge pull request #1763 from ReinUsesLisp/bfi
gl_shader_decompiler: Implement BFI_IMM_R
7 years ago
bunnei d7d1ab15b6
Merge pull request #1760 from ReinUsesLisp/r2p
gl_shader_decompiler: Implement R2P_IMM
7 years ago