Don't blend integer formats True integer formats should not use blend modes. This cl explicitly disables any blend operation on render targets using integer formats. Bug: b/153203552 Change-Id: Ia756953c61caef8e32e55aa31126044973ae1870 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43548 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp index 26ed5b5..25325fb 100644 --- a/src/Pipeline/PixelRoutine.cpp +++ b/src/Pipeline/PixelRoutine.cpp
@@ -1109,7 +1109,7 @@ void PixelRoutine::alphaBlend(int index, const Pointer<Byte> &cBuffer, Vector4s ¤t, const Int &x) { - if(!state.blendState[index].alphaBlendEnable) + if(!state.blendState[index].alphaBlendEnable || vk::Format(state.targetFormat[index]).isUnnormalizedInteger()) { return; } @@ -1869,7 +1869,7 @@ void PixelRoutine::alphaBlend(int index, const Pointer<Byte> &cBuffer, Vector4f &oC, const Int &x) { - if(!state.blendState[index].alphaBlendEnable) + if(!state.blendState[index].alphaBlendEnable || vk::Format(state.targetFormat[index]).isUnnormalizedInteger()) { return; }