ameerj
60b33bdc9f
spirv/convert: Catch more signed operations oversights
The sign bit on integers of size < 32 was not properly preserved in casts
5 years ago
ReinUsesLisp
4fedf2c20a
spirv/convert: Catch more broken signed operations on Nvidia OpenGL
BitCast U32 to S32 before converting to float on drivers with broken
signed operations.
5 years ago
ReinUsesLisp
5fa6d7a3b9
glasm: Use ARB_derivative_control conditionally
5 years ago
lat9nq
6e9eab2c32
emit_glasm_context_get_set: Remove unused variable
5 years ago
ReinUsesLisp
34d1a2ffe5
shader,glasm: Implement legacy texcoord loads
5 years ago
ReinUsesLisp
b9a0a742fa
glasm: Implement legacy varyings
5 years ago
ReinUsesLisp
4744a21bd4
shader: Add support for "negative" and unaligned offsets
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
5 years ago
ReinUsesLisp
d27dbec3e6
spirv: Fix output generics with components
5 years ago
ReinUsesLisp
9750e0410b
opengl: Declare fragment outputs even if they are not used
Fixes Ori and the Blind Forest's menu on GLASM. For some reason
(probably high level optimizations) it is not sanitized on SPIR-V for
OpenGL. Vulkan is unaffected by this change.
5 years ago
ReinUsesLisp
f7508aa014
spirv: Fix image and image buffer descriptor index usage
5 years ago
ReinUsesLisp
bd96e0a436
glasm: Fix immediate texture coordinate
5 years ago
ReinUsesLisp
1a02dee23a
glasm: Reduce reg allocation leaks from an exception to a log
5 years ago
ReinUsesLisp
50e491f101
glasm: Use integer lod for TXQ
5 years ago
ReinUsesLisp
5339775f96
glasm: Fix global memory fallbacks
5 years ago
ReinUsesLisp
0ca75be20a
Revert "glasm: Skip phi moves on undefined instructions"
Causes regressions on Bowser's Fury.
5 years ago
ReinUsesLisp
e607d856c2
glasm: Remove unintentional '\n' on Undef32
5 years ago
ReinUsesLisp
df14567fcc
glasm: Use storage buffers instead of global memory when possible
5 years ago
ReinUsesLisp
ec19b0d7eb
glasm: Implement Y direction
5 years ago
ReinUsesLisp
459e3b17e6
glasm: Skip phi moves on undefined instructions
5 years ago
ReinUsesLisp
91a375b557
glasm: Implement undef instructions
5 years ago
ReinUsesLisp
93b8943fae
glasm: Fix global memory callbacks
5 years ago
ReinUsesLisp
3e5b0c116d
glasm: Release phi node registers after they are no longer needed
5 years ago
ReinUsesLisp
8d77a943cc
glasm: Fix INeg32 on negative immediates
5 years ago
ReinUsesLisp
42a91d4366
glasm: Remove unnecessary value types
5 years ago
ReinUsesLisp
6bf6015548
glasm: Throw when there are register leaks
5 years ago
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.
5 years ago
ReinUsesLisp
a5ce5f4a65
glasm: Fix usage counting on phi nodes
5 years ago
ReinUsesLisp
09ad2b5994
glasm: Implement global memory fallbacks
5 years ago
ReinUsesLisp
46edc93371
glasm: Implement int64 add and subtract
5 years ago
lat9nq
90e2710052
emit_glasm_context_get_set: Remove unused variable
5 years ago
ReinUsesLisp
e9a5390a92
glasm: Implement indirect attribute loads
5 years ago
ReinUsesLisp
2e2d1986b1
glasm: Implement image atomics
5 years ago
ReinUsesLisp
9a2176f883
glasm: Reorder unreachable image atomic insts
Reorder them to the bottom of the file for readability.
5 years ago
ReinUsesLisp
26ba81b9bf
glasm: Implement gl_Layer stores
5 years ago
ReinUsesLisp
dd41025472
glasm: Implement SampleId
5 years ago
ReinUsesLisp
5f9dd18113
glasm: Implement IsHelperInvocation
5 years ago
ReinUsesLisp
b0b43d2a66
glasm: Fix EmitVertex's optimization
5 years ago
ReinUsesLisp
94d3b4d7e3
gl_shader_cache,glasm: Conditionally use typeless image reads extension
5 years ago
ReinUsesLisp
16c95ab56d
glasm: Implement forced early Z
5 years ago
ReinUsesLisp
9960abf482
glasm: Simplify patch reads
5 years ago
ReinUsesLisp
8499797b68
glasm: Fix output patch reads
With this, Luigi's Mansion's sand renders properly.
5 years ago
ReinUsesLisp
9452fe2dc6
shader: Split profile and runtime information in separate structs
5 years ago
ameerj
22f261e954
emit_glasm_context_get_and_set.cpp: Add missing semicolons
5 years ago
ReinUsesLisp
83ff44531b
glasm: Fix patch attribute declarations
5 years ago
ameerj
68fb25a223
glasm: Implement FSWZADD
5 years ago
ReinUsesLisp
8fa82725d1
glasm: Implement PrimitiveId attribute read
5 years ago
ReinUsesLisp
62f0368ce4
glasm: Implement clip distance stores
5 years ago
ReinUsesLisp
7d0baaa1c9
glasm: Fix tessellation input attributes
5 years ago
ReinUsesLisp
35db68e859
glasm: Add missing semicolon on tesscoord reading
5 years ago
ReinUsesLisp
53705226c6
glasm: Fix tessellation headers
5 years ago