ameerj
28cecc6cd8
shaders: Track local memory usage
3 years ago
Liam
947a4f6141
shader_recompiler: translate f64 to f32 when unsupported on host
3 years ago
Liam
b646ac2908
shader_recompiler: remove barriers in conditional control flow when device lacks support
3 years ago
ameerj
0194f25eb9
buffer_cache: Add logic for non-NVN storage buffer tracking
3 years ago
ameerj
6e5f3d43f2
texture_pass: Fix texture descriptors comparisons
3 years ago
ameerj
be397f57ad
texture_pass: Refactor texture handle retrieval
3 years ago
ameerj
2d2558797c
shader_recompiler: TXQ: Skip QueryLevels when possible
3 years ago
ameerj
382717743a
shader_recompiler: Remove S32 IR type
The frontend IR opcodes do not distinguish between signed and unsigned integer types.
Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
3 years ago
Liam
ac94832cb6
spirv: fix multisampled image fetch
3 years ago
Liam
5d93c3bb00
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb .
3 years ago
Billy Laws
535e297ebd
Run clang-format
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
1fdf24a081
Video_core: Address feedback
3 years ago
Fernando Sahmkow
872f2e7de6
ShaderCompiler: Inline driver specific constants.
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
348c6e5b28
video_core: Fix few issues in Tess stage
3 years ago
Feng Chen
bcf6a7c0dd
video_core: Fix SNORM texture buffer emulating error ( #9001 )
3 years ago
Feng Chen
33514a0d94
Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass"
3 years ago
Liam White
6df0663a57
General: Fix compilation for GCC
4 years ago
Fernando Sahmkow
3c4e05745f
Shader Decompiler: implement better tracking for Vulkan samplers.
4 years ago
Fernando Sahmkow
dc74837ac9
Shader Decompiler: Check for shift when deriving composite samplers.
4 years ago
FengChen
38e9c78843
video_core: Generate mipmap texture by drawing
3 years ago
Morph
649c49525d
style: General style changes to match with the rest of the codebase
3 years ago
FengChen
98656c14a8
video_code: support rectangle texture
3 years ago
Liam
ee4d63cee5
GCC 12 fixes
4 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
Liam
528cba63b6
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
4 years ago
ameerj
6091af472a
dead_code_elimination_pass: Remove unreachable Phi arguments
4 years ago
ameerj
09128c9106
shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass
This adds a pass to eliminate if(false) branches within the shader code
4 years ago
ameerj
0df188787a
shader_recompiler: Reduce unused includes
4 years ago
Liam
83b1c9de37
Address review comments
4 years ago
Liam
95b9f62686
shader_recompiler: Use functions for indirect const buffer accesses
4 years ago
Liam
8515dba789
shader: add support for const buffer indirect addressing
4 years ago
Fernando Sahmkow
fc8251e043
Shader decompiler: Fix storage tracking in deko3d.
4 years ago
ameerj
1888b552e3
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
ImageFetch offsets for 2D array coordinates have a different composite size than the coordinates. The rescaling pass was not taking this into account.
Fixes broken shaders when scaling is enabled in Astral Chain, and likely other titles.
4 years ago
ameerj
94b86a8ada
lower_int64_to_int32: Add 64-bit atomic fallbacks
4 years ago
ameerj
0c5e641757
shaders: Add U64->U32x2 Atomic fallback functions
4 years ago
ameerj
c3d768426c
spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.
Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
4 years ago
ameerj
22a4d26479
shader: Add integer attribute get optimization pass
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
4 years ago
Fernando Sahmkow
04b8e6c834
ShaderCache: Better fix for Shuffling gl_FragCoord
4 years ago
FernandoS27
b3494533e5
Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs.
4 years ago
ameerj
1ce6cd119d
rescaling_pass: Fix IR errors when unscalable texture types are encountered
4 years ago
ameerj
63465c24e1
rescaling_pass: Logic simplification and minor style cleanup
4 years ago
ameerj
746d27372f
rescaling_pass: Scale ImageFetch offset if it exists
Plus some code deduplication
4 years ago
ameerj
b5ba8bec0e
rescaling_pass: Enable PatchImageQueryDimensions on fragment stages
4 years ago
ameerj
e2f0f51295
gl_texture_cache/rescaling_pass: minor cleanup
4 years ago
ameerj
54ecf7c8c1
rescaling_pass: Fix and simplify shuffle/fragcoord pass
4 years ago
Fernando Sahmkow
4535feac87
Shader: Don't rescale FragCoord if used by Shuffle
4 years ago