ameerj
e6a0f0f384
glsl: remove unused headers
5 years ago
ameerj
b96d76fa7e
glsl: Implement derivatives and YDirection
plus some other misc additions/changed
5 years ago
ameerj
ac6135774f
glsl: Fix non-immediate buffer access
and many other misc implementations
5 years ago
ameerj
2328b0b2a8
glsl: textures wip
5 years ago
ameerj
32328acc39
glsl: Implement some attribute getters and setters
5 years ago
ameerj
c8b2a5a4f3
glsl: Track S32 atomics
5 years ago
ameerj
ee45d46f9e
glsl: Update phi node management
5 years ago
ameerj
4eb02b106f
glsl: Fix floating point compare ops
Logic for ordered/unordered ops was wrong.
5 years ago
ameerj
ce2ddb7d69
glsl: Query GL Device for FP16 extension support
5 years ago
ameerj
1d88049eaf
glsl: Simply FP storage atomics
5 years ago
ameerj
0adc9d2fc1
glsl: F16x2 storage atomics
5 years ago
ameerj
5fa21197b9
glsl: Revert ssbo aliasing. Storage Atomics impl
5 years ago
ameerj
3d950a8d18
glsl: implement phi nodes
5 years ago
ameerj
659eecb295
glsl: Wip storage atomic ops
5 years ago
ameerj
b3fce08191
glsl: Implement FCMP
5 years ago
ameerj
7febd59ce1
glsl: Add a more robust fp formatter
5 years ago
ameerj
bf40d10805
glsl: More FP fixes
5 years ago
ameerj
d7656077bf
glsl: FP function fixes
5 years ago
ameerj
30f47ec831
glsl: More FP instructions/fixes
5 years ago
ameerj
1dae770c9d
glsl: Add many FP32/64 instructions
5 years ago
ameerj
1df4541247
glsl: Implement more Integer ops
5 years ago
ameerj
fc36d45a97
glsl: Implement BF*
5 years ago
ameerj
eea0726cd5
glsl: Implement a few Integer instructions
5 years ago
ameerj
0c315dae67
glsl: Use std::string_view for Emit function args.
5 years ago
ameerj
b2cd8e4588
glsl: Pass IR::Inst& to Emit functions
5 years ago
ameerj
c01220d25a
glsl: INeg and IAdd negate tests
5 years ago
ameerj
6ee142d3e4
glsl: Reusable typed variables. IADD32
5 years ago
ameerj
690e6a79c7
glsl: Fix program linking and cbuf
5 years ago
ameerj
3355c467e0
glsl: Fix "reg" allocing
based on glasm with some tweaks
5 years ago
ameerj
fda83fe3c5
glsl: Initial backend
5 years ago
ReinUsesLisp
04fed81921
spirv: Reduce log severity of mismatching denorm rules
5 years ago
ReinUsesLisp
574a99b9b3
shader: Fix loop safety to SSA pass
5 years ago
ReinUsesLisp
f40daa777e
shader: Add logging
5 years ago
lat9nq
3a70b6c79b
shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
5 years ago
ReinUsesLisp
a56f9f4322
shader: Comment why the array component is not read in TMML
5 years ago
ameerj
4c1067ef1c
tmml: Remove index component from coords vec
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
5 years ago
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
ameerj
1bbecac1d2
shader_environment: Add shader_local_memory_crs_size to local memory size
Fixes DOOM 2016 missing local memory
5 years ago
FernandoS27
be4d1c9b95
shader: Fix VertexA Shaders.
5 years ago
ReinUsesLisp
64dfb4220f
shader: Add 2D and 3D variants to SUATOM and SURED
Used by Claybook.
5 years ago
ReinUsesLisp
1dd4302fac
shader: Avoid CPU side undefined behavior on I2F
5 years ago
ReinUsesLisp
5fa6d7a3b9
glasm: Use ARB_derivative_control conditionally
5 years ago
ReinUsesLisp
535fb4e6b5
buffer_cache: Reduce uniform buffer size from shader usage
Increases performance significantly on certain titles.
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
bebebf3fa8
shader: Track 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
e3aedea124
shader: Implement ISCADD32I
5 years ago