Lioncash
9d3cbef5ce
shader/decode/*: Add missing newline to files lacking them
Keeps the shader code file endings consistent.
7 years ago
Lioncash
bf42020f25
shader/decode/*: Eliminate indirect inclusions
Amends cases where we were using things that were indirectly being
satisfied through other headers. This way, if those headers change and
eliminate dependencies on other headers in the future, we don't have
cascading compilation errors.
7 years ago
Lioncash
d9b4b49538
shader/decode/memory: Remove left in debug pragma
7 years ago
Lioncash
5ffa4c6a82
shader/shader_ir: Remove unnecessary inline specifiers
constexpr internally links by default, so the inline specifier is
unnecessary.
7 years ago
Lioncash
b1c14e2810
shader/shader_ir: Simplify constructors for OperationNode
Many of these constructors don't even need to be templated. The only
ones that need to be templated are the ones that actually make use of
the parameter pack.
Even then, since std::vector accepts an initializer list, we can supply
the parameter pack directly to it instead of creating our own copy of
the list, then copying it again into the std::vector.
7 years ago
Lioncash
62c55e0086
shader/shader_ir: Remove unnecessary template parameter packs from Operation() overloads where applicable
These overloads don't actually make use of the parameter pack, so they
can be turned into regular non-template function overloads.
7 years ago
Lioncash
603d9a632a
shader/shader_ir: Mark tracking functions as const member functions
These don't actually modify instance state, so they can be marked as
const member functions
7 years ago
Lioncash
c410a37168
shader/shader_ir: Place implementations of constructor and destructor in cpp file
Given the class contains quite a lot of non-trivial types, place the
constructor and destructor within the cpp file to avoid inlining
construction and destruction code everywhere the class is used.
7 years ago
Lioncash
18d2c00687
video_core/shader/decode/texture: Remove unused variable from GetTld4Code()
7 years ago
Lioncash
7af5216680
shader/decode/texture: Remove unused variable
This isn't used anywhere, so we can get rid of it.
7 years ago
ReinUsesLisp
5bf7324068
shader_ir/other: Implement IPA.IDX
7 years ago
ReinUsesLisp
6ed96fd359
shader_ir/memory: Assert on non-32 bits ALD.PHYS
7 years ago
ReinUsesLisp
d6193e2e36
shader: Add physical attributes commentaries
7 years ago
ReinUsesLisp
7680b96e1a
gl_shader_decompiler: Implement GLSL physical attributes
7 years ago
ReinUsesLisp
f96020b2ae
shader_ir/memory: Implement physical input attributes
7 years ago
ReinUsesLisp
f6194ce3fe
shader: Remove unused AbufNode Ipa mode
7 years ago
ReinUsesLisp
d786245490
shader_ir/memory: Emit AL2P IR
7 years ago
ReinUsesLisp
5ea871b373
shader_ir: Move Sampler index entry in operand< to sort declarations
7 years ago
ReinUsesLisp
cd9e8ee0eb
shader_ir: Add missing entry to Sampler operand< comparison
7 years ago
ReinUsesLisp
6198b04557
shader_ir/texture: Fix sampler const buffer key shift
7 years ago
Fernando Sahmkow
b17f7da309
Corrections Half Float operations on const buffers and implement saturation.
7 years ago
ReinUsesLisp
7a56d07632
video_core: Silent -Wswitch warnings
7 years ago
ReinUsesLisp
6ea1afc2bc
shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmetic
Operations done before the main half float operation (like HAdd) were
managing a packed value instead of the unpacked one. Adding an unpacked
operation allows us to drop the per-operand MetaHalfArithmetic entry,
simplifying the code overall.
7 years ago
ReinUsesLisp
6d47914b88
shader_ir/decode: Implement half float saturation
7 years ago
ReinUsesLisp
9c4449696a
shader_ir/decode: Reduce severity of unimplemented half-float FTZ
7 years ago
ReinUsesLisp
a87fe3ea63
renderer_opengl: Implement half float NaN comparisons
7 years ago
ReinUsesLisp
b6a805df3b
shader_ir: Avoid using static on heap-allocated objects
Using static here might be faster at runtime, but it adds a heap
allocation called before main.
7 years ago
Fernando Sahmkow
73f925a949
Do some corrections in conversion shader instructions.
Corrects encodings for I2F, F2F, I2I and F2I
Implements Immediate variants of all four conversion types.
Add assertions to unimplemented stuffs.
7 years ago
ReinUsesLisp
79e7fb6d6f
shader_ir: Implement STG, keep track of global memory usage and flush
7 years ago
Fernando Sahmkow
34b15b69df
Correct XMAD mode, psl and high_b on different encodings.
7 years ago
Fernando Sahmkow
061d68acaa
Adapt Bindless to work with AOFFI
7 years ago
Fernando Sahmkow
f5792ffeab
Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.
7 years ago
Fernando Sahmkow
4b2d117d52
Fix TMML
7 years ago
Fernando Sahmkow
5ce4140257
Refactor GetTextureCode and GetTexCode to use an optional instead of optional parameters
7 years ago
Fernando Sahmkow
2f456841b0
Implement TXQ_B
7 years ago
Fernando Sahmkow
3672ecc5c4
Implement TMML_B
7 years ago
Fernando Sahmkow
8bb9877b70
Corrections to TEX_B
7 years ago
Fernando Sahmkow
e6d2e59f07
Implement Bindless Handling on SetupTexture
7 years ago
Fernando Sahmkow
dea7db19cf
Unify both sampler types.
7 years ago
Fernando Sahmkow
ee9b2e3cdc
Implement Bindless Samplers and TEX_B in the IR.
7 years ago
ReinUsesLisp
f725007975
shader_ir/memory: Reduce severity of LD_L cache management and log it
7 years ago
ReinUsesLisp
c2ea1d5263
shader_ir/memory: Reduce severity of ST_L cache management and log it
7 years ago
Mat M
b36108f985
shader_ir/decode: Silent implicit sign conversion warning
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
0e13686917
shader_ir/decode: Implement AOFFI for TEX and TLD4
7 years ago
ReinUsesLisp
e37debc7be
shader_ir: Implement immediate register tracking
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
3e82ac10a5
shader/track: Resolve variable shadowing warnings
7 years ago
Fernando Sahmkow
e29f546bb7
shader_decompiler: Improve Accuracy of Attribute Interpolation.
7 years ago
ReinUsesLisp
0f0152963c
gl_shader_decompiler: Re-implement TLDS lod
7 years ago