summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader: GCC fmt 8.0.0 fixeslat9nq2021-07-231-1/+1
|
* shader: Account for 33-bit IADD3 scenarioameerj2021-07-231-2/+10
|
* shader: Only apply shift on register mode for IADD3ReinUsesLisp2021-07-231-10/+14
|
* shader: Use std::bit_cast instead of Common::BitCast for passthroughReinUsesLisp2021-07-231-2/+3
|
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-231-8/+10
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* shader: Only verify shader when graphics debugging is enabledReinUsesLisp2021-07-231-2/+7
|
* shader: Emulate 64-bit integers when not supportedReinUsesLisp2021-07-231-0/+3
| | | | Useful for mobile and Intel Xe devices.
* shader_recompiler: Fix IADD3 input partitioningameerj2021-07-231-14/+13
|
* shader: Move loop safety tests to code emissionReinUsesLisp2021-07-231-33/+4
|
* shader: Calibrate loop safety thresholdReinUsesLisp2021-07-231-1/+1
|
* shader: Simplify MergeDualVertexProgramsReinUsesLisp2021-07-231-6/+4
|
* shader: Properly manage attributes not written from previous stagesReinUsesLisp2021-07-231-1/+3
|
* shader: Add support for native 16-bit floatsReinUsesLisp2021-07-232-4/+7
|
* shader: Rename maxwell/program.h to translate_program.hReinUsesLisp2021-07-232-7/+2
|
* shader: Fix loop safety to SSA passReinUsesLisp2021-07-231-1/+3
|
* shader: Add loggingReinUsesLisp2021-07-233-6/+6
|
* shader: Add shader loop safety check settingslat9nq2021-07-231-4/+38
| | | | Also add a setting for enable Nsight Aftermath.
* shader: Comment why the array component is not read in TMMLReinUsesLisp2021-07-231-0/+2
|
* tmml: Remove index component from coords vecameerj2021-07-231-4/+3
| | | | The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
* shader: Fix VertexA Shaders.FernandoS272021-07-231-5/+14
|
* shader: Add 2D and 3D variants to SUATOM and SUREDReinUsesLisp2021-07-231-0/+4
| | | | Used by Claybook.
* shader: Avoid CPU side undefined behavior on I2FReinUsesLisp2021-07-231-0/+2
|
* shader: Add support for "negative" and unaligned offsetsReinUsesLisp2021-07-231-2/+2
| | | | | | | | | "Negative" offsets don't exist. They are shown as such due to a bug in nvdisasm. Unaligned offsets have been proved to read the aligned offset. For example, when reading an U32, if the offset is 6, the offset read will be 4.
* shader: Implement ISCADD32IReinUsesLisp2021-07-231-17/+31
|
* shader: Always initialize up reference in structure control flowReinUsesLisp2021-07-231-31/+36
| | | | Fixes ubsan issue.
* shader: Fix ImageWrite indexingReinUsesLisp2021-07-231-1/+1
|
* shader: Fix TMML queriesReinUsesLisp2021-07-231-5/+9
|
* shader: Handle host exceptionsReinUsesLisp2021-07-233-5/+11
|
* shader: Read branch conditions from an instructionReinUsesLisp2021-07-231-6/+3
| | | | Fixes the identity removal pass.
* glasm: Implement TEX and TEXS instructionsReinUsesLisp2021-07-232-12/+11
| | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
* shader_recompiler: GCC fixeslat9nq2021-07-232-25/+25
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-231-3/+3
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-235-119/+161
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* shader: Add floating-point rounding to I2FReinUsesLisp2021-07-231-1/+6
|
* shader: ISET.X implementationameerj2021-07-231-8/+58
|
* shader: Optimize NVN FallthroughFernandoS272021-07-231-2/+5
|
* shader: Stub SR_AFFINITYFernandoS272021-07-231-0/+3
|
* shader: Implement Int32 SUATOM/SUREDameerj2021-07-234-5/+207
|
* shader: Initial OpenGL implementationReinUsesLisp2021-07-231-0/+7
|
* shader: Address feedbackFernandoS272021-07-233-24/+24
|
* shader: Implement VertexA stageFernandoS272021-07-232-0/+30
|
* shader: Implement delegation of Exit to dispatcher on CFGFernandoS272021-07-232-3/+47
|
* shader: Fix IADD3.CCameerj2021-07-231-12/+5
|
* shader: Fix VMNMX selector BReinUsesLisp2021-07-231-1/+2
|
* shader: Remove identity removal pass for better build timesReinUsesLisp2021-07-231-1/+0
|
* shader: Refactor atomic_operations_global_memoryameerj2021-07-231-44/+36
|
* shader: add missing include guard in half_floating_point_helper.hameerj2021-07-231-0/+2
|
* shader: Fix gcc warningsReinUsesLisp2021-07-231-1/+1
|
* shader: Improve goto removal algorithm complexityReinUsesLisp2021-07-231-49/+28
| | | | | Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
* shader: Move microinstruction header to the value headerReinUsesLisp2021-07-231-1/+1
|
* shader: Move siblings check to a separate function and comment them outReinUsesLisp2021-07-231-16/+21
|
* shader: Simplify code for local memoryReinUsesLisp2021-07-231-6/+11
|
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-231-0/+43
| | | | | | | When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime.
* shader: Address feedbackFernandoS272021-07-232-7/+10
|
* shader: Implement F2F (Imm)FernandoS272021-07-231-2/+28
|
* shader: Implement IADD3.CC/.XFernandoS272021-07-231-7/+22
|
* shader: Implement SR_Y_DIRECTIONFernandoS272021-07-231-0/+2
|
* shader: Fix memory barriersReinUsesLisp2021-07-231-20/+10
|
* shader: Implement BFE and BFI CCameerj2021-07-232-12/+16
| | | | Fix two bugs in BFI.
* shader: Implement SampleMaskReinUsesLisp2021-07-231-1/+1
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-232-4/+46
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-233-13/+27
|
* shader: Document and relax cache control on surface instructionsReinUsesLisp2021-07-231-10/+11
|
* shader: Implement geometry shadersReinUsesLisp2021-07-232-7/+22
|
* shader: Implement OUTReinUsesLisp2021-07-233-17/+47
|
* internal_stage_buffer_entry_read: Remove pragma optimize offlat9nq2021-07-231-2/+0
|
* shader: Stub SR_INVOCATION_INFOReinUsesLisp2021-07-231-2/+5
|
* shader: Stub ISBERDReinUsesLisp2021-07-232-4/+55
|
* shader: Fix CC in I2IReinUsesLisp2021-07-231-0/+2
|
* shader: Simplify FLO and throw on CCReinUsesLisp2021-07-231-12/+13
|
* shader: Mark blocks with no end branch as unreachableReinUsesLisp2021-07-231-2/+7
|
* shader: Implement LOP CCReinUsesLisp2021-07-231-3/+11
|
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-231-0/+2
|
* shader: Apply sign bit in FCMP (imm)ReinUsesLisp2021-07-231-1/+1
|
* shader: Implement ATOM/S and REDameerj2021-07-233-12/+332
|
* shader: Implement CC for ISET, FSET, PSET, CSET, and DSETFernandoS272021-07-2318-13/+136
| | | | Throw when other instructions are missing CC.
* shader: Remove outdated comment in F2IReinUsesLisp2021-07-231-4/+0
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-2310-59/+338
|
* shader: Fix Windows build issuesReinUsesLisp2021-07-231-1/+1
|
* shader: Address feedback + clang formatlat9nq2021-07-235-14/+14
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-2334-180/+160
| | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
* shader: Fix FCMP immediate variantReinUsesLisp2021-07-231-1/+9
|
* shader: Fix dangling labelsReinUsesLisp2021-07-231-0/+5
|
* shader: Fix F2IReinUsesLisp2021-07-231-1/+1
|
* shader: Address feedbackFernandoS272021-07-231-16/+21
|
* shader: Implement indexed attributesFernandoS272021-07-232-14/+26
|
* shader: Implement AL2PFernandoS272021-07-232-4/+35
|
* shader: Fix BRX trackingFernandoS272021-07-232-3/+4
|
* shader: Fix splits on blocks using indirect branchesReinUsesLisp2021-07-233-17/+38
|
* shader: Eliminate orphan blocks more efficientlyReinUsesLisp2021-07-231-7/+8
|
* shader: Add subgroup masksReinUsesLisp2021-07-231-35/+75
|
* shader: Implement BAR and fix memory barriersReinUsesLisp2021-07-231-2/+56
|
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-231-6/+6
| | | | It may generate better code on some compilers and it's easier to handle.
* shader: Remove unused header in VOTEReinUsesLisp2021-07-231-2/+0
|
* shader: Fix fp16 merge when using native fp16ReinUsesLisp2021-07-231-3/+3
|
* shader: Fix FADD32IReinUsesLisp2021-07-231-6/+4
|
* shader: "Implement" NOPFernandoS272021-07-231-1/+1
|
* shader: Address FeedbackFernandoS272021-07-233-12/+7
|
* shader: Implement SR_LaneIdFernandoS272021-07-231-0/+2
|
* shader: Implement MEMBARFernandoS272021-07-232-11/+56
|
* shader: Improve VOTE.VTG stubFernandoS272021-07-231-1/+4
|
* shader: Stub VOTE.VTGFernandoS272021-07-233-4/+8
|
* shader: Fix branches to visited virtual blocksReinUsesLisp2021-07-231-0/+10
|
* shader: Implement LDG .U.128 as .128ReinUsesLisp2021-07-231-3/+2
|
* shader: Address feedbackFernandoS272021-07-233-37/+33
|
* shader: Always pass a lod for TexelFetchReinUsesLisp2021-07-232-22/+14
|
* shader: Implement TXDFernandoS272021-07-233-10/+182
|
* shader: Implement TMML partiallyFernandoS272021-07-232-8/+130
|
* shader: Implement TLDSFernandoS272021-07-232-4/+252
|
* shader: Implement TLDFernandoS272021-07-233-10/+167
|
* shader: Fix indirect branches to scheduler instructionsReinUsesLisp2021-07-233-7/+17
|
* shader: Implement FSWZADDameerj2021-07-234-4/+49
|
* shader: Implement BRXFernandoS272021-07-2310-44/+327
|
* shader: Implement I2I CCameerj2021-07-231-3/+4
|
* shader: Implement I2I SATameerj2021-07-231-10/+30
|
* shader: Fix ISCADD logic for PO/CCameerj2021-07-231-7/+8
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-233-16/+199
|
* shader: Implement ISCADD CCameerj2021-07-231-1/+4
|
* shader: Implement VMAD, VMNMX, VSETPameerj2021-07-236-13/+301
|
* shader: Add missing I2I exception when CC is usedReinUsesLisp2021-07-231-0/+4
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-232-9/+36
|
* spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2021-07-231-0/+3
|
* shader: Fix structured control flow on KIL instructionsReinUsesLisp2021-07-231-3/+6
| | | | | This could potentially leave unvisited blocks, leading to illegal phi nodes.
* shader: Fix TXQFernandoS272021-07-231-1/+1
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-232-8/+76
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-231-15/+13
|
* shader: Implement TLD4.PTPFernandoS272021-07-232-14/+16
|
* shader: Fix Array Indices in TEX/TLD4FernandoS272021-07-232-6/+6
|
* shader: Implement FragDepthFernandoS272021-07-231-1/+1
|
* shader: Implement TLD4S.FernandoS272021-07-232-4/+133
|
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-233-10/+211
|
* shader: Implement SHFLameerj2021-07-233-6/+71
|
* shader: Properly insert Prologue instructionReinUsesLisp2021-07-231-1/+2
|
* shader: Minor style nitsReinUsesLisp2021-07-231-2/+4
|
* shader: Fix F2IFernandoS272021-07-233-5/+102
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-231-1/+6
|
* shader: Implement VOTEameerj2021-07-232-4/+52
|
* shader: Fix TEX maskReinUsesLisp2021-07-231-1/+3
|
* shader: Better but still partial interpolation supportReinUsesLisp2021-07-231-5/+7
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-236-39/+166
|
* shader: Implement FADD32IFernandoS272021-07-231-2/+15
|
* shader: Implement F2FFernandoS272021-07-232-12/+180
|
* shader: Implement DMUL and DFMAameerj2021-07-237-30/+109
| | | | Also add a missing const on DADD
* shader: Add FP64 register load/store helpersameerj2021-07-233-21/+24
|
* shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2021-07-234-7/+4
|
* shader: Fix floating point comparison for FP16FernandoS272021-07-234-32/+32
|
* shader: Implement HSETP2FernandoS272021-07-232-12/+116
|
* shader: Implement HSET2FernandoS272021-07-234-14/+118
|
* shader: Implement HMUL2FernandoS272021-07-232-16/+143
|
* shader: Implement HFMA2FernandoS272021-07-234-20/+191
|
* shader: Refactor half floating instructionsFernandoS272021-07-233-58/+82
|
* shader: Implement I2FReinUsesLisp2021-07-236-14/+198
|
* shader: Implement ISCADD (imm)ReinUsesLisp2021-07-231-2/+2
|
* shader: Implement LOP32IReinUsesLisp2021-07-232-18/+45
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-2311-43/+178
|
* shader: Implement DADDameerj2021-07-234-14/+120
|
* shader: Implement CSET and CSETPameerj2021-07-232-8/+54
|
* shader: Implement FSET and FSETPameerj2021-07-237-92/+198
| | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
* shader: Implement TEXSReinUsesLisp2021-07-233-4/+262
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-237-99/+869
|
* shader: Implement FMNMXameerj2021-07-233-13/+58
| | | | And add a const in FCMP
* shader: Implement FCMPameerj2021-07-232-16/+116
| | | | still need to configure some settings for NV denorm flush and intel NaN
* shader: Partial implementation of LDCReinUsesLisp2021-07-233-8/+97
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-234-10/+235
|
* shader: Implement R2Pameerj2021-07-232-12/+71
|
* shader: Implement SHFameerj2021-07-232-16/+77
|
* shader: Implement LEAameerj2021-07-232-20/+100
|
* shader: Deduplicate HADD2 codeReinUsesLisp2021-07-231-19/+16
|
* shader: Implement I2Iameerj2021-07-232-12/+99
|
* shader: Implement HADD2ReinUsesLisp2021-07-233-17/+185
|
* shader: Implement LOP and LOP3ameerj2021-07-237-31/+225
|
* shader: Implement IADD3ameerj2021-07-232-12/+103
|
* shader: Implement PSETPameerj2021-07-233-4/+38
|
* Implement PSET, refactor common comparison funcsameerj2021-07-238-101/+87
|
* shader: Implement FLOameerj2021-07-232-12/+46
|
* shader: Implement ISET, add common_funcsameerj2021-07-237-50/+147
|
* shader: Make IMNMX, SHR, SEL stylistically more consistentameerj2021-07-233-5/+5
|
* shader: Implement ICMPameerj2021-07-232-16/+83
|
* shader: Implement IMNMXameerj2021-07-232-12/+59
|
* shader: Implement BFIameerj2021-07-232-16/+56
|
* shader: Implement BFEameerj2021-07-232-12/+66
|
* shader: Implement POPCameerj2021-07-232-12/+36
|
* shader: Implement SHRameerj2021-07-232-12/+62
|
* shader: Implement SELameerj2021-07-232-12/+44
|
* shader: Fix conditional execution of exit instructionsReinUsesLisp2021-07-232-5/+6
|
* shader: Fix control flowReinUsesLisp2021-07-233-4/+4
|
* shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp2021-07-233-22/+70
|
* shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp2021-07-2310-38/+93
|
* shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2021-07-232-5/+5
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-232-9/+9
|
* shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp2021-07-2310-35/+101
|
* shader: Add denorm flush supportReinUsesLisp2021-07-231-4/+15
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-233-16/+50
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-235-23/+27
|
* shader: Simplify ISCADDReinUsesLisp2021-07-231-6/+1
|
* spirv: Initial bindings supportReinUsesLisp2021-07-231-3/+4
|
* shader: Support SSA loops on IRReinUsesLisp2021-07-231-4/+8
|
* shader: Misc fixesReinUsesLisp2021-07-232-4/+4
|
* shader: Initial implementation of an ASTReinUsesLisp2021-07-2310-477/+238
|
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-231-5/+5
|
* shader: Add pools and rename filesReinUsesLisp2021-07-2315-63/+40
|
* shader: Make typed IRReinUsesLisp2021-07-239-46/+74
|
* shader: Constant propagation and global memory to storage bufferReinUsesLisp2021-07-231-2/+4
|
* shader: Initial instruction supportReinUsesLisp2021-07-2316-178/+1039
|
* shader: SSA and dominanceReinUsesLisp2021-07-238-55/+223
|
* shader: Initial recompiler workReinUsesLisp2021-07-2324-0/+3555