ReinUsesLisp
3e5b0c116d
glasm: Release phi node registers after they are no longer needed
2021-07-22 21:51:33 -04:00
ReinUsesLisp
8d77a943cc
glasm: Fix INeg32 on negative immediates
2021-07-22 21:51:33 -04:00
ReinUsesLisp
42a91d4366
glasm: Remove unnecessary value types
2021-07-22 21:51:33 -04:00
ReinUsesLisp
6bf6015548
glasm: Throw when there are register leaks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
143db4b112
glasm: Catch more register leaks
...
Add support for null registers. These are used when an instruction has
no usages.
This comes handy when an instruction is only used for its CC value, with
the caveat of having to invalidate all pseudo-instructions before
defining the instruction itself in the register allocator. This commits
changes this.
Workaround a bug on Nvidia's condition codes conditional execution using
branches.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
a5ce5f4a65
glasm: Fix usage counting on phi nodes
2021-07-22 21:51:33 -04:00
ReinUsesLisp
09ad2b5994
glasm: Implement global memory fallbacks
2021-07-22 21:51:33 -04:00
ReinUsesLisp
46edc93371
glasm: Implement int64 add and subtract
2021-07-22 21:51:33 -04:00
lat9nq
90e2710052
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:33 -04:00
ReinUsesLisp
e9a5390a92
glasm: Implement indirect attribute loads
2021-07-22 21:51:33 -04:00
ReinUsesLisp
2e2d1986b1
glasm: Implement image atomics
2021-07-22 21:51:33 -04:00
ReinUsesLisp
9a2176f883
glasm: Reorder unreachable image atomic insts
...
Reorder them to the bottom of the file for readability.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
26ba81b9bf
glasm: Implement gl_Layer stores
2021-07-22 21:51:33 -04:00
ReinUsesLisp
dd41025472
glasm: Implement SampleId
2021-07-22 21:51:33 -04:00
ReinUsesLisp
5f9dd18113
glasm: Implement IsHelperInvocation
2021-07-22 21:51:33 -04:00
ReinUsesLisp
b0b43d2a66
glasm: Fix EmitVertex's optimization
2021-07-22 21:51:33 -04:00
ReinUsesLisp
94d3b4d7e3
gl_shader_cache,glasm: Conditionally use typeless image reads extension
2021-07-22 21:51:33 -04:00
ReinUsesLisp
16c95ab56d
glasm: Implement forced early Z
2021-07-22 21:51:33 -04:00
ReinUsesLisp
9960abf482
glasm: Simplify patch reads
2021-07-22 21:51:33 -04:00
ReinUsesLisp
8499797b68
glasm: Fix output patch reads
...
With this, Luigi's Mansion's sand renders properly.
2021-07-22 21:51:33 -04:00
ReinUsesLisp
9452fe2dc6
shader: Split profile and runtime information in separate structs
2021-07-22 21:51:33 -04:00
ameerj
22f261e954
emit_glasm_context_get_and_set.cpp: Add missing semicolons
2021-07-22 21:51:33 -04:00
ReinUsesLisp
83ff44531b
glasm: Fix patch attribute declarations
2021-07-22 21:51:33 -04:00
ameerj
68fb25a223
glasm: Implement FSWZADD
2021-07-22 21:51:33 -04:00
ReinUsesLisp
8fa82725d1
glasm: Implement PrimitiveId attribute read
2021-07-22 21:51:33 -04:00
ReinUsesLisp
62f0368ce4
glasm: Implement clip distance stores
2021-07-22 21:51:32 -04:00
ReinUsesLisp
7d0baaa1c9
glasm: Fix tessellation input attributes
2021-07-22 21:51:32 -04:00
ReinUsesLisp
35db68e859
glasm: Add missing semicolon on tesscoord reading
2021-07-22 21:51:32 -04:00
ReinUsesLisp
53705226c6
glasm: Fix tessellation headers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
e8289a4e5f
glasm: Add tessellation shader declarations
2021-07-22 21:51:32 -04:00
ReinUsesLisp
539a4ef59c
glasm: Implement TessellationEvaluationPoint
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2e5002f0bf
glasm: Implement patch memory
2021-07-22 21:51:32 -04:00
ReinUsesLisp
deb47706e9
glasm: Fix InvocationId declaration
2021-07-22 21:51:32 -04:00
ReinUsesLisp
24e3128420
glasm: Implement InvocationId
2021-07-22 21:51:32 -04:00
ReinUsesLisp
8db0554dc6
glasm: Optimize EmitVertex into EMIT
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2268a150ce
glasm: Implement geometry shader attribute reads
2021-07-22 21:51:32 -04:00
ReinUsesLisp
2c0780b9fa
glasm: Properly declare attributes on geometry programs
2021-07-22 21:51:32 -04:00
ReinUsesLisp
1efc77e510
glasm: Declare geometry program headers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
bbc4c8e6b6
glasm: Fix potential aliasing bug on cube array samples
2021-07-22 21:51:32 -04:00
ReinUsesLisp
ea029df649
glasm: Implement ImageWrite
2021-07-22 21:51:32 -04:00
ReinUsesLisp
96d2dd78b0
glasm: Implement ImageRead
2021-07-22 21:51:32 -04:00
ReinUsesLisp
1426ed05b0
glasm: Implement EmitVertex and EndPrimitive
2021-07-22 21:51:32 -04:00
ReinUsesLisp
9c318fe58b
glasm: Implement ImageGradient
2021-07-22 21:51:32 -04:00
ReinUsesLisp
d95e33ac44
glasm: Implement 64-bit shifts
2021-07-22 21:51:32 -04:00
ReinUsesLisp
65e81c75e9
glasm: Implement barriers
2021-07-22 21:51:32 -04:00
ReinUsesLisp
e63efa1b56
glasm: Fix compute stage name
2021-07-22 21:51:32 -04:00
ReinUsesLisp
e59778c5e5
glasm: Fix phi instruction types
2021-07-22 21:51:32 -04:00
ReinUsesLisp
6493d900ce
glasm: Implement PREC on relevant instructions
2021-07-22 21:51:32 -04:00
ReinUsesLisp
601f7bfd00
glasm: Implement stores to gl_ViewportIndex
2021-07-22 21:51:32 -04:00
ReinUsesLisp
0f180aaaa8
glasm: Implement gl_PointSize stores
2021-07-22 21:51:32 -04:00