From: Mike Blumenkrantz Date: Fri, 21 Aug 2020 12:37:13 +0000 (-0400) Subject: zink: support VK_EXT_blend_operation_advanced X-Git-Tag: upstream/21.0.0~4344 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=66fc9f5571c5a6c6385616065f099a300fd62c05;p=platform%2Fupstream%2Fmesa.git zink: support VK_EXT_blend_operation_advanced just the screen bits Reviewed-by: Erik Faye-Lund Part-of: --- diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index afcabce..fe40617 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 6951f39..5fa2a4b 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;