Remove some validation for alpha.src/dstFactor
Validation rules revised at
https://github.com/gpuweb/gpuweb/issues/2013#issuecomment-897364617
Bug: dawn:1063
Change-Id: I8ae1cd00f75c8049206a8c5f6fcdb879e1b6a469
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/61821
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
diff --git a/src/dawn_native/RenderPipeline.cpp b/src/dawn_native/RenderPipeline.cpp
index 8ad0b8f..c1c3335 100644
--- a/src/dawn_native/RenderPipeline.cpp
+++ b/src/dawn_native/RenderPipeline.cpp
@@ -259,11 +259,6 @@
blendFactor == wgpu::BlendFactor::SrcAlphaSaturated;
}
- bool BlendFactorContainsSrc(const wgpu::BlendFactor& blendFactor) {
- return blendFactor == wgpu::BlendFactor::Src ||
- blendFactor == wgpu::BlendFactor::OneMinusSrc;
- }
-
MaybeError ValidateColorTargetState(
DeviceBase* device,
const ColorTargetState* descriptor,
@@ -312,13 +307,6 @@
"Color blending factor is reading alpha but it is missing from "
"fragment output");
}
- if (descriptor->blend->alpha.srcFactor != wgpu::BlendFactor::Zero ||
- BlendFactorContainsSrc(descriptor->blend->alpha.dstFactor) ||
- BlendFactorContainsSrcAlpha(descriptor->blend->alpha.dstFactor)) {
- return DAWN_VALIDATION_ERROR(
- "Alpha blending factor is reading alpha but it is missing from "
- "fragment output");
- }
}
}
} else {
diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 0809fe4..5efc841 100644
--- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -329,15 +329,7 @@
if (BlendFactorContainsSrcAlpha(
descriptor.cTargets[0].blend->color.srcFactor) ||
BlendFactorContainsSrcAlpha(
- descriptor.cTargets[0].blend->color.dstFactor) ||
- descriptor.cTargets[0].blend->alpha.srcFactor !=
- wgpu::BlendFactor::Zero ||
- descriptor.cTargets[0].blend->alpha.dstFactor ==
- wgpu::BlendFactor::Src ||
- descriptor.cTargets[0].blend->alpha.dstFactor ==
- wgpu::BlendFactor::OneMinusSrc ||
- BlendFactorContainsSrcAlpha(
- descriptor.cTargets[0].blend->alpha.dstFactor)) {
+ descriptor.cTargets[0].blend->color.dstFactor)) {
valid = componentCount == 4;
}
} else {