ReinUsesLisp
b9c8814ea9
glasm: Implement undef instructions
2021-07-22 21:51:33 +07:00
ReinUsesLisp
8763cc1ff7
glasm: Fix global memory callbacks
2021-07-22 21:51:33 +07:00
ReinUsesLisp
a41b2ed391
gl_shader_cache: Add disk shader cache
2021-07-22 21:51:33 +07:00
ReinUsesLisp
a49532c8eb
video_core,shader: Clang-format fixes
2021-07-22 21:51:33 +07:00
ReinUsesLisp
eacf18cce9
gl_shader_cache: Rename Program abstractions into Pipeline
2021-07-22 21:51:33 +07:00
ReinUsesLisp
48aafe0961
glasm: Release phi node registers after they are no longer needed
2021-07-22 21:51:33 +07:00
ReinUsesLisp
77ee733c3a
glasm: Remove unintentionally committed fmt::prints
2021-07-22 21:51:33 +07:00
ReinUsesLisp
70c9281fbf
glasm: Fix INeg32 on negative immediates
2021-07-22 21:51:33 +07:00
ReinUsesLisp
75fd0079db
glasm: Remove unnecessary value types
2021-07-22 21:51:33 +07:00
ReinUsesLisp
379b305b4b
glasm: Throw when there are register leaks
2021-07-22 21:51:33 +07:00
ReinUsesLisp
ca05a13c62
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 +07:00
ReinUsesLisp
9fbfe7d676
glasm: Fix usage counting on phi nodes
2021-07-22 21:51:33 +07:00
ReinUsesLisp
4017928213
gl_shader_cache: Do not flip tessellation on OpenGL
2021-07-22 21:51:33 +07:00
ReinUsesLisp
80884e3270
gl_graphics_program: Fix texture buffer bindings
2021-07-22 21:51:33 +07:00
ReinUsesLisp
c721767bcc
glasm: Implement global memory fallbacks
2021-07-22 21:51:33 +07:00
ReinUsesLisp
0794273870
glasm: Implement int64 add and subtract
2021-07-22 21:51:33 +07:00
lat9nq
7fdf0d7d33
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:33 +07:00
ReinUsesLisp
e30d4fa976
glasm: Implement indirect attribute loads
2021-07-22 21:51:33 +07:00
ReinUsesLisp
c8414e686f
glasm: Implement image atomics
2021-07-22 21:51:33 +07:00
ReinUsesLisp
3a7ca6a7db
glasm: Reorder unreachable image atomic insts
...
Reorder them to the bottom of the file for readability.
2021-07-22 21:51:33 +07:00
ReinUsesLisp
e565eb361a
glasm: Implement gl_Layer stores
2021-07-22 21:51:33 +07:00
ReinUsesLisp
89e341d56a
glasm: Implement SampleId
2021-07-22 21:51:33 +07:00
ReinUsesLisp
77d8c44b68
glasm: Implement IsHelperInvocation
2021-07-22 21:51:33 +07:00
ReinUsesLisp
ddf601919f
glasm: Fix EmitVertex's optimization
2021-07-22 21:51:33 +07:00
ReinUsesLisp
1bccb43cbe
gl_shader_cache: Conditionally use viewport mask
2021-07-22 21:51:33 +07:00
ReinUsesLisp
c31521512f
gl_shader_cache,glasm: Conditionally use typeless image reads extension
2021-07-22 21:51:33 +07:00
ReinUsesLisp
df406246d9
gl_shader_cache: Improve GLASM error print logic
2021-07-22 21:51:33 +07:00
ReinUsesLisp
84feabac88
glasm: Implement forced early Z
2021-07-22 21:51:33 +07:00
ReinUsesLisp
6bc54e12a0
glasm: Set transform feedback state
2021-07-22 21:51:33 +07:00
ReinUsesLisp
69b910e9e7
video_core: Abstract transform feedback translation utility
2021-07-22 21:51:33 +07:00
ReinUsesLisp
7dadb2bef3
glasm: Simplify patch reads
2021-07-22 21:51:33 +07:00
ReinUsesLisp
b382f57b28
glasm: Fix output patch reads
...
With this, Luigi's Mansion's sand renders properly.
2021-07-22 21:51:33 +07:00
ReinUsesLisp
c07cc9d6a5
gl_shader_cache: Pass shader runtime information
2021-07-22 21:51:33 +07:00
ReinUsesLisp
9e7b6622c2
shader: Split profile and runtime information in separate structs
2021-07-22 21:51:33 +07:00
ameerj
eb15667905
emit_glasm_context_get_and_set.cpp: Add missing semicolons
2021-07-22 21:51:33 +07:00
ReinUsesLisp
781a87175c
glasm: Fix patch attribute declarations
2021-07-22 21:51:33 +07:00
ameerj
36d040da70
glasm: Implement FSWZADD
2021-07-22 21:51:33 +07:00
ReinUsesLisp
3da7b98d37
glasm: Implement PrimitiveId attribute read
2021-07-22 21:51:33 +07:00
ReinUsesLisp
394b96a2fe
glasm: Implement clip distance stores
2021-07-22 21:51:32 +07:00
ReinUsesLisp
a5d978e91e
glasm: Fix tessellation input attributes
2021-07-22 21:51:32 +07:00
ReinUsesLisp
0d7d85c81e
glasm: Add missing semicolon on tesscoord reading
2021-07-22 21:51:32 +07:00
ReinUsesLisp
48d4e26326
glasm: Fix tessellation headers
2021-07-22 21:51:32 +07:00
ReinUsesLisp
9ec2303ad6
glasm: Add tessellation shader declarations
2021-07-22 21:51:32 +07:00
ReinUsesLisp
2913ca811e
glasm: Implement TessellationEvaluationPoint
2021-07-22 21:51:32 +07:00
ReinUsesLisp
54decced92
gl_shader_manager: Zero initialize current assembly programs
2021-07-22 21:51:32 +07:00
ReinUsesLisp
c0e4074721
gl_shader_manager: Remove unintentionally committed #pragma
2021-07-22 21:51:32 +07:00
ReinUsesLisp
a569ac418e
glasm: Implement patch memory
2021-07-22 21:51:32 +07:00
ReinUsesLisp
164b8c1ec5
glasm: Fix InvocationId declaration
2021-07-22 21:51:32 +07:00
ReinUsesLisp
d5db96386d
glasm: Implement InvocationId
2021-07-22 21:51:32 +07:00
ReinUsesLisp
679e7146a7
glasm: Optimize EmitVertex into EMIT
2021-07-22 21:51:32 +07:00