Lioncash
f596ce7887
video_core/engines: Remove unnecessary includes
Removes a few unnecessary dependencies on core-related machinery, such
as the core.h and memory.h, which reduces the amount of rebuilding
necessary if those files change.
This also uncovered some indirect dependencies within other source
files. This also fixes those.
7 years ago
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
These types are within the common library, so they should be within the
Common namespace.
7 years ago
ReinUsesLisp
20d8c304f2
maxwell_3d: Use std::bitset to manage dirty flags
7 years ago
ReinUsesLisp
3b01587ca4
shader/decode: Remove extras from MetaTexture
7 years ago
ReinUsesLisp
8a7efd22ec
shader/decode: Split memory and texture instructions decoding
7 years ago
Lioncash
12774b7c44
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.
7 years ago
Lioncash
1c3371c921
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.
7 years ago
Fernando Sahmkow
e29f546bb7
shader_decompiler: Improve Accuracy of Attribute Interpolation.
7 years ago
Lioncash
1d2de5c4b5
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.
7 years ago
Fernando Sahmkow
0f8f14a732
Corrected F2I None mode to RoundEven.
7 years ago
ReinUsesLisp
6dfc564d12
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.
7 years ago
bunnei
4e28975608
gl_rasterizer: Implement a more accurate fermi 2D copy.
- This is a blit, use the blit registers.
7 years ago
Mat M
6506dbc577
Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: FernandoS27 <fsahmkow27@gmail.com>
7 years ago
Fernando Sahmkow
4133c86d71
Fix TXQ not using the component mask.
7 years ago
ReinUsesLisp
af1543712d
video_core: Assert on invalid GPU to CPU address queries
7 years ago
ReinUsesLisp
c73b44fc35
maxwell_3d: Allow sampler handles with TSC id zero
7 years ago
ReinUsesLisp
04fe4a72b9
maxwell_3d: Allow texture handles with TIC id zero
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
7 years ago
ReinUsesLisp
5ae8a056fe
shader_bytecode: Rename BytesN enums to BitsN
7 years ago
ReinUsesLisp
12fbe5dcf8
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.
7 years ago
ReinUsesLisp
d516c50fe2
shader_decode: Implement LDG and basic cbuf tracking
7 years ago
ReinUsesLisp
fdb76f6147
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).
7 years ago
ReinUsesLisp
095b8f822b
shader_decode: Implement VMAD and VSETP
7 years ago
ReinUsesLisp
54bffa5381
shader_decode: Implement HFMA2
7 years ago
ReinUsesLisp
bcf228b15c
shader_decode: Fixup clang-format
7 years ago
ReinUsesLisp
25f868d8be
shader_ir: Initial implementation
7 years ago
ReinUsesLisp
2b5088a8e9
shader_bytecode: Fixup encoding
7 years ago
ReinUsesLisp
f03f054819
shader_header: Make local memory size getter constant
7 years ago
ReinUsesLisp
1c8411dc8d
gl_rasterizer_cache: Use dirty flags for the depth buffer
7 years ago
ReinUsesLisp
6e932fe118
gl_rasterizer_cache: Use dirty flags for color buffers
7 years ago
ReinUsesLisp
5fec808e30
gl_shader_cache: Use dirty flags for shaders
7 years ago
ReinUsesLisp
a04b5e9a42
shader_bytecode: Fixup TEXS.F16 encoding
7 years ago
David Marcec
1dfb0a513a
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
40f57b087c
shader_bytecode: Fixup half float's operator B encoding
7 years ago
heapo
63c820c8b1
Implement postfactor multiplication/division for fmul instructions
7 years ago
ReinUsesLisp
e228750f52
gl_shader_decompiler: Implement TEXS.F16
7 years ago
ReinUsesLisp
5861ae801a
gl_rasterizer: Enable clip distances when set in register and in shader
7 years ago
bunnei
f8b215e361
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago
Rodolfo Bogado
07e7586b63
Implement depth clamp
7 years ago
Rodolfo Bogado
0eabde665d
Add support for Clip Distance enabled register
7 years ago
Marcos
fc09b5cc26
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
FernandoS27
b509890e4c
Implemented Tile Width Spacing
7 years ago
ReinUsesLisp
ac2c2ded06
gl_shader_decompiler: Implement S2R's Y_DIRECTION
7 years ago
Rodolfo Bogado
dd86a7ee67
Add support for viewport_transfom_enable register
7 years ago
Rodolfo Bogado
d311047172
Add support for clear_flags register
7 years ago
Hexagon12
7ba80865a9
Added predicate comparison LessEqualWithNan ( #1736 )
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
7 years ago
ReinUsesLisp
52c844eeec
gl_shader_decompiler: Implement clip distances
7 years ago
bunnei
e17f9a1ed9
maxwell_3d: Implement alternate blend equations.
- Used by Undertale.
7 years ago
ReinUsesLisp
bd4b3f0cc2
gl_shader_decompiler: Rename control codes to condition codes
7 years ago
ReinUsesLisp
db0e7fa147
gl_shader_decompiler: Implement BFI_IMM_R
7 years ago
ReinUsesLisp
e933f0851a
gl_shader_decompiler: Implement R2P_IMM
7 years ago