Liam
2f1e87dd83
shader_recompiler: translate f64 to f32 when unsupported on host
3 years ago
Liam
505923f0f3
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit 8804a4eb23 .
3 years ago
Billy Laws
d34275a260
Avoid OOB array access reading passthrough attr mask
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
3 years ago
Billy Laws
58fec43768
Run clang-format
3 years ago
Billy Laws
625a4af73a
shader_recompiler: Add support for lowering geometry passthrough
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
3 years ago
Billy Laws
8804a4eb23
shader_recompiler: Align SSBO offsets to meet host requirements
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
3 years ago
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
3 years ago
Liam
3ef006b5ab
shader_recompiler: add gl_Layer translation GS for older hardware
3 years ago
Morph
c9bb888adf
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
3 years ago
FengChen
20139f8a55
Address feedback
3 years ago
FengChen
d4cb0eac87
video_core: Fix legacy to generic location unpaired
3 years ago
FengChen
9a95c7fa14
video_core: Generate mipmap texture by drawing
3 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
Fernando Sahmkow
185fc03c3c
Shader decompiler: do constant propgation before texture pass.
4 years ago
vonchenplus
4908a07c20
Address format clang
4 years ago
Feng Chen
4dd85f86a8
Implement convert legacy to generic
4 years ago
ameerj
99eec162da
rescaling_pass: Logic simplification and minor style cleanup
4 years ago
Fernando Sahmkow
b3a9c8f108
Shader: Don't rescale FragCoord if used by Shuffle
4 years ago
ReinUsesLisp
656adee630
spirv: Implement rescaling patching
4 years ago
Fernando Sahmkow
c50ad56bf5
ShaderCache: Order Phi Arguments from farthest away to nearest.
4 years ago
ameerj
4fda7f1c82
structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
4 years ago
ReinUsesLisp
bf2956d77a
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ReinUsesLisp
2235a51b5d
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago
ReinUsesLisp
8612b5fec5
shader: Use std::bit_cast instead of Common::BitCast for passthrough
5 years ago
ReinUsesLisp
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
5 years ago
ReinUsesLisp
ecd6b4356b
shader: Only verify shader when graphics debugging is enabled
5 years ago
ReinUsesLisp
fb166b5ff4
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
1091995f8e
shader: Simplify MergeDualVertexPrograms
5 years ago
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
cbbca26d18
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
376aa94819
shader: Rename maxwell/program.h to translate_program.h
5 years ago
FernandoS27
562af30181
shader: Fix VertexA Shaders.
5 years ago
ReinUsesLisp
b7764c3a79
shader: Handle host exceptions
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
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
FernandoS27
ee61ec2c39
shader: Optimize NVN Fallthrough
5 years ago
FernandoS27
c49d56c931
shader: Address feedback
5 years ago
FernandoS27
b541f5e5e3
shader: Implement VertexA stage
5 years ago
ReinUsesLisp
fe25f42403
shader: Remove identity removal pass for better build times
5 years ago
ReinUsesLisp
7018e524f5
shader: Add NVN storage buffer fallbacks
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
5 years ago
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
ReinUsesLisp
f263760c5a
shader: Implement geometry shaders
5 years ago
FernandoS27
1d51803169
shader: Implement indexed attributes
5 years ago
ReinUsesLisp
9e6fe430bd
shader: Fix splits on blocks using indirect branches
5 years ago
ReinUsesLisp
ffca21487f
shader: Eliminate orphan blocks more efficiently
5 years ago
ReinUsesLisp
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
5 years ago
ReinUsesLisp
dbd882ddeb
shader: Better interpolation and disabled attributes support
5 years ago
ReinUsesLisp
675a82416d
spirv: Remove dependencies on Environment when generating SPIR-V
5 years ago
ReinUsesLisp
260743f371
shader: Add partial rasterizer integration
5 years ago
ReinUsesLisp
71f96fa636
shader: Implement CAL inlining function calls
5 years ago