summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2021-12-28 02:45:14 -0500
committerGitHub <noreply@github.com>2021-12-28 02:45:14 -0500
commit01e8e950e8f381c852c842183fe6831d5e83b503 (patch)
tree6ebe9d05ef1ffc320c8480c06b6d8088623b145e /Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
parent8d237eb1020dd57d7521f1ea5af16045e7991bf4 (diff)
parent056613ecc5c79941d4bc9747bdc6f79fe332183a (diff)
Merge pull request #10292 from OatmealDome/lodbias-take-two
PixelShaderGen: Use LOD bias when sampling texture on Metal and OpenGL ES
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VulkanContext.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/VulkanContext.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
index 23cb06e846..ead13df547 100644
--- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
+++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
@@ -289,6 +289,7 @@ void VulkanContext::PopulateBackendInfo(VideoConfig* config)
config->backend_info.bSupportsFramebufferFetch = false; // Dependent on OS and features.
config->backend_info.bSupportsCoarseDerivatives = true; // Assumed support.
config->backend_info.bSupportsTextureQueryLevels = true; // Assumed support.
+ config->backend_info.bSupportsLodBiasInSampler = false; // Dependent on OS.
}
void VulkanContext::PopulateBackendInfoAdapters(VideoConfig* config, const GPUList& gpu_list)
@@ -316,6 +317,13 @@ void VulkanContext::PopulateBackendInfoFeatures(VideoConfig* config, VkPhysicalD
config->backend_info.bSupportsSSAA = (features.sampleRateShading == VK_TRUE);
config->backend_info.bSupportsLogicOp = (features.logicOp == VK_TRUE);
+#ifdef __APPLE__
+ // Metal doesn't support this.
+ config->backend_info.bSupportsLodBiasInSampler = false;
+#else
+ config->backend_info.bSupportsLodBiasInSampler = true;
+#endif
+
// Disable geometry shader when shaderTessellationAndGeometryPointSize is not supported.
// Seems this is needed for gl_Layer.
if (!features.shaderTessellationAndGeometryPointSize)