Billy Laws
535e297ebd
Run clang-format
3 years ago
Billy Laws
a92251c623
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
ae868e7ffb
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
7842543573
MacroHLE: Add HLE replacement for base vertex and base instance.
3 years ago
Liam
e8966fd1f9
shader_recompiler: add gl_Layer translation GS for older hardware
3 years ago
Morph
fc301cf777
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
3 years ago
FengChen
67007ae698
Address feedback
3 years ago
FengChen
1dd5d8fc8e
video_core: Fix legacy to generic location unpaired
3 years ago
FengChen
38e9c78843
video_core: Generate mipmap texture by drawing
3 years ago
Morph
2b87305d31
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
05054d1dc2
Shader decompiler: do constant propgation before texture pass.
4 years ago
vonchenplus
8fe519b656
Address format clang
4 years ago
Feng Chen
dbfa89c40b
Implement convert legacy to generic
4 years ago
ameerj
63465c24e1
rescaling_pass: Logic simplification and minor style cleanup
4 years ago
Fernando Sahmkow
4535feac87
Shader: Don't rescale FragCoord if used by Shuffle
4 years ago
ReinUsesLisp
e63fc7a4bb
spirv: Implement rescaling patching
4 years ago
Fernando Sahmkow
c9bee9e96e
ShaderCache: Order Phi Arguments from farthest away to nearest.
4 years ago
ameerj
e9a8e011f6
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
2321666580
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ReinUsesLisp
cdb3837085
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago
ReinUsesLisp
41b2a991c4
shader: Use std::bit_cast instead of Common::BitCast for passthrough
5 years ago
ReinUsesLisp
b1df436cef
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
6db3ba6542
shader: Only verify shader when graphics debugging is enabled
5 years ago
ReinUsesLisp
0a75c400e3
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
16d28031e7
shader: Simplify MergeDualVertexPrograms
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
52be21495e
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
41c634a7a9
shader: Rename maxwell/program.h to translate_program.h
5 years ago
FernandoS27
be4d1c9b95
shader: Fix VertexA Shaders.
5 years ago
ReinUsesLisp
672930b6c8
shader: Handle host exceptions
5 years ago
lat9nq
69210028b4
shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
5 years ago
ReinUsesLisp
03f6d424ce
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
007a11014c
shader: Optimize NVN Fallthrough
5 years ago
FernandoS27
6aff9b4476
shader: Address feedback
5 years ago
FernandoS27
a2fac91c47
shader: Implement VertexA stage
5 years ago
ReinUsesLisp
1d861a6e90
shader: Remove identity removal pass for better build times
5 years ago
ReinUsesLisp
e54171c1a9
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
38908d0f7e
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
ReinUsesLisp
4b32692423
shader: Implement geometry shaders
5 years ago
FernandoS27
1fe6a22cff
shader: Implement indexed attributes
5 years ago
ReinUsesLisp
64372edffb
shader: Fix splits on blocks using indirect branches
5 years ago
ReinUsesLisp
e2d1e21532
shader: Eliminate orphan blocks more efficiently
5 years ago
ReinUsesLisp
6044946495
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
5 years ago
ReinUsesLisp
e6b3119910
shader: Better interpolation and disabled attributes support
5 years ago
ReinUsesLisp
96a54aeea8
spirv: Remove dependencies on Environment when generating SPIR-V
5 years ago
ReinUsesLisp
33090a74dd
shader: Add partial rasterizer integration
5 years ago
ReinUsesLisp
db2e9d64aa
shader: Implement CAL inlining function calls
5 years ago
ReinUsesLisp
a956d3cdb3
shader: Initial support for textures and TEX
5 years ago
ReinUsesLisp
16a5b4f494
spirv: Fixes and Intel specific workarounds
5 years ago
ReinUsesLisp
e755a13d06
shader: Rename, implement FADD.SAT and P2R (imm)
5 years ago