summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader: Decode SUST and implement backing image functionalityReinUsesLisp2019-06-211-0/+7
|
* shader: Split SSY and PBK stackReinUsesLisp2019-06-071-12/+37
| | | | | | | | | | | Hardware testing revealed that SSY and PBK push to a different stack, allowing code like this: SSY label1; PBK label2; SYNC; label1: PBK; label2: EXIT;
* shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp2019-06-061-25/+25
| | | | | | | | | 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 #2520 from ReinUsesLisp/vulkan-refreshbunnei2019-06-061-43/+61
|\ | | | | vk_device,vk_shader_decompiler: Miscellaneous changes
| * vk_shader_decompiler: Misc fixesReinUsesLisp2019-05-261-43/+61
| | | | | | | | | | | | | | | | | | | | | | | | Fix missing OpSelectionMerge instruction. This caused devices loses on most hardware, Intel didn't care. Fix [-1;1] -> [0;1] depth conversions. Conditionally use VK_EXT_scalar_block_layout. This allows us to use non-std140 layouts on UBOs. Update external Vulkan headers.
* | shader: Implement S2R Tid{XYZ} and CtaId{XYZ}ReinUsesLisp2019-05-201-0/+18
|/
* Merge pull request #2441 from ReinUsesLisp/al2pbunnei2019-05-191-4/+3
|\ | | | | shader: Implement AL2P and ALD.PHYS
| * shader: Remove unused AbufNode Ipa modeReinUsesLisp2019-05-031-4/+3
| |
* | renderer_vulkan/vk_shader_decompiler: Remove unused variable from DeclareInternalFlags()Lioncash2019-05-101-1/+0
|/
* Merge pull request #2409 from ReinUsesLisp/half-floatsbunnei2019-04-201-5/+20
|\ | | | | shader_ir/decode: Miscellaneous fixes to half-float decompilation
| * vk_shader_decompiler: Add missing operationsReinUsesLisp2019-04-161-0/+7
| |
| * shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp2019-04-161-5/+7
| | | | | | | | | | | | | | 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.
| * shader_ir/decode: Implement half float saturationReinUsesLisp2019-04-161-0/+6
| |
* | shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp2019-04-141-6/+8
|/
* vk_shader_decompiler: Implement flow primitivesReinUsesLisp2019-04-101-5/+82
|
* vk_shader_decompiler: Implement most common texture primitivesReinUsesLisp2019-04-101-8/+65
|
* vk_shader_decompiler: Implement texture decompilation helper functionsReinUsesLisp2019-04-101-0/+32
|
* vk_shader_decompiler: Implement Assign and LogicalAssignReinUsesLisp2019-04-101-2/+64
|
* vk_shader_decompiler: Implement non-OperationCode visitsReinUsesLisp2019-04-101-7/+129
|
* vk_shader_decompiler: Implement OperationCode decompilation interfaceReinUsesLisp2019-04-101-1/+411
|
* vk_shader_decompiler: Implement VisitReinUsesLisp2019-04-101-1/+50
|
* vk_shader_decompiler: Implement labels tree and flowReinUsesLisp2019-04-101-0/+71
|
* vk_shader_decompiler: Implement declarationsReinUsesLisp2019-04-101-3/+457
|
* vk_shader_decompiler: Declare and stub interface for a SPIR-V decompilerReinUsesLisp2019-04-101-0/+45