Commit Graph

40 Commits (808ef97a086e7cc58a3ceded1de516ad6a6be5d3)

Author SHA1 Message Date
ReinUsesLisp 808ef97a08 shader: Move loop safety tests to code emission
ReinUsesLisp 61cd7dd301 shader: Add logging
lat9nq 373f75d944 shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
ReinUsesLisp 8f3043c3cf Revert "glasm: Skip phi moves on undefined instructions"
Causes regressions on Bowser's Fury.
ReinUsesLisp 2aa30353b7 glasm: Remove unintentional '\n' on Undef32
ReinUsesLisp f58f79c85d glasm: Implement Y direction
ReinUsesLisp 586c785366 glasm: Skip phi moves on undefined instructions
ReinUsesLisp b9c8814ea9 glasm: Implement undef instructions
ReinUsesLisp 48aafe0961 glasm: Release phi node registers after they are no longer needed
ReinUsesLisp 9fbfe7d676 glasm: Fix usage counting on phi nodes
ReinUsesLisp 89e341d56a glasm: Implement SampleId
ReinUsesLisp 77d8c44b68 glasm: Implement IsHelperInvocation
ReinUsesLisp ddf601919f glasm: Fix EmitVertex's optimization
ReinUsesLisp d5db96386d glasm: Implement InvocationId
ReinUsesLisp 679e7146a7 glasm: Optimize EmitVertex into EMIT
ReinUsesLisp 3d0ffc6ad0 glasm: Implement EmitVertex and EndPrimitive
ReinUsesLisp d957b3a8fe glasm: Implement barriers
ReinUsesLisp 96962c1d3c glasm: Fix phi instruction types
ReinUsesLisp e8ed904805 glasm: Implement gl_WorkGroupID
ReinUsesLisp 9bb3e008c9 shader: Read branch conditions from an instruction
Fixes the identity removal pass.
ReinUsesLisp 9fb2ea08e8 glasm: Initial (broken) implementation of TEX on GLASM
ReinUsesLisp 1f3446b47e glasm: Implement some graphics instructions on GLASM
ameerj 057dee4856 glasm: Implement local memory for glasm
ReinUsesLisp bf5e48ffe4 glasm: Initial implementation of phi nodes on GLASM
ReinUsesLisp d54d7de40e glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
ameerj 7ff5851608 glasm: Implement Storage atomics
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
ReinUsesLisp c4fd6b55bc glasm: Implement shuffle and vote instructions on GLASM
ameerj 80813b1d14 glasm: Implement storage atomic ops
ReinUsesLisp ad61b47f80 glasm: Add conversion instructions to GLASM
ReinUsesLisp 43a448d98d glasm: Add logical instructions on GLASM
ReinUsesLisp 99352741af glasm: Remove duplicated Fp64 pack instructions on GLASM
ReinUsesLisp b4953e79ee glasm: Add floating-point comparisons on GLASM
ameerj 3e10709091 glasm: Reimplement bitwise ops and BFI/BFE
ReinUsesLisp 4502595bc2 glasm: Initial GLASM fp64 support
ReinUsesLisp 9f851e3832 glasm: Implement GLASM fp16 packing and move bitwise insns
ReinUsesLisp 4de65fbff4 glasm: Remove unused functions left from rebase
ReinUsesLisp 1c9307969c glasm: Make GLASM aware of types
ameerj 941c6dc740 glasm: Implement BFI, BFE
Along with implementations of common instructions along the way
ReinUsesLisp 6fd190d1ae glasm: Implement basic GLASM instructions
ReinUsesLisp b10cf64c48 glasm: Add GLASM backend infrastructure