diff --git a/appendices/VK_EXT_disable_wayland_color_management.adoc b/appendices/VK_EXT_disable_wayland_color_management.adoc new file mode 100644 index 000000000..42937fb5e --- /dev/null +++ b/appendices/VK_EXT_disable_wayland_color_management.adoc @@ -0,0 +1,31 @@ +// Copyright 2016-2024 The Khronos Group Inc. +// +// SPDX-License-Identifier: CC-BY-4.0 + +include::{generated}/meta/{refprefix}VK_EXT_disable_wayland_color_management.adoc[] + +=== Other Extension Metadata + +*Last Modified Date*:: + 2024-08-16 +*IP Status*:: + No known IP claims. +*Contributors*:: + Colin Marc + +=== Description + +This extension expands tlink:VkWaylandSurfaceCreateFlagsKHR to allow +applications to request that implementations avoid using the +`wp_color_management` protocol when creating or managing the surface. + +include::{generated}/interfaces/VK_EXT_disable_wayland_color_management.adoc[] + +=== Issues + +None. + +=== Version History + + * Revision 1, 2024-08-16 (Colin Marc) + ** Initial draft diff --git a/appendices/VK_KHR_wayland_surface.adoc b/appendices/VK_KHR_wayland_surface.adoc index bb4118877..dd4654782 100644 --- a/appendices/VK_KHR_wayland_surface.adoc +++ b/appendices/VK_KHR_wayland_surface.adoc @@ -90,3 +90,6 @@ an onerous restriction on application developers. ename:VK_PRESENT_MODE_MAILBOX_KHR. ** Added wording about interactions between flink:vkQueuePresentKHR and the Wayland requests sent to the compositor. + + * Revision 7, 2024-08-16 (Colin Marc) + ** Added VkWaylandSurfaceCreateFlagBits. diff --git a/chapters/VK_KHR_swapchain/wsi.adoc b/chapters/VK_KHR_swapchain/wsi.adoc index cf2c7d89f..d3f603686 100644 --- a/chapters/VK_KHR_swapchain/wsi.adoc +++ b/chapters/VK_KHR_swapchain/wsi.adoc @@ -418,6 +418,14 @@ endif::VK_KHR_shared_presentable_image[] and pname:colorSpace members, respectively, of one of the sname:VkSurfaceFormatKHR structures returned by fname:vkGetPhysicalDeviceSurfaceFormatsKHR for the surface +ifdef::VK_EXT_disable_wayland_color_management[] + * [[VUID-VkSwapchainCreateInfoKHR-imageColorSpace-00000]] + If pname:surface was created using flink:vkCreateWaylandSurfaceKHR and + sname:VkWaylandSurfaceCreateInfoKHR::pname:flags containing + ename:VK_WAYLAND_SURFACE_CREATE_DISABLE_COLOR_MANAGEMENT_BIT_EXT, then + sname:VkSwapchainCreateInfoKHR:pname:imageColorSpace must: be + ename:VK_COLOR_SPACE_PASS_THROUGH_EXT +endif::VK_EXT_disable_wayland_color_management[] * [[VUID-VkSwapchainCreateInfoKHR-pNext-07781]] ifdef::VK_EXT_swapchain_maintenance1[] If a slink:VkSwapchainPresentScalingCreateInfoEXT structure was not diff --git a/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.adoc b/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.adoc index f96a22a84..0dabf87df 100644 --- a/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.adoc +++ b/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.adoc @@ -35,7 +35,8 @@ include::{generated}/api/structs/VkWaylandSurfaceCreateInfoKHR.adoc[] * pname:sType is a elink:VkStructureType value identifying this structure. * pname:pNext is `NULL` or a pointer to a structure extending this structure. - * pname:flags is reserved for future use. + * pname:flags is a bitmask of elink:VkWaylandSurfaceCreateFlagBitsKHR + specifying additional surface creation parameters. * pname:display and pname:surface are pointers to the Wayland code:wl_display and code:wl_surface to associate the surface with. @@ -87,10 +88,25 @@ If the application wishes to synchronize any window changes with a particular frame, such requests must: be sent to the Wayland display server prior to calling flink:vkQueuePresentKHR. -[open,refpage='VkWaylandSurfaceCreateFlagsKHR',desc='Reserved for future use',type='flags'] +[open,refpage='VkWaylandSurfaceCreateFlagBitsKHR',desc='Bitmask specifying additional parameters for the Wayland surface.',type='enums',xrefs='VkWaylandSurfaceCreateInfoKHR'] +-- +include::{generated}/api/enums/VkWaylandSurfaceCreateFlagBitsKHR.adoc[] +-- + +ifdef::VK_EXT_disable_wayland_color_management[] +Possible values of the pname:flags member of +slink:VkWaylandSurfaceCreateInfoKHR are: + + * ename:VK_WAYLAND_SURFACE_CREATE_DISABLE_COLOR_MANAGEMENT_BIT_EXT specifies + that the implementation should avoid using the `wp_color_management` protocol + manage the surface. +endif::VK_EXT_disable_wayland_color_management[] + + +[open,refpage='VkWaylandSurfaceCreateFlagsKHR',desc='Bitmask of VkWaylandSurfaceCreateFlagBitsKHR',type='flags'] -- include::{generated}/api/flags/VkWaylandSurfaceCreateFlagsKHR.adoc[] -tname:VkWaylandSurfaceCreateFlagsKHR is a bitmask type for setting a mask, -but is currently reserved for future use. +tname:VkWaylandSurfaceCreateFlagsKHR is a bitmask type for setting a mask of +zero or more elink:VkWaylandSurfaceCreateFlagBitsKHR. -- diff --git a/xml/vk.xml b/xml/vk.xml index e01d09493..fbf38efed 100755 --- a/xml/vk.xml +++ b/xml/vk.xml @@ -402,7 +402,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; typedef VkFlags VkViSurfaceCreateFlagsNN; - typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; + typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; typedef VkFlags VkWin32SurfaceCreateFlagsKHR; typedef VkFlags VkXlibSurfaceCreateFlagsKHR; typedef VkFlags VkXcbSurfaceCreateFlagsKHR; @@ -877,6 +877,7 @@ typedef void* MTLSharedEvent_id; + Enumerated types in the header, but not used by the API @@ -11322,6 +11323,8 @@ typedef void* MTLSharedEvent_id; + + @@ -17026,10 +17029,11 @@ typedef void* MTLSharedEvent_id; - + + @@ -24648,11 +24652,11 @@ typedef void* MTLSharedEvent_id; - + - - - + + +