| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_xcb_surface
Description
Name
VK_KHR_xcb_surface - instance extension
VK_KHR_xcb_surface
- Name String
VK_KHR_xcb_surface
- Extension Type
- Instance extension
- Registered Extension Number
- 6
- Revision
- 6
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_surface
- Contact
Other Extension Metadata
- Last Modified Date
- 2015-11-28
- IP Status
- No known IP claims.
- Contributors
- Patrick Doane, Blizzard
- Jason Ekstrand, Intel
- Ian Elliott, LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall, Google
- James Jones, NVIDIA
- Antoine Labour, Google
- Jon Leech, Khronos
- David Mao, AMD
- Norbert Nopper, Freescale
- Alon Or-bach, Samsung
- Daniel Rakos, AMD
- Graham Sellers, AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I Wu, LunarG
Description
The VK_KHR_xcb_surface extension is an instance extension. It provides
a mechanism to create a SurfaceKHR object
(defined by the VK_KHR_surface extension) that refers to an X11
Window, using the XCB
client-side library, as well as a query to determine support for
rendering via XCB.
New Commands
New Structures
New Bitmasks
New Enum Constants
Issues
1) Does XCB need a way to query for compatibility between a particular
physical device and a specific screen? This would be a more general
query than
getPhysicalDeviceSurfaceSupportKHR:
If it returned TRUE, then the physical
device could be assumed to support presentation to any window on that
screen.
RESOLVED: Yes, this is needed for toolkits that want to create a
Device before creating a window. To ensure the
query is reliable, it must be made against a particular X visual rather
than the screen in general.
Version History
Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft, based on the previous contents of VK_EXT_KHR_swapchain (later renamed VK_EXT_KHR_surface).
Revision 2, 2015-10-02 (James Jones)
- Added presentation support query for an (xcb_connection_t*, xcb_visualid_t) pair.
- Removed "root" parameter from CreateXcbSurfaceKHR(), as it is redundant when a window on the same screen is specified as well.
- Adjusted wording of issue #1 and added agreed upon resolution.
Revision 3, 2015-10-14 (Ian Elliott)
- Removed "root" parameter from CreateXcbSurfaceKHR() in one more place.
Revision 4, 2015-10-26 (Ian Elliott)
- Renamed from VK_EXT_KHR_xcb_surface to VK_KHR_xcb_surface.
Revision 5, 2015-10-23 (Daniel Rakos)
- Added allocation callbacks to vkCreateXcbSurfaceKHR.
Revision 6, 2015-11-28 (Daniel Rakos)
- Updated the surface create function to take a pCreateInfo structure.
See Also
XcbSurfaceCreateFlagsKHR, XcbSurfaceCreateInfoKHR,
createXcbSurfaceKHR, getPhysicalDeviceXcbPresentationSupportKHR
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- createXcbSurfaceKHR :: forall io. MonadIO io => Instance -> XcbSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
- getPhysicalDeviceXcbPresentationSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> io Bool
- data XcbSurfaceCreateInfoKHR = XcbSurfaceCreateInfoKHR {}
- newtype XcbSurfaceCreateFlagsKHR = XcbSurfaceCreateFlagsKHR Flags
- type KHR_XCB_SURFACE_SPEC_VERSION = 6
- pattern KHR_XCB_SURFACE_SPEC_VERSION :: forall a. Integral a => a
- type KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface"
- pattern KHR_XCB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- type Xcb_visualid_t = Word32
- type Xcb_window_t = Word32
- data Xcb_connection_t
- newtype SurfaceKHR = SurfaceKHR Word64
Documentation
Arguments
| :: forall io. MonadIO io | |
| => Instance |
|
| -> XcbSurfaceCreateInfoKHR |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io SurfaceKHR |
vkCreateXcbSurfaceKHR - Create a SurfaceKHR
object for a X11 window, using the XCB client-side library
Valid Usage (Implicit)
-
instancemust be a validInstancehandle
-
pCreateInfomust be a valid pointer to a validXcbSurfaceCreateInfoKHRstructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pSurfacemust be a valid pointer to aSurfaceKHRhandle
Return Codes
See Also
AllocationCallbacks,
Instance,
SurfaceKHR, XcbSurfaceCreateInfoKHR
getPhysicalDeviceXcbPresentationSupportKHR Source #
Arguments
| :: forall io. MonadIO io | |
| => PhysicalDevice |
|
| -> ("queueFamilyIndex" ::: Word32) |
|
| -> Ptr Xcb_connection_t |
|
| -> ("visual_id" ::: Xcb_visualid_t) |
|
| -> io Bool |
vkGetPhysicalDeviceXcbPresentationSupportKHR - Query physical device for presentation to X11 server using XCB
Description
This platform-specific function can be called prior to creating a surface.
Valid Usage (Implicit)
See Also
data XcbSurfaceCreateInfoKHR Source #
VkXcbSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Xcb surface object
Valid Usage (Implicit)
See Also
StructureType,
XcbSurfaceCreateFlagsKHR, createXcbSurfaceKHR
Constructors
| XcbSurfaceCreateInfoKHR | |
Fields | |
Instances
newtype XcbSurfaceCreateFlagsKHR Source #
VkXcbSurfaceCreateFlagsKHR - Reserved for future use
Description
XcbSurfaceCreateFlagsKHR is a bitmask type for setting a mask, but is
currently reserved for future use.
See Also
Constructors
| XcbSurfaceCreateFlagsKHR Flags |
Instances
type KHR_XCB_SURFACE_SPEC_VERSION = 6 Source #
pattern KHR_XCB_SURFACE_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface" Source #
pattern KHR_XCB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
type Xcb_visualid_t = Word32 Source #
type Xcb_window_t = Word32 Source #
data Xcb_connection_t Source #
newtype SurfaceKHR Source #
VkSurfaceKHR - Opaque handle to a surface object
Description
The VK_KHR_surface extension declares the SurfaceKHR object, and
provides a function for destroying SurfaceKHR objects. Separate
platform-specific extensions each provide a function for creating a
SurfaceKHR object for the respective platform. From the application’s
perspective this is an opaque handle, just like the handles of other
Vulkan objects.
See Also
PhysicalDeviceSurfaceInfo2KHR,
SwapchainCreateInfoKHR,
createAndroidSurfaceKHR,
createDirectFBSurfaceEXT,
createDisplayPlaneSurfaceKHR,
createHeadlessSurfaceEXT,
createIOSSurfaceMVK,
createImagePipeSurfaceFUCHSIA,
createMacOSSurfaceMVK,
createMetalSurfaceEXT,
createStreamDescriptorSurfaceGGP,
createViSurfaceNN,
createWaylandSurfaceKHR,
createWin32SurfaceKHR,
createXcbSurfaceKHR,
createXlibSurfaceKHR,
destroySurfaceKHR,
getDeviceGroupSurfacePresentModesKHR,
getPhysicalDevicePresentRectanglesKHR,
getPhysicalDeviceSurfaceCapabilities2EXT,
getPhysicalDeviceSurfaceCapabilitiesKHR,
getPhysicalDeviceSurfaceFormatsKHR,
getPhysicalDeviceSurfacePresentModesKHR,
getPhysicalDeviceSurfaceSupportKHR
Constructors
| SurfaceKHR Word64 |