summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode/conversion.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader_ir/conversion: Split int and float selector and implement F2F H1ReinUsesLisp2019-08-281-18/+16
|
* shader_ir/conversion: Implement F2I F16 Ra.H1ReinUsesLisp2019-08-281-4/+16
|
* Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.Fernando Sahmkow2019-07-201-5/+25
| | | | | This commit takes care of implementing the F16 Variants of the conversion instructions and makes sure conversions are done.
* 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.
* Merge pull request #2322 from ReinUsesLisp/wswitchbunnei2019-04-291-3/+4
|\ | | | | video_core: Silent -Wswitch warnings
| * video_core: Silent -Wswitch warningsReinUsesLisp2019-04-181-3/+4
| |
* | Do some corrections in conversion shader instructions.Fernando Sahmkow2019-04-161-16/+53
|/ | | | | | Corrects encodings for I2F, F2F, I2I and F2I Implements Immediate variants of all four conversion types. Add assertions to unimplemented stuffs.
* Corrected F2I None mode to RoundEven.Fernando Sahmkow2019-02-111-3/+3
|
* 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-3/+3
| | | | | | | 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-8/+3
|
* video_core: Return safe values after an assert hitsReinUsesLisp2019-01-151-4/+4
|
* shader_decode: Implement F2F_CReinUsesLisp2019-01-151-2/+10
|
* shader_decode: Implement I2IReinUsesLisp2019-01-151-0/+26
|
* shader_decode: Implement F2IReinUsesLisp2019-01-151-0/+37
|
* shader_decode: Implement I2FReinUsesLisp2019-01-151-0/+23
|
* shader_decode: Implement F2FReinUsesLisp2019-01-151-1/+37
|
* shader_ir: Initial implementationReinUsesLisp2019-01-151-0/+24