mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-04 22:09:59 +03:00
Vulkan: Make advanced blend alpha div workaround permanent
This workaround turned out to affect pretty much every driver, and numerous GL implementations were found to work around it similarly to ANGLE. It seems like this workaround may only be necessary for colorburn and colordodge, but for now ANGLE applies it to all modes. Bug: b/274528004 Bug: b/277777623 Change-Id: Id555c981a9775f949a3022b7e92c755accea7cea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4416158 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
committed by
Angle LUCI CQ
parent
663b60b5fa
commit
c26011b866
@@ -26,7 +26,7 @@
|
||||
|
||||
// Version number for shader translation API.
|
||||
// It is incremented every time the API changes.
|
||||
#define ANGLE_SH_VERSION 324
|
||||
#define ANGLE_SH_VERSION 325
|
||||
|
||||
enum ShShaderSpec
|
||||
{
|
||||
@@ -405,9 +405,9 @@ struct ShCompileOptions
|
||||
// ceil()ed instead.
|
||||
uint64_t roundOutputAfterDithering : 1;
|
||||
|
||||
// Even when the dividend and divisor have the same value some platforms do not return 1.0f.
|
||||
// Need to emit different division code for such platforms.
|
||||
uint64_t precisionSafeDivision : 1;
|
||||
// Unused. Kept to avoid unnecessarily changing the layout of this structure and tripping up
|
||||
// the fuzzer's hash->bug map.
|
||||
uint64_t unused2 : 1;
|
||||
|
||||
// anglebug.com/7527: packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4.
|
||||
// TODO(anglebug.com/7527): This workaround is currently only applied for pixel local storage.
|
||||
|
||||
@@ -627,14 +627,6 @@ struct FeaturesVk : FeatureSetBase
|
||||
"emulateAdvancedBlendEquations", FeatureCategory::VulkanFeatures,
|
||||
"Emulate GL_KHR_blend_equation_advanced", &members, "http://anglebug.com/3586"};
|
||||
|
||||
FeatureInfo precisionSafeDivision = {
|
||||
"precisionSafeDivision",
|
||||
FeatureCategory::VulkanWorkarounds,
|
||||
"Special case handling for platforms that do not generate 1.0f even when the dividend and "
|
||||
"divisor have the same value",
|
||||
&members,
|
||||
};
|
||||
|
||||
FeatureInfo doubleDepthBiasConstantFactor = {
|
||||
"doubleDepthBiasConstantFactor",
|
||||
FeatureCategory::VulkanWorkarounds,
|
||||
|
||||
@@ -829,14 +829,6 @@
|
||||
],
|
||||
"issue": "http://anglebug.com/3586"
|
||||
},
|
||||
{
|
||||
"name": "precision_safe_division",
|
||||
"category": "Workarounds",
|
||||
"description": [
|
||||
"Special case handling for platforms that do not generate 1.0f even when the dividend and ",
|
||||
"divisor have the same value"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "double_depth_bias_constant_factor",
|
||||
"category": "Workarounds",
|
||||
|
||||
Reference in New Issue
Block a user