Liam
3c14f747f9
shader_recompiler: use minimal clip distance array
3 years ago
Liam
6611ba122b
shader_recompiler: ignore clip distances beyond driver support level
3 years ago
Liam
a41e57d968
renderer_vulkan: ignore viewport stores on non-supporting drivers
3 years ago
Ameer J
abd400e04f
shader_recompiler: Fix spelling of "derivate" ( #12067 )
3 years ago
Ameer J
b49639e786
shader_recompiler: Align SSBO offsets in GlobalMemory functions
3 years ago
Kelebek1
90d99fbd00
Manually robust on Maxwell and earlier
3 years ago
Liam
47ea64c9a5
emit_spirv: fix incorrect use of descriptor index in image atomics
3 years ago
liamwhite
9530b96e5f
shader_recompiler: skip sampler for buffer textures ( #11435 )
3 years ago
Liam
152beedc51
shader_recompiler: always declare image format for image buffers
3 years ago
Liam
024fb4fae9
shader_recompiler: fix emulation of 3D textureGrad
3 years ago
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
3 years ago
bunnei
3571f28cde
video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.
4 years ago
Billy Laws
cfbe4b09eb
Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
This crashes their shader compiler for some reason.
4 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.
4 years ago
Kelebek1
2e478a66cf
Fix Tears of the Kingdom flickering clouds and depths.
4 years ago
Kelebek1
dc9546fe26
Define SampleMask as an array
4 years ago
Wollnashorn
d53aa13a33
shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
Should be more efficient and better readable
4 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 ).
4 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>
4 years ago
arades79
adcef452e0
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
4 years ago
ameerj
bbb60f60d2
spirv: Fix TXQ with MSAA textures
4 years ago
ameerj
2d2558797c
shader_recompiler: TXQ: Skip QueryLevels when possible
4 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
4 years ago
Liam
ac94832cb6
spirv: fix multisampled image fetch
4 years ago
Billy Laws
535e297ebd
Run clang-format
4 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.
4 years ago
Billy Laws
3772cfc976
shader_recompiler: SPIRV: Only enable int64 feature when supported
4 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.
4 years ago
Fernando Sahmkow
1fdf24a081
Video_core: Address feedback
4 years ago
Fernando Sahmkow
7842543573
MacroHLE: Add HLE replacement for base vertex and base instance.
4 years ago
FernandoS27
11f29ec173
Vulkan: Add support for VK_EXT_depth_clip_control.
5 years ago
Liam
3b502d3095
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
4 years ago
Liam
0a077cb467
Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
4 years ago
Liam
4b905e9680
spirv_emit_context: add missing flat decoration
4 years ago
FengChen
12f2ab01bb
shader: Implement miss attribute layer
4 years ago
FengChen
348c6e5b28
video_core: Fix few issues in Tess stage
4 years ago
Feng Chen
bcf6a7c0dd
video_core: Fix SNORM texture buffer emulating error ( #9001 )
4 years ago
FengChen
38e9c78843
video_core: Generate mipmap texture by drawing
4 years ago
FengChen
98656c14a8
video_code: support rectangle texture
4 years ago
Kelebek1
9427a0f535
Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.
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.
5 years ago
Liam
528cba63b6
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
5 years ago
Billy Laws
ef9b177ecb
Include <bit> header when std::count{r,l}_zero is used
Needed for compilation with older libc++ releases
5 years ago
ameerj
0df188787a
shader_recompiler: Reduce unused includes
5 years ago
Liam
83b1c9de37
Address review comments
5 years ago
Liam
95b9f62686
shader_recompiler: Use functions for indirect const buffer accesses
5 years ago
Liam
f3382e6339
Address review comments
5 years ago
Liam
8515dba789
shader: add support for const buffer indirect addressing
5 years ago
ameerj
048522e98b
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
5 years ago
ameerj
0c5e641757
shaders: Add U64->U32x2 Atomic fallback functions
5 years ago