Commit 431ef2fd by Minkyu Jeong Committed by Commit Bot

Add support for EXT_blend_minmax

This is to add additional modes (MIN, MAX) to "BlendEquation". - add cases for "GL_MIN" and "GL_MAX" into "PackGLBlendOp()" in vk_cache_utils.cpp - add enabling "blendMinMax" codes into vk_caps_utils.cpp And, AUTHORS and CONTRIBUTORS are updated. BUG=angleproject:2897 Tests: dEQP-GLES3.functional.fragment_ops.blend.*min* dEQP-GLES3.functional.fragment_ops.blend.*max* Change-Id: I13a1d6d28a104b18e21697f9f23d77e4eda2d1a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621582 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
parent e794ddc8
...@@ -30,6 +30,7 @@ Advanced Micro Devices, Inc. ...@@ -30,6 +30,7 @@ Advanced Micro Devices, Inc.
LG Electronics, Inc. LG Electronics, Inc.
IBM Inc. IBM Inc.
AdaptVis GmbH AdaptVis GmbH
Samsung Electronics, Inc.
Jacek Caban Jacek Caban
Mark Callow Mark Callow
......
...@@ -146,3 +146,6 @@ IBM Inc. ...@@ -146,3 +146,6 @@ IBM Inc.
AdaptVis GmbH AdaptVis GmbH
Sascha Kolodzey Sascha Kolodzey
Samsung Electronics, Inc.
Minkyu Jeong
...@@ -39,6 +39,10 @@ uint8_t PackGLBlendOp(GLenum blendOp) ...@@ -39,6 +39,10 @@ uint8_t PackGLBlendOp(GLenum blendOp)
return static_cast<uint8_t>(VK_BLEND_OP_SUBTRACT); return static_cast<uint8_t>(VK_BLEND_OP_SUBTRACT);
case GL_FUNC_REVERSE_SUBTRACT: case GL_FUNC_REVERSE_SUBTRACT:
return static_cast<uint8_t>(VK_BLEND_OP_REVERSE_SUBTRACT); return static_cast<uint8_t>(VK_BLEND_OP_REVERSE_SUBTRACT);
case GL_MIN:
return static_cast<uint8_t>(VK_BLEND_OP_MIN);
case GL_MAX:
return static_cast<uint8_t>(VK_BLEND_OP_MAX);
default: default:
UNREACHABLE(); UNREACHABLE();
return 0; return 0;
......
...@@ -53,6 +53,9 @@ void RendererVk::ensureCapsInitialized() const ...@@ -53,6 +53,9 @@ void RendererVk::ensureCapsInitialized() const
mNativeExtensions.textureBorderClamp = false; // not implemented yet mNativeExtensions.textureBorderClamp = false; // not implemented yet
mNativeExtensions.translatedShaderSource = true; mNativeExtensions.translatedShaderSource = true;
// Enable EXT_blend_minmax
mNativeExtensions.blendMinMax = true;
mNativeExtensions.eglImage = true; mNativeExtensions.eglImage = true;
mNativeExtensions.eglImageExternal = true; mNativeExtensions.eglImageExternal = true;
// TODO(geofflang): Support GL_OES_EGL_image_external_essl3. http://anglebug.com/2668 // TODO(geofflang): Support GL_OES_EGL_image_external_essl3. http://anglebug.com/2668
......
...@@ -587,28 +587,6 @@ ...@@ -587,28 +587,6 @@
2905 VULKAN : dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_component_type = SKIP 2905 VULKAN : dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_component_type = SKIP
2905 VULKAN : dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_x_size_texture = SKIP 2905 VULKAN : dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_x_size_texture = SKIP
// Min/Max blending:
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func.min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func.max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.add_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.add_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.subtract_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.subtract_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.reverse_subtract_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.reverse_subtract_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.min* = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation.max* = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func.min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func.max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.add_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.add_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.subtract_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.subtract_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.reverse_subtract_min = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.reverse_subtract_max = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.min* = SKIP
2897 VULKAN : dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation.max* = SKIP
// Blit: // Blit:
3200 VULKAN : dEQP-GLES3.functional.fbo.blit.* = SKIP 3200 VULKAN : dEQP-GLES3.functional.fbo.blit.* = SKIP
3200 VULKAN : dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center = FAIL 3200 VULKAN : dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center = FAIL
......
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