ameerj
28cecc6cd8
shaders: Track local memory usage
3 years ago
ameerj
a2b344ab9d
emit_glasm: Fix lmem size computation
3 years ago
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
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
bunnei
3571f28cde
video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.
3 years ago
Billy Laws
cfbe4b09eb
Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
This crashes their shader compiler for some reason.
3 years ago
Billy Laws
2beb3051c1
Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
3 years ago
Liam
e19d49925a
shader_recompiler: fix copy-paste error
3 years ago
Kelebek1
2e478a66cf
Fix Tears of the Kingdom flickering clouds and depths.
3 years ago
Kelebek1
dc9546fe26
Define SampleMask as an array
3 years ago
Wollnashorn
d53aa13a33
shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
Should be more efficient and better readable
3 years ago
Wollnashorn
dda107ffa7
video_core: Enable ImageGather with subpixel offset on Intel
3 years ago
Wollnashorn
45fb154f0d
shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.
This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957 , #6956 ).
3 years ago
Liam
5be8a74b0c
general: fix spelling mistakes
3 years ago
ameerj
0194f25eb9
buffer_cache: Add logic for non-NVN storage buffer tracking
3 years ago
arades79
60a68839ee
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
arades79
adcef452e0
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
ameerj
a6405c4890
glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
3 years ago
ameerj
97e9f40a52
shader_recompiler/value.h: Remove lingering references to S32
3 years ago
Levi Behunin
2ff6c44168
Move to Clang Format 15
Depends on https://github.com/yuzu-emu/build-environments/pull/69
clang-15 primary run
3 years ago
ameerj
bbb60f60d2
spirv: Fix TXQ with MSAA textures
3 years ago
ameerj
13b0feaede
emit_glasm_image: Fix TXQ with MSAA textures
3 years ago
ameerj
2a98e88a3a
emit_glsl_image: Implement TXQ with MSAA textures
Also fixes for texture buffers, which do not have mips eithers.
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
f68ef5b15a
emit_glsl_image: Fix ImageFetch for MSAA textures
3 years ago
ameerj
9f64e023df
glasm: Add MS sampler types
3 years ago
ameerj
6967e3edb9
glsl: Add MS sampler types
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
ea68f05d8f
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
535e297ebd
Run clang-format
3 years ago
Billy Laws
c7c901dd63
shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
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
Billy Laws
3772cfc976
shader_recompiler: SPIRV: Only enable int64 feature when supported
3 years ago
Billy Laws
d862241ba7
shader_recompiler: Add comparison operators to descriptor types
3 years ago
Billy Laws
77aea7e2b4
Vulkan: Add a workaround for input_position on Adreno drivers
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
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
e6e49e584f
MacroHLE: Final cleanup and fixes.
3 years ago
Fernando Sahmkow
f7b16c30f1
MacroHLE: Add OpenGL Support
3 years ago
Fernando Sahmkow
7842543573
MacroHLE: Add HLE replacement for base vertex and base instance.
3 years ago
FernandoS27
11f29ec173
Vulkan: Add support for VK_EXT_depth_clip_control.
4 years ago
Liam
3b502d3095
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
3 years ago
Liam
e8966fd1f9
shader_recompiler: add gl_Layer translation GS for older hardware
3 years ago
ameerj
fb155dbffc
CMake: Consolidate common PCH headers
3 years ago