summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode/arithmetic.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: Remove unnecessary enum class casting in logging messagesLioncash2020-12-071-2/+1
| | | | | | | fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
* shader/arithmetic: Implement FCMP immediate + register variantReinUsesLisp2020-10-281-1/+2
| | | | Trivially add the encoding for this.
* shader/arithmetic: Add FCMP_CR variantReinUsesLisp2020-04-151-1/+2
| | | | Adds another variant of FCMP.
* shader: FMUL switch to using LUT (#3441)Nguyen Dac Nam2020-02-271-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | * shader: add FmulPostFactor LUT table * shader: FMUL apply LUT * Update src/video_core/engines/shader_bytecode.h Co-Authored-By: Mat M. <mathew1800@gmail.com> * nit: mistype * clang-format & add missing import * shader: remove post factor LUT. * shader: move post factor LUT to function and fix incorrect order. * clang-format * shader: FMUL: add static to post factor LUT * nit: typo Co-authored-by: Mat M. <mathew1800@gmail.com>
* shader/arithmetic: Implement FCMPReinUsesLisp2020-01-271-1/+10
| | | | | Compares the third operand with zero, then selects between the first and second.
* shader/decode: Reduce severity of arithmetic rounding warningsReinUsesLisp2019-11-071-4/+4
|
* shader/arithmetic: Reduce RRO stub severityReinUsesLisp2019-11-071-1/+2
|
* Shader_Ir: Change Debug Asserts for Log WarningsFernando Sahmkow2019-07-201-5/+8
|
* Shader_Ir: Downgrade precision and rounding asserts to debug asserts.Fernando Sahmkow2019-07-181-4/+4
| | | | | | This commit reduces the sevirity of asserts for FP precision and rounding as this are well known and have little to no consequences in gpu's accuracy.
* shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp2019-06-061-0/+1
| | | | | | | | | Instead of having a vector of unique_ptr stored in a vector and returning star pointers to this, use shared_ptr. While changing initialization code, move it to a separate file when possible. This is a first step to allow code analysis and node generation beyond the ShaderIR class.
* shader/decode/*: Add missing newline to files lacking themLioncash2019-05-231-1/+1
| | | | Keeps the shader code file endings consistent.
* shader/decode/*: Eliminate indirect inclusionsLioncash2019-05-231-0/+1
| | | | | | | 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.
* shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp2019-02-031-1/+1
| | | | It's not always used as a basic block. Rename it for consistency.
* shader_ir: Pass decoded nodes as a whole instead of per basic blocksReinUsesLisp2019-02-031-1/+1
| | | | | | | | | Some games call LDG at the top of a basic block, making the tracking heuristic to fail. This commit lets the heuristic the decoded nodes as a whole instead of per basic blocks. This may lead to some false positives but allows it the heuristic to track cases it previously couldn't.
* shader_ir: Unify constant buffer offset valuesReinUsesLisp2019-01-301-1/+1
| | | | | | | 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.
* shader_ir: Pass to decoder functions basic block's codeReinUsesLisp2019-01-151-1/+1
|
* shader_decode: Improve zero flag implementationReinUsesLisp2019-01-151-10/+5
|
* video_core: Return safe values after an assert hitsReinUsesLisp2019-01-151-0/+1
|
* shader_decode: Stub RRO_C, RRO_R and RRO_IMMReinUsesLisp2019-01-151-0/+9
|
* shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMMReinUsesLisp2019-01-151-0/+18
|
* shader_decode: Implement MUFUReinUsesLisp2019-01-151-0/+29
|
* shader_decode: Implement FADD_C, FADD_R and FADD_IMMReinUsesLisp2019-01-151-0/+15
|
* shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMMReinUsesLisp2019-01-151-0/+42
|
* shader_decode: Implement MOV_C and MOV_RReinUsesLisp2019-01-151-1/+23
|
* shader_ir: Initial implementationReinUsesLisp2019-01-151-0/+24