Class VkImageDrmFormatModifierExplicitCreateInfoEXT

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkImageDrmFormatModifierExplicitCreateInfoEXT
    extends Struct
    implements NativeResource
    Specify that an image be created with the provided DRM format modifier and explicit memory layout.
    Description

    The ith member of pPlaneLayouts describes the layout of the image's ith memory plane (that is, VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT). In each element of pPlaneLayouts, the implementation must ignore size. The implementation calculates the size of each plane, which the application can query with GetImageSubresourceLayout.

    When creating an image with VkImageDrmFormatModifierExplicitCreateInfoEXT, it is the application's responsibility to satisfy all valid usage requirements. However, the implementation must validate that the provided pPlaneLayouts, when combined with the provided drmFormatModifier and other creation parameters in VkImageCreateInfo and its pNext chain, produce a valid image. (This validation is necessarily implementation-dependent and outside the scope of Vulkan, and therefore not described by valid usage requirements). If this validation fails, then CreateImage returns ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT.

    Valid Usage
    Valid Usage (Implicit)
    See Also

    VkSubresourceLayout

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • drmFormatModifier – the Linux DRM format modifier with which the image will be created.
    • drmFormatModifierPlaneCount – the number of memory planes in the image (as reported by VkDrmFormatModifierPropertiesEXT) as well as the length of the pPlaneLayouts array.
    • pPlaneLayouts – an array of VkSubresourceLayout structures that describe the image’s memory planes.

    Layout

    
     struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
         VkStructureType sType;
         void const * pNext;
         uint64_t drmFormatModifier;
         uint32_t drmFormatModifierPlaneCount;
         VkSubresourceLayout const * pPlaneLayouts;
     }