Commit Graph

893 Commits

Author SHA1 Message Date
d34275a260 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
2023-01-07 18:38:21 +00:00
58fec43768 Run clang-format 2023-01-05 22:18:10 +00:00
68ed60cee4 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
625a4af73a 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.
2023-01-05 22:13:07 +00:00
8804a4eb23 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.
2023-01-05 22:13:07 +00:00
3f0985c7b0 shader_recompiler: SPIRV: Only enable int64 feature when supported 2023-01-05 22:13:07 +00:00
c1cc99584c shader_recompiler: Add comparison operators to descriptor types 2023-01-05 22:13:07 +00:00
bbfad79c89 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
a0c697124c Video_core: Address feedback 2023-01-04 14:39:42 -05:00
a045e860dd ShaderCompiler: Inline driver specific constants. 2023-01-03 16:29:25 -05:00
d09aa0182f MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
8d694701bc MacroHLE: Add OpenGL Support 2023-01-01 16:43:58 -05:00
aad0cbf024 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
5da72a891f 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
0104e28fe4 Vulkan: Add support for VK_EXT_depth_clip_control. 2022-12-13 21:39:18 -05:00
77b0d01639 spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId 2022-12-13 18:25:53 -05:00
75e16547f8 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
22aff09b33 Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
c043ba8467 Merge pull request #9303 from liamwhite/new-vulkan-init
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
3ef006b5ab shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
5b5612c1cc CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
37bc5118ea CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
cae6c13ffb value.h: remove recursive include 2022-11-29 18:50:49 -05:00
2956a33463 Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
9737615948 general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
0d033e6b45 spirv_emit_context: add missing flat decoration 2022-11-18 22:05:28 -05:00
9c67334031 Merge pull request #9253 from vonchenplus/attr_layer
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
60e0d4a177 shader: Implement miss attribute layer 2022-11-17 22:45:14 +08:00
c973029374 Merge pull request #9167 from vonchenplus/tess
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
c9bb888adf ir/texture_pass: Use host_info instead of querying Settings::values (#9176) 2022-11-11 03:32:53 +01:00
a4472b5526 video_core: Fix few issues in Tess stage 2022-11-07 15:42:42 +08:00
75596c07e0 video_core: Fix SNORM texture buffer emulating error (#9001) 2022-11-04 02:39:42 -04:00
38e4382f53 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
165bce3c2d Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" 2022-10-25 12:57:25 +08:00
cbb6c24215 Merge pull request #8873 from vonchenplus/fix_legacy_location_error
video_core: Fix legacy to generic location unpaired
2022-10-24 10:50:24 -07:00
3822e31323 CMakeLists: Disable C4100 and C4324
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
cae108404a CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
f3c40f4a20 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
e6ab1f673b general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
93297d14d8 CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
20139f8a55 Address feedback 2022-10-17 09:40:44 +08:00
afab6c143c General: Fix compilation for GCC 2022-10-06 21:00:53 +02:00
3d02143476 Shader Decompiler: implement better tracking for Vulkan samplers. 2022-10-06 21:00:53 +02:00
ba34cf0a69 Shader Decompiler: Check for shift when deriving composite samplers. 2022-10-06 21:00:52 +02:00
a283eda320 Shader Decompiler: Fix dangerous behavior of invalid iterator insertion. 2022-10-06 21:00:52 +02:00
ae7062d522 shader_recompiler: add extended LDC to GLASM backend 2022-10-02 17:32:54 -04:00
4a493cb10f chore: fix some typos
Fix some typos reported by Lintian
2022-09-23 13:38:23 +02:00
d4cb0eac87 video_core: Fix legacy to generic location unpaired 2022-09-20 12:03:31 +08:00
c864cb5772 Merge branch 'master' into mipmap 2022-09-20 11:56:43 +08:00
9a95c7fa14 video_core: Generate mipmap texture by drawing 2022-09-20 11:55:43 +08:00