summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader_ir.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-05-19shader/shader_ir: Mark tracking functions as const member functionsLioncash1-3/+4
These don't actually modify instance state, so they can be marked as const member functions
2019-05-19shader/shader_ir: Place implementations of constructor and destructor in cpp fileLioncash1-5/+2
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.
2019-04-26shader_ir: Move Sampler index entry in operand< to sort declarationsReinUsesLisp1-2/+2
2019-04-26shader_ir: Add missing entry to Sampler operand< comparisonReinUsesLisp1-2/+3
2019-04-16shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp1-16/+10
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.
2019-04-16shader_ir/decode: Implement half float saturationReinUsesLisp1-0/+3
2019-04-16renderer_opengl: Implement half float NaN comparisonsReinUsesLisp1-6/+12
2019-04-14shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp1-3/+13
2019-04-08Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.Fernando Sahmkow1-2/+2
2019-04-08Refactor GetTextureCode and GetTexCode to use an optional instead of optional parametersFernando Sahmkow1-11/+9
2019-04-08Implement Bindless Handling on SetupTextureFernando Sahmkow1-4/+3
2019-04-08Unify both sampler types.Fernando Sahmkow1-8/+28
2019-04-08Implement Bindless Samplers and TEX_B in the IR.Fernando Sahmkow1-9/+22
2019-03-30shader_ir/decode: Implement AOFFI for TEX and TLD4ReinUsesLisp1-3/+6
2019-03-30shader_ir: Implement immediate register trackingReinUsesLisp1-0/+3
2019-02-26shader/decode: Remove extras from MetaTextureReinUsesLisp1-1/+3
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp1-0/+1
2019-02-07shader_ir: Remove F4 prefix to texture operationsReinUsesLisp1-6/+6
This was originally included because texture operations returned a vec4. These operations now return a single float and the F4 prefix doesn't mean anything.
2019-02-07shader_ir: Clean texture management codeReinUsesLisp1-5/+5
Previous code relied on GLSL parameter order (something that's always ill-formed on an IR design). This approach passes spatial coordiantes through operation nodes and array and depth compare values in the the texture metadata. It still contains an "extra" vector containing generic nodes for bias and component index (for example) which is still a bit ill-formed but it should be better than the previous approach.
2019-02-07gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp1-0/+9
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp1-46/+46
It's not always used as a basic block. Rename it for consistency.
2019-02-03shader_ir: Pass decoded nodes as a whole instead of per basic blocksReinUsesLisp1-25/+26
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.
2019-01-30shader_ir: Unify constant buffer offset valuesReinUsesLisp1-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.
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp1-4/+34
2019-01-28shader/shader_ir: Amend three comment typosLioncash1-3/+3
Given we're in the area, these are three trivial typos that can be corrected.
2019-01-28shader/shader_ir: Amend constructor initializer ordering for AbufNodeLioncash1-2/+2
Orders the class members in the same order that they would actually be initialized in. Gets rid of two compiler warnings.
2019-01-15shader_ir: Pass to decoder functions basic block's codeReinUsesLisp1-25/+25
2019-01-15shader_decode: Improve zero flag implementationReinUsesLisp1-2/+7
2019-01-15shader_ir: Remove composite primitives and use temporals insteadReinUsesLisp1-30/+30
2019-01-15shader_decode: Use proper primitive namesReinUsesLisp1-7/+5
2019-01-15shader_decode: Use BitfieldExtract instead of shift + andReinUsesLisp1-2/+7
2019-01-15shader_ir: Remove Ipa primitiveReinUsesLisp1-2/+0
2019-01-15shader_ir: Remove RZ and use Register::ZeroIndex insteadReinUsesLisp1-2/+0
2019-01-15shader_decode: Implement TEXS.F16ReinUsesLisp1-2/+6
2019-01-15video_core: Implement IR based geometry shadersReinUsesLisp1-0/+3
2019-01-15shader_decode: Implement VMAD and VSETPReinUsesLisp1-0/+4
2019-01-15shader_decode: Implement HSET2ReinUsesLisp1-0/+1
2019-01-15shader_decode: Rework HSETP2ReinUsesLisp1-7/+8
2019-01-15shader_decode: Implement HFMA2ReinUsesLisp1-0/+1
2019-01-15shader_decode: Implement POPCReinUsesLisp1-1/+3
2019-01-15shader_decode: Implement TLDS (untested)ReinUsesLisp1-0/+4
2019-01-15shader_decode: Update TLD4 reflecting #1862 changesReinUsesLisp1-0/+3
2019-01-15shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompilingReinUsesLisp1-1/+3
2019-01-15video_core: Address feedbackReinUsesLisp1-11/+10
2019-01-15shader_ir: Fixup file inclusions and clang-formatReinUsesLisp1-1/+0
2019-01-15shader_ir: Move comment node stringMat M1-2/+2
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-01-15shader_ir: Address feedback to avoid UB in bit castingReinUsesLisp1-2/+4
2019-01-15shader_decode: Implement LOP3ReinUsesLisp1-0/+2
2019-01-15shader_decode: Implement LOP32IReinUsesLisp1-0/+5
2019-01-15shader_decode: Implement TEX and TXQReinUsesLisp1-0/+4
2019-01-15shader_decode: Implement TEXS (F32)ReinUsesLisp1-0/+18
2019-01-15shader_ir: Add condition code helperReinUsesLisp1-0/+3
2019-01-15shader_ir: Add predicate combiner helperReinUsesLisp1-0/+3
2019-01-15shader_ir: Add comparison helpersReinUsesLisp1-0/+9
2019-01-15shader_ir: Add half float helpersReinUsesLisp1-0/+7
2019-01-15shader_ir: Add integer helpersReinUsesLisp1-0/+5
2019-01-15shader_ir: Add float helpersReinUsesLisp1-0/+5
2019-01-15shader_ir: Add settersReinUsesLisp1-0/+8
2019-01-15shader_ir: Add local memory gettersReinUsesLisp1-0/+3
2019-01-15shader_ir: Add internal flag gettersReinUsesLisp1-0/+2
2019-01-15shader_ir: Add attribute gettersReinUsesLisp1-0/+5
2019-01-15shader_ir: Add constant buffer gettersReinUsesLisp1-0/+4
2019-01-15shader_ir: Add register getterReinUsesLisp1-0/+2
2019-01-15shader_ir: Add immediate node constructorsReinUsesLisp1-1/+18
2019-01-15shader_ir: Initial implementationReinUsesLisp1-0/+662