ReinUsesLisp
b60b3fa113
glasm: Fix compute stage name
5 years ago
ReinUsesLisp
96962c1d3c
glasm: Fix phi instruction types
5 years ago
ReinUsesLisp
91a3c2c1c0
glasm: Implement PREC on relevant instructions
5 years ago
ReinUsesLisp
accad56ee7
glasm: Implement stores to gl_ViewportIndex
5 years ago
ReinUsesLisp
2494dbe183
glasm: Implement gl_PointSize stores
5 years ago
ReinUsesLisp
9415c435fc
glasm: Implement gl_PointCoord
5 years ago
ReinUsesLisp
12dcb9fcc2
glasm: Implement ImageQueryLod
5 years ago
ReinUsesLisp
4a22942f45
glasm: Implement ImageFetch
5 years ago
ameerj
3777592ada
glasm: Implement IADD.CC
5 years ago
ReinUsesLisp
98ed8ff103
glasm: Implement BFE.CC
5 years ago
ReinUsesLisp
2e0d56da7e
glasm: Implement SelectU1
5 years ago
ReinUsesLisp
85fc7e584e
HACK: Bind stages before and after bindings
Works around a bug where program parameters are only applied to the
current stage, and this one wasn't bound at the moment.
Affects all SSBO usages on GLASM.
5 years ago
ReinUsesLisp
e8ed904805
glasm: Implement gl_WorkGroupID
5 years ago
ReinUsesLisp
0a42277a4f
glasm: Implement TXQ and improve texture info reads
5 years ago
ReinUsesLisp
c560bf99c2
glasm: Implement gl_FrongFacing attribute
5 years ago
ReinUsesLisp
8b7d5912d6
glasm: Support textures used in more than one stage
5 years ago
ReinUsesLisp
3d3ed53511
glasm: Implement textureGather instructions
5 years ago
ReinUsesLisp
0fa421f82f
glasm: Implement gl_FragDepth and gl_SampleMask stores
5 years ago
ReinUsesLisp
1ee7f8b943
glasm: Do not alias ConditionRef for now
Immediate condition refs where not handled correctly. Just move the
value for now.
5 years ago
ReinUsesLisp
9bb3e008c9
shader: Read branch conditions from an instruction
Fixes the identity removal pass.
5 years ago
ReinUsesLisp
4bad415bca
glasm: Implement InstanceId and VertexId
5 years ago
ReinUsesLisp
afcb140185
glasm: Add missing return value on move assignment
5 years ago
ReinUsesLisp
fb3ba62b3a
glasm: Fix aliased bitcasts ref counting
5 years ago
ReinUsesLisp
f1b334b9f9
glasm: Remove unintentional comma on vector insert
5 years ago
ReinUsesLisp
ec6fc5fe78
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
c42a6143a5
glasm: Add support for non-2D texture samples
5 years ago
ReinUsesLisp
bee9fb0563
glasm: Reorder unreachable image instructions to the bottom
5 years ago
ReinUsesLisp
e6b4d461d2
glasm: Add support for texture offsets
5 years ago
ReinUsesLisp
bf2949df10
glasm: Improve texture sampling instructions
5 years ago
ReinUsesLisp
db2f0f4108
emit_glasm: Enable ARB_draw_buffers when needed
5 years ago
ReinUsesLisp
3c06293e20
emit_glasm: Add support for reading position attributes
5 years ago
lat9nq
f7a2340205
shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
5 years ago
ameerj
d4f9c798d6
glasm: Implement rest of shared mem
5 years ago
ReinUsesLisp
258f2dec1b
opengl: Initial (broken) support to GLASM shaders
5 years ago
ReinUsesLisp
776ab3ea12
shader: Use a non-trivial dummy to construct ASL node union
5 years ago
ReinUsesLisp
38e7b8c805
emit_spirv: Jump to loop body with local variable
Silence unused variable warning
5 years ago
ReinUsesLisp
464f13fe0b
glasm: Implement derivative instructions on GLASM
5 years ago
ReinUsesLisp
9fb2ea08e8
glasm: Initial (broken) implementation of TEX on GLASM
5 years ago
ReinUsesLisp
1f3446b47e
glasm: Implement some graphics instructions on GLASM
5 years ago
ReinUsesLisp
31d402ee74
glasm: Add Void type to GLASM values
5 years ago
ReinUsesLisp
3764750339
glasm: Add graphics specific shader declarations to GLASM
5 years ago
ameerj
057dee4856
glasm: Implement local memory for glasm
5 years ago
ReinUsesLisp
ab5dbe7c29
emit_spirv: Add missing block in case
5 years ago
ReinUsesLisp
bf5e48ffe4
glasm: Initial implementation of phi nodes on GLASM
5 years ago
ReinUsesLisp
0f88fb5d72
glasm: Write result to scalar on integer comparison instructions
5 years ago
ReinUsesLisp
d4385c34e3
glasm: Declare NV_shader_thread_group when needed
5 years ago
ReinUsesLisp
568d813eea
vk_update_descriptor: Properly initialize payload on the update descriptor queue
5 years ago
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.
5 years ago
ameerj
7ff5851608
glasm: Implement Storage atomics
StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit
result into the register
5 years ago
ReinUsesLisp
8c81a20ace
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