Liam
221f2edfb9
shader_recompiler: use default value for clip distances array
2023-12-26 19:32:47 -05:00
Liam
e7b5befdad
shader_recompiler: respect clip distance limits in indexed store
2023-12-26 19:10:25 -05:00
Liam
a952270b5c
shader_recompiler: use float image operations on load/store when required
2023-12-21 14:34:46 -05:00
Liam
3c14f747f9
shader_recompiler: use minimal clip distance array
2023-12-18 22:25:14 -05:00
Liam
6611ba122b
shader_recompiler: ignore clip distances beyond driver support level
2023-12-18 22:25:14 -05:00
Ameer J
a9e011c9c2
Merge branch 'master' into ssbo-align
2023-11-26 21:08:53 -05:00
Liam
a41e57d968
renderer_vulkan: ignore viewport stores on non-supporting drivers
2023-11-19 11:27:12 -05:00
Ameer J
abd400e04f
shader_recompiler: Fix spelling of "derivate" ( #12067 )
2023-11-18 13:39:47 +01:00
Ameer J
b49639e786
shader_recompiler: Align SSBO offsets in GlobalMemory functions
2023-10-31 20:14:18 -04:00
Kelebek1
90d99fbd00
Manually robust on Maxwell and earlier
2023-10-19 19:54:31 +01:00
Liam
47ea64c9a5
emit_spirv: fix incorrect use of descriptor index in image atomics
2023-09-22 00:39:09 -04:00
liamwhite
9530b96e5f
shader_recompiler: skip sampler for buffer textures ( #11435 )
2023-09-14 15:23:50 +02:00
Liam
152beedc51
shader_recompiler: always declare image format for image buffers
2023-09-02 17:25:00 -04:00
Liam
024fb4fae9
shader_recompiler: fix emulation of 3D textureGrad
2023-09-01 22:41:01 -04:00
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
bunnei
3571f28cde
video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.
2023-06-03 00:05:58 -07:00
Billy Laws
cfbe4b09eb
Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
...
This crashes their shader compiler for some reason.
2023-06-03 00:05:31 -07:00
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.
2023-06-03 00:05:31 -07:00
Kelebek1
2e478a66cf
Fix Tears of the Kingdom flickering clouds and depths.
2023-05-11 19:25:24 +01:00
Kelebek1
dc9546fe26
Define SampleMask as an array
2023-04-30 18:37:37 +01:00
Wollnashorn
d53aa13a33
shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
...
Should be more efficient and better readable
2023-04-08 16:13:08 +02:00
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 ).
2023-04-08 16:12:30 +02:00
ameerj
bbb60f60d2
spirv: Fix TXQ with MSAA textures
2023-01-29 13:47:30 -05:00
liamwhite
a5bc2444d2
Merge pull request #9694 from ameerj/txq-mips
...
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
bunnei
da76935b7d
Merge pull request #9682 from ameerj/shader-s32
...
shader_recompiler: Remove S32 IR type
2023-01-28 14:00:11 -08:00
ameerj
2d2558797c
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28 16:25:18 -05:00
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
2023-01-25 22:03:15 -05:00
Liam
ac94832cb6
spirv: fix multisampled image fetch
2023-01-23 12:03:19 -05:00
Billy Laws
535e297ebd
Run clang-format
2023-01-05 22:18:10 +00:00
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.
2023-01-05 22:13:07 +00:00
Billy Laws
3772cfc976
shader_recompiler: SPIRV: Only enable int64 feature when supported
2023-01-05 22:13:07 +00:00
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.
2023-01-05 22:13:07 +00:00
Fernando Sahmkow
1fdf24a081
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
Fernando Sahmkow
7842543573
MacroHLE: Add HLE replacement for base vertex and base instance.
2023-01-01 16:43:57 -05:00
liamwhite
db106151d7
Merge pull request #7450 from FernandoS27/ndc-vulkan
...
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
FernandoS27
11f29ec173
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-13 21:39:18 -05:00
Liam
3b502d3095
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-13 18:25:53 -05:00
Liam
0a077cb467
Vulkan: update initialization
...
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
Liam
4b905e9680
spirv_emit_context: add missing flat decoration
2022-11-18 22:05:28 -05:00
liamwhite
d96606b091
Merge pull request #9253 from vonchenplus/attr_layer
...
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
FengChen
12f2ab01bb
shader: Implement miss attribute layer
2022-11-17 22:45:14 +08:00
FengChen
348c6e5b28
video_core: Fix few issues in Tess stage
2022-11-07 15:42:42 +08:00
Feng Chen
bcf6a7c0dd
video_core: Fix SNORM texture buffer emulating error ( #9001 )
2022-11-04 02:39:42 -04:00
FengChen
38e9c78843
video_core: Generate mipmap texture by drawing
2022-09-20 11:55:43 +08:00
FengChen
98656c14a8
video_code: support rectangle texture
2022-08-25 12:45:58 +08:00
Kelebek1
9427a0f535
Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.
2022-07-29 06:12:39 +01:00
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.
2022-04-23 05:55:32 -04:00
Liam
528cba63b6
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
2022-04-01 11:17:54 -04:00
Billy Laws
ef9b177ecb
Include <bit> header when std::count{r,l}_zero is used
...
Needed for compilation with older libc++ releases
2022-03-22 21:11:24 +00:00
ameerj
0df188787a
shader_recompiler: Reduce unused includes
2022-03-20 02:25:08 -04:00