ReinUsesLisp
96d2dd78b0
glasm: Implement ImageRead
5 years ago
ReinUsesLisp
601f7bfd00
glasm: Implement stores to gl_ViewportIndex
5 years ago
ReinUsesLisp
0c82ee3444
glasm: Support textures used in more than one stage
5 years ago
ReinUsesLisp
5c6dc51c69
shader: Read branch conditions from an instruction
Fixes the identity removal pass.
5 years ago
ReinUsesLisp
0b3a3f35e8
glasm: Implement TEX and TEXS instructions
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
5 years ago
ReinUsesLisp
22fb9cc538
emit_glasm: Enable ARB_draw_buffers when needed
5 years ago
lat9nq
69210028b4
shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
5 years ago
ReinUsesLisp
58cf7baaea
glasm: Add Void type to GLASM values
5 years ago
ReinUsesLisp
6758e3d946
glasm: Add graphics specific shader declarations to GLASM
5 years ago
ameerj
d0c4cca02d
glasm: Implement local memory for glasm
5 years ago
ReinUsesLisp
f2ae32fa76
glasm: Initial implementation of phi nodes on GLASM
5 years ago
ReinUsesLisp
ffdaa42529
glasm: Declare NV_shader_thread_group when needed
5 years ago
ReinUsesLisp
03f6d424ce
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.
5 years ago
ameerj
8a556b49cf
glasm: Implement Storage atomics
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
5 years ago
ReinUsesLisp
8331e533f4
glasm: Ensure reg alloc order across compilers on GLASM
Use a struct constructor to serialize register allocation arguments to
ensure registers are allocated in the same order regardless of the
compiler used.
The A and B functions can be called in any order when passed as
arguments to "foo":
foo(A(), B())
But the order is guaranteed for curly-braced constructor calls in
classes:
Foo{A(), B()}
Use this to get consistent behavior.
5 years ago
ReinUsesLisp
d9a11b2388
glasm: Enable unintentionally disabled register aliasing on GLASM
5 years ago
ReinUsesLisp
7273fcab95
glasm: Implement shuffle and vote instructions on GLASM
5 years ago
ReinUsesLisp
cfff5bad59
glasm: Fix register allocation when moving immediate on GLASM
5 years ago
ReinUsesLisp
b5b5006016
glasm: Fix moving U64 immediates to registers in GLASM
5 years ago
ameerj
55801889e1
glasm: Implement storage atomic ops
5 years ago
ReinUsesLisp
cbac486530
glasm: Add conversion instructions to GLASM
5 years ago
ReinUsesLisp
fc009ca296
glasm: Initial GLASM fp64 support
5 years ago
ReinUsesLisp
8de3f88656
glasm: Implement GLASM fp16 packing and move bitwise insns
5 years ago
ReinUsesLisp
04ed27a997
glasm: Make GLASM aware of types
5 years ago
ReinUsesLisp
fdd87ffdb7
glasm: Remove unused argument in identity instructions on GLASM
5 years ago
ReinUsesLisp
6c0a696179
glasm: Implement basic GLASM instructions
5 years ago
ReinUsesLisp
d9b9c10f32
glasm: Add GLASM backend infrastructure
5 years ago