Commit 19b4dfc6 by Courtney Goeltzenleuchter Committed by Commit Bot

Enable precision qualifiers.

This enables precision qualifiers to be included in the translated GLSL and the generated SPIR-V. We do not enable precision qualifiers on Pixel 2 with Android Q due to bugs in the Vulkan driver. Issues appear to be fixed with later Android releases and later devices. Bug: angleproject:3078 Change-Id: Ia5f40befc7ec80fbb63fb6bbe88600301967f9c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2350583 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent a1ecebbc
...@@ -131,8 +131,6 @@ constexpr const char *kSkippedMessages[] = { ...@@ -131,8 +131,6 @@ constexpr const char *kSkippedMessages[] = {
"VUID-VkDeviceCreateInfo-pNext-pNext", "VUID-VkDeviceCreateInfo-pNext-pNext",
"VUID-VkPipelineRasterizationStateCreateInfo-pNext-pNext", "VUID-VkPipelineRasterizationStateCreateInfo-pNext-pNext",
"VUID_Undefined", "VUID_Undefined",
// http://anglebug.com/3078
"UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch",
// http://anglebug.com/4583 // http://anglebug.com/4583
"VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023", "VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023",
// https://issuetracker.google.com/issues/159493191 // https://issuetracker.google.com/issues/159493191
...@@ -1646,6 +1644,8 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev ...@@ -1646,6 +1644,8 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
return; return;
} }
constexpr uint32_t kPixel2DriverWithRelaxedPrecision = 0x801EA000;
bool isAMD = IsAMD(mPhysicalDeviceProperties.vendorID); bool isAMD = IsAMD(mPhysicalDeviceProperties.vendorID);
bool isIntel = IsIntel(mPhysicalDeviceProperties.vendorID); bool isIntel = IsIntel(mPhysicalDeviceProperties.vendorID);
bool isNvidia = IsNvidia(mPhysicalDeviceProperties.vendorID); bool isNvidia = IsNvidia(mPhysicalDeviceProperties.vendorID);
...@@ -1827,7 +1827,10 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev ...@@ -1827,7 +1827,10 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
ANGLE_FEATURE_CONDITION(&mFeatures, enableFramebufferVkCache, !IsApple()); ANGLE_FEATURE_CONDITION(&mFeatures, enableFramebufferVkCache, !IsApple());
// Currently disabled by default: http://anglebug.com/3078 // Currently disabled by default: http://anglebug.com/3078
ANGLE_FEATURE_CONDITION(&mFeatures, enablePrecisionQualifiers, false); ANGLE_FEATURE_CONDITION(
&mFeatures, enablePrecisionQualifiers,
!(IsPixel2(mPhysicalDeviceProperties.vendorID, mPhysicalDeviceProperties.deviceID) &&
(mPhysicalDeviceProperties.driverVersion < kPixel2DriverWithRelaxedPrecision)));
ANGLE_FEATURE_CONDITION(&mFeatures, preferAggregateBarrierCalls, isNvidia || isAMD || isIntel); ANGLE_FEATURE_CONDITION(&mFeatures, preferAggregateBarrierCalls, isNvidia || isAMD || isIntel);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment