Module: Mesa
Branch: master
Commit: 66fc9f5571c5a6c6385616065f099a300fd62c05
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=66fc9f5571c5a6c6385616065f099a300fd62c05

Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Aug 21 08:37:13 2020 -0400

zink: support VK_EXT_blend_operation_advanced

just the screen bits

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7099>

---

 src/gallium/drivers/zink/zink_device_info.py | 1 +
 src/gallium/drivers/zink/zink_screen.c       | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_device_info.py 
b/src/gallium/drivers/zink/zink_device_info.py
index afcabce9451..fe40617386d 100644
--- a/src/gallium/drivers/zink/zink_device_info.py
+++ b/src/gallium/drivers/zink/zink_device_info.py
@@ -61,6 +61,7 @@ def EXTENSIONS():
         Extension("VK_EXT_vertex_attribute_divisor", alias="vdiv", 
properties=True, feature="vertexAttributeInstanceRateDivisor"),
         Extension("VK_EXT_calibrated_timestamps"),
         Extension("VK_EXT_custom_border_color",      alias="border_color", 
properties=True, feature="customBorderColors"),
+        Extension("VK_EXT_blend_operation_advanced", alias="blend", 
properties=True),
     ]
 
 # There exists some inconsistencies regarding the enum constants, fix them.
diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 6951f39e4f3..5fa2a4b4db6 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -825,6 +825,11 @@ zink_internal_create_screen(struct sw_winsys *winsys, int 
fd, const struct pipe_
    qci.queueCount = 1;
    qci.pQueuePriorities = &dummy;
 
+   /* TODO: we can probably support non-premul here with some work? */
+   screen->info.have_EXT_blend_operation_advanced = 
screen->info.have_EXT_blend_operation_advanced &&
+                                                    
screen->info.blend_props.advancedBlendNonPremultipliedSrcColor &&
+                                                    
screen->info.blend_props.advancedBlendNonPremultipliedDstColor;
+
    VkDeviceCreateInfo dci = {};
    dci.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
    dci.queueCreateInfoCount = 1;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to