40cda23491
Merge pull request #10404 from iwubcode/vulkan_headers_update
...
Externals / Vulkan: update Vulkan headers to v1.3.204
2022-02-04 01:04:29 -05:00
4d1e6ff76a
Merge pull request #10422 from OatmealDome/opengl-shader-crash
...
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:25:46 -05:00
4c7fe45475
VKShader: Only set shader name if supported
2022-01-31 01:17:40 -05:00
28f3cb3d97
VKTexture: Only set texture name if supported
2022-01-31 01:17:40 -05:00
a8ce71fcd4
VulkanContext: Set bSupportsSettingObjectNames based on extension initialization result
2022-01-31 01:17:40 -05:00
801897467c
VulkanEntryPoints: Make vkSetDebugUtilsObjectNameEXT an instance function
2022-01-31 01:17:40 -05:00
a720083a7e
Revert "Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it"
...
This reverts commit 2ab66390f8
.
2022-01-31 01:17:40 -05:00
8e3dbe9671
Externals / Vulkan: update Vulkan headers to v1.3.204. Fix default present mode in Vulkan swap chain
2022-01-29 00:47:51 -06:00
83c5446d85
Fix static initialisation order fiasco issue for Version variables
...
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)
By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
2ab66390f8
Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it
...
Fixes a crash that has been present on Android (and probably also
macOS) since f6883a0
.
2022-01-03 20:17:57 +01:00
9ff7f80aa0
VulkanContext: Ensure present queue family is valid before incrementing queueCreateInfoCount
2021-12-28 21:18:47 -05:00
08396c56e5
VideoConfig: Add bool for sampler LOD bias support
2021-12-25 15:16:27 -05:00
b1f79d9ecf
Merge pull request #10215 from OatmealDome/shader-logic-ops
...
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
2021-12-22 16:39:54 -05:00
27cb704466
Eliminate VarType for ComponentFormat
2021-12-18 15:21:48 -08:00
2025763420
Treewide: Adjust order of includes
2021-12-10 14:49:57 -08:00
f87f704f43
ShaderCompiler: Add helpers for Metal framebuffer fetch
2021-12-06 22:36:39 -05:00
40eb071562
ShaderCompiler: Add new helper define for input attachment binding
2021-12-06 22:36:39 -05:00
8e72136eeb
VulkanContext: Set Apple GPUs as supporting framebuffer fetch
2021-11-24 17:52:24 -05:00
1adff1c467
VideoCommon: Skip textureQueryLevels if it doesn't exist
2021-11-17 21:28:39 -08:00
51e3334526
VideoCommon: Use coarse derivatives for Manual Texture Sampling if possible
2021-11-17 20:04:34 -08:00
4a9b26de86
VideoCommon: Expose SamplerState to shaders
...
The benefit to exposing this over the raw BP state is that adjustments Dolphin makes, such as LOD biases from arbitrary mipmap detection, will work properly.
2021-11-17 20:04:34 -08:00
2209dc0355
MoltenVK: Use an external project instead of a pre-compiled dylib
...
Also, update MoltenVK to match Vulkan SDK 1.2.189.
2021-11-13 11:43:23 -08:00
04d8cdfe88
Convert LOG_TYPE and LOG_LEVELS to enum class
2021-10-24 11:48:36 -07:00
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
ff1cb5a1c0
Merge pull request #9803 from Techjar/bbox-videocommon
...
VideoCommon: Abstract bounding box
2021-10-08 22:24:38 +02:00
1161af8059
VideoCommon: Abstract bounding box
...
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
2021-10-04 15:51:24 -04:00
a256c11d2f
DriverDetails: Add broken dual source blending bug to MoltenVK on Intel GPUs
2021-09-20 19:14:41 -04:00
aa64f7f14f
VulkanContext: Don't assume anv for Intel GPUs on macOS
2021-09-20 18:57:19 -04:00
7e8f5208fe
VulkanContext: Disable subgroup reduction on macOS with AMD GPUs
2021-09-16 23:32:10 -04:00
1f2f505373
VideoBackends / VideoCommon: allow the ability to set debug names for shaders / textures. These names are visible in applications like RenderDoc
2021-08-30 13:47:48 -05:00
d453390c48
ShaderCompiler: Attach source text to SPIR-V for debuggers like RenderDoc
2021-08-05 03:04:18 -04:00
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
58238e75a7
Vulkan: Fix subgroup reduction
...
It seems that we were writing values from helper invocations, which
produces wrong results.
2021-06-07 22:32:25 -04:00
2f1b639f0a
VideoCommon: Restore BBox* forwarding functions
2021-05-31 18:01:47 -04:00
a24e78b3cf
VideoCommon: Remove BBox* forwarding functions
2021-05-29 01:45:21 -04:00
0f17990137
VideoCommon: Split BBox* functions into common and backend implementation variants
...
This will allow for some aspects of bounding box to be handled in
VideoCommon instead of individual backends.
2021-05-22 01:11:57 -04:00
8a0f5ea04a
Remove all remaining volatile qualifiers
2021-05-15 09:52:04 +02:00
b24e3f2f1a
Vulkan: Work around AMD exclusive fullscreen bug (21.3+)
2021-04-12 12:41:17 +10:00
70f9fc4e75
Convert BPMemory to BitField and enum class
...
Additional changes:
- For TevStageCombiner's ColorCombiner and AlphaCombiner, op/comparison and scale/compare_mode have been split as there are different meanings and enums if bias is set to compare. (Shift has also been renamed to scale)
- In TexMode0, min_filter has been split into min_mip and min_filter.
- In TexImage1, image_type is now cache_manually_managed.
- The unused bit in GenMode is now exposed.
- LPSize's lineaspect is now named adjust_for_aspect_ratio.
2021-03-06 19:27:19 -08:00
500a694ca8
msbuild: bundle all dolphin "core" code into single library
2021-01-27 14:29:49 -08:00
d7fd892fde
normalize common filenames in VideoBackends/Vulkan
2021-01-27 14:29:48 -08:00
139d4fc76e
General: Convert PanicAlerts over to fmt equivalent
...
Converts lingering panic alert calls over to the fmt-capable ones.
2020-12-02 13:38:33 -05:00
a20e69ff51
Vulkan: fix validation error in bSupportsGeometryShaders=false case
...
In CreateDescriptorSetLayouts(), one less dynamic binding is created when
bSupportsGeometryShaders=false. Reduce the dynamicOffsetCount argument by
one in that case. Avoids this validation error:
Attempting to bind 3 descriptorSets with 2 dynamic descriptors, but
dynamicOffsetCount is 3. It should exactly match the number of dynamic
descriptors. The Vulkan spec states: dynamicOffsetCount must be equal to
the total number of dynamic descriptors in pDescriptorSets
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
[Applied clang-format]
Signed-off-by: Léo Lam <leo@leolam.fr >
2020-11-20 12:23:34 +01:00
21dd7a8ebb
Vulkan: Migrate logging over to fmt
...
Migrates the vulkan backend over to the fmt-capable logger.
2020-11-09 03:26:16 -05:00
28aa04312c
Common/LinearDiskCache: Replace std::fstream with File::IOFile
...
File::IOFile is better suited to this type of task.
Split out from a future PR.
2020-11-05 00:31:17 +01:00
d2f80a4595
Merge pull request #9138 from martymac/VK_NULL_HANDLE-fix
...
Fix build on FreeBSD i386 - nullptr vs VK_NULL_HANDLE
2020-11-03 08:28:11 -06:00
d456e2e391
Resolve VkDeviceMemory/nullptr type mismatch to fix build on FreeBSD i386
2020-11-03 07:47:43 +01:00
0c01712d13
DriverDetails: Remove bug for broken GPU Texture Decoding
2020-10-08 10:13:40 -04:00
24bb947eff
Vulkan: Use VK_LAYER_KHRONOS_validation for validation
...
VK_LAYER_LUNARG_standard_validation is deprecated.
2020-10-01 17:21:46 +10:00
69358b2186
VideoBackends: Disable GPU Texture Decoding under MoltenVK
...
It's broken and causes spectacular artifacts and crashes.
2020-09-07 17:28:05 -04:00