summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj1-1/+1
2023-01-26shader_recompiler: Remove S32 IR typeameerj1-1/+0
The frontend IR opcodes do not distinguish between signed and unsigned integer types. Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2022-11-07video_core: Fix few issues in Tess stageFengChen1-0/+1
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen1-0/+1
2022-09-20video_core: Generate mipmap texture by drawingFengChen1-0/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-01-30shaders: Add U64->U32x2 Atomic fallback functionsameerj1-0/+31
2021-12-30shader: Add integer attribute get optimization passameerj1-0/+1
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp1-0/+1
Thanks for everything!
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp1-0/+1
2021-11-16shader: Add integer division opcodesReinUsesLisp1-0/+2
2021-11-16shader: Add resolution down factor opcodeReinUsesLisp1-0/+1
2021-07-23shader: Remove IAbs64ReinUsesLisp1-1/+0
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp1-2/+0
2021-07-23shader: Add shader loop safety check settingslat9nq1-0/+2
Also add a setting for enable Nsight Aftermath.
2021-07-23glasm: Use integer lod for TXQReinUsesLisp1-1/+1
2021-07-23glasm: Implement Y directionReinUsesLisp1-1/+1
2021-07-23glasm: Implement undef instructionsReinUsesLisp1-5/+5
2021-07-23glasm: Fix usage counting on phi nodesReinUsesLisp1-1/+1
2021-07-23glasm: Implement global memory fallbacksReinUsesLisp1-11/+11
2021-07-23glasm: Implement int64 add and subtractReinUsesLisp1-2/+2
2021-07-23glasm: Implement indirect attribute loadsReinUsesLisp1-1/+1
2021-07-23glasm: Implement SampleIdReinUsesLisp1-1/+1
2021-07-23glasm: Implement IsHelperInvocationReinUsesLisp1-1/+1
2021-07-23glasm: Implement FSWZADDameerj1-1/+2
2021-07-23glasm: Implement patch memoryReinUsesLisp1-1/+1
2021-07-23glasm: Fix InvocationId declarationReinUsesLisp1-1/+1
2021-07-23glasm: Fix potential aliasing bug on cube array samplesReinUsesLisp1-4/+4
2021-07-23glasm: Implement EmitVertex and EndPrimitiveReinUsesLisp1-1/+1
2021-07-23glasm: Implement ImageGradientReinUsesLisp1-2/+3
2021-07-23glasm: Implement 64-bit shiftsReinUsesLisp1-3/+5
2021-07-23glasm: Implement ImageFetchReinUsesLisp1-2/+2
2021-07-23glasm: Implement SelectU1ReinUsesLisp1-1/+2
2021-07-23glasm: Implement gl_WorkGroupIDReinUsesLisp1-1/+1
2021-07-23glasm: Implement TXQ and improve texture info readsReinUsesLisp1-1/+1
2021-07-23glasm: Implement textureGather instructionsReinUsesLisp1-4/+5
2021-07-23glasm: Implement gl_FragDepth and gl_SampleMask storesReinUsesLisp1-1/+1
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp1-1/+2
Fixes the identity removal pass.
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp1-3/+3
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23glasm: Improve texture sampling instructionsReinUsesLisp1-27/+27
2021-07-23glasm: Implement rest of shared memameerj1-6/+6
2021-07-23glasm: Implement derivative instructions on GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Implement local memory for glasmameerj1-1/+1
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp1-1/+2
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-6/+1
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Implement Storage atomicsameerj1-13/+25
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp1-14/+14
2021-07-23glasm: Add MUFU instructions to GLASMReinUsesLisp1-7/+7
2021-07-23glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp1-2/+2
2021-07-23glasm: Implement SelectU64 on GLASMReinUsesLisp1-1/+2
2021-07-23glasm: Implement storage atomic opsameerj1-54/+54
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp1-60/+62
2021-07-23glasm: Add fp min/max insts and fix store for fp64 on GLASMReinUsesLisp1-2/+2
2021-07-23glasm: Add logical instructions on GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Add floating-point comparisons on GLASMReinUsesLisp1-27/+27
2021-07-23emit_glasm: Implement more integer alu opsameerj1-11/+11
2021-07-23glasm: Reimplement bitwise ops and BFI/BFEameerj1-16/+18
2021-07-23glasm: Initial GLASM fp64 supportReinUsesLisp1-6/+6
2021-07-23glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp1-2/+2
2021-07-23glasm: Implement more GLASM composite instructionsReinUsesLisp1-10/+15
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp1-457/+387
2021-07-23glasm: Use CMP.S for Select32ameerj1-2/+2
also fixes ADD and SUB to use U modifier
2021-07-23glasm: Implement BFI, BFEameerj1-31/+35
Along with implementations of common instructions along the way
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp1-80/+97
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp1-0/+650