All Classes and Interfaces

Class
Description
An instance that holds a MemorySegment.
The OpenAL binding.
Method handles.
typedef (int) ALsizei (*ALBufferCallbackTypeSOFT)(ALvoid* userptr, ALvoid* sampledata, (int) ALsizei numbytes);
The OpenAL context related functions.
Method handles.
typedef void (*ALCEventProcTypeSOFT)((int) ALCenum eventType, (int) ALCenum deviceType, ALCdevice* device, (int) ALCsizei length, const ALCchar* message, void* userParam);
typedef void (*ALDebugProcEXT)((int) ALenum source, (int) ALenum type, (unsigned int) ALuint id, (int) ALenum severity, (int) ALsizei length, const ALchar* message, void* userParam);
typedef void (*ALEventProcSOFT)((int) ALenum eventType, (unsigned int) ALuint object, (unsigned int) ALuint param, (int) ALsizei length, const ALchar* message, void* userParam);
OpenAL extensions
Method handles.
typedef void (*ALFoldbackCallback)((int) ALenum event, (int) ALsizei blockIndex);
Memory layouts of C builtin type got from Linker.canonicalLayouts().

Layout

struct DrawArraysIndirectCommand {
    unsigned int count;
    unsigned int instanceCount;
    unsigned int first;
    unsigned int baseInstance;
};

Layout

struct DrawElementsIndirectCommand {
    unsigned int count;
    unsigned int instanceCount;
    unsigned int firstIndex;
    int baseVertex;
    unsigned int baseInstance;
};
The latest OpenGL functions in core profile.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
typedef void (*GLDebugProc)((unsigned int) GLenum source, (unsigned int) GLenum type, (unsigned int) GLuint id, (unsigned int) GLenum severity, (int) GLsizei length, const GLchar* message, const void* userParam);
typedef void (*GLDebugProcAMD)((unsigned int) GLuint id, (unsigned int) GLenum category, (unsigned int) GLenum severity, (int) GLsizei length, const GLchar* message, void* userParam);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The GLFW binding.
Method handles.
typedef void* (*GLFWAllocateFun)(size_t size, void* user);

Layout

struct GLFWAllocator {
    (void* (*GLFWAllocateFun)(size_t size, void* user)) GLFWallocatefun allocate;
    (void* (*GLFWReallocateFun)(void* block, size_t size, void* user)) GLFWreallocatefun reallocate;
    (void (*GLFWDeallocateFun)(void* block, void* user)) GLFWdeallocatefun deallocate;
    void* user;
};
A buffer of GLFWAllocator.
typedef void (*GLFWCharFun)(GLFWwindow* window, unsigned int codepoint);
typedef void (*GLFWCursorEnterFun)(GLFWwindow* window, (int) GLFWboolean entered);
typedef void (*GLFWCursorPosFun)(GLFWwindow* window, double xpos, double ypos);
typedef void (*GLFWDeallocateFun)(void* block, void* user);
typedef void (*GLFWDropFun)(GLFWwindow* window, int path_count, const char** paths);
The GLFW error callback creator.
typedef void (*GLFWErrorFun)(int error_code, const char* description);
typedef void (*GLFWFramebufferSizeFun)(GLFWwindow* window, int width, int height);

Layout

struct GLFWGamepadState {
    unsigned char buttons[15];
    float axes[6];
};
A buffer of GLFWGamepadState.

Layout

struct GLFWGammaRamp {
    unsigned short* red;
    unsigned short* green;
    unsigned short* blue;
    unsigned int size;
};
A buffer of GLFWGammaRamp.

Layout

struct GLFWImage {
    int width;
    int height;
    unsigned char* pixels;
};
A buffer of GLFWImage.
typedef void (*GLFWJoystickFun)(int jid, int event);
typedef void (*GLFWKeyFun)(GLFWwindow* window, int key, int scancode, int action, int mods);
typedef void (*GLFWMonitorFun)(GLFWmonitor* monitor, int event);
typedef void (*GLFWMouseButtonFun)(GLFWwindow* window, int button, int action, int mods);
GLFW native functions.
Method handles.
typedef void* (*GLFWReallocateFun)(void* block, size_t size, void* user);
typedef void (*GLFWScrollFun)(GLFWwindow* window, double xoffset, double yoffset);

Layout

struct GLFWVidMode {
    int width;
    int height;
    int redBits;
    int greenBits;
    int blueBits;
    int refreshRate;
};
A buffer of GLFWVidMode.
typedef void (*GLFWWindowCloseFun)(GLFWwindow* window);
typedef void (*GLFWWindowContentScaleFun)(GLFWwindow* window, float xscale, float yscale);
typedef void (*GLFWWindowFocusFun)(GLFWwindow* window, (int) GLFWboolean focused);
typedef void (*GLFWWindowIconifyFun)(GLFWwindow* window, (int) GLFWboolean iconified);
typedef void (*GLFWWindowMaximizeFun)(GLFWwindow* window, (int) GLFWboolean maximized);
typedef void (*GLFWWindowPosFun)(GLFWwindow* window, int xpos, int ypos);
typedef void (*GLFWWindowRefreshFun)(GLFWwindow* window);
typedef void (*GLFWWindowSizeFun)(GLFWwindow* window, int width, int height);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The OpenGL loading function.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OpenGL utilities.
 
 

Group type

A builder of StructLayout which automatically computes the padding between elements.
The matrix-to-native-memory util.
Memory stack
Utilities of memory segment.
Native File Dialog Extended binding.
Method handles.
A wrapper of NFD path set enumerator.
A result of fromPathSet

Layout

struct NFDFilterItem {
    const nfdnchar_t* name;
    const nfdnchar_t* spec;
};
A buffer of NFDFilterItem.

Layout

struct NFDOpenDialogArgs {
    const nfdnfilteritem_t* filterList;
    (unsigned int) nfdfiltersize_t filterCount;
    const nfdnchar_t* defaultPath;
    (struct NFDWindowHandle) nfdwindowhandle_t parentWindow;
};
A buffer of NFDOpenDialogArgs.

Layout

struct NFDPathSetEnum {
    void* ptr;
};
A buffer of NFDPathSetEnum.

Layout

struct NFDPickFolderArgs {
    const nfdnchar_t* defaultPath;
    (struct NFDWindowHandle) nfdwindowhandle_t parentWindow;
};
A buffer of NFDPickFolderArgs.

Layout

struct NFDSaveDialogArgs {
    const nfdnfilteritem_t* filterList;
    (unsigned int) nfdfiltersize_t filterCount;
    const nfdnchar_t* defaultPath;
    const nfdnchar_t* defaultName;
    (struct NFDWindowHandle) nfdwindowhandle_t parentWindow;
};
A buffer of NFDSaveDialogArgs.

Layout

struct NFDWindowHandle {
    size_t type;
    void* handle;
};
A buffer of NFDWindowHandle.
Constants of OverrunGL.
The configurations for game library.
A configuration entry.
The runtime helper, for internal use.
Method handles.

Layout

struct STBIIOCallbacks {
    (int (*STBIIORead)(void* user, char* data, int size)) stbi_io_callbacks$read read;
    (void (*STBIIOSkip)(void* user, int n)) stbi_io_callbacks$skip skip;
    ((int) STBbool (*STBIIOEof)(void* user)) stbi_io_callbacks$eof eof;
};
A buffer of STBIIOCallbacks.
typedef (int) STBbool (*STBIIOEof)(void* user);
typedef int (*STBIIORead)(void* user, char* data, int size);
typedef void (*STBIIOSkip)(void* user, int n);
Method handles.
Method handles.
Method handles.

Layout

struct STBIR_RESIZE {
    void* user_data;
    void const * input_pixels;
    int input_w;
    int input_h;
    double input_s0;
    double input_t0;
    double input_s1;
    double input_t1;
    stbir_input_callback* input_cb;
    void* output_pixels;
    int output_w;
    int output_h;
    int output_subx;
    int output_suby;
    int output_subw;
    int output_subh;
    stbir_output_callback* output_cb;
    int input_stride_in_bytes;
    int output_stride_in_bytes;
    int splits;
    int fast_alpha;
    int needs_rebuild;
    int called_alloc;
    (int) stbir_pixel_layout input_pixel_layout_public;
    (int) stbir_pixel_layout output_pixel_layout_public;
    (int) stbir_datatype input_data_type;
    (int) stbir_datatype output_data_type;
    (int) stbir_filter horizontal_filter;
    (int) stbir_filter vertical_filter;
    (int) stbir_edge horizontal_edge;
    (int) stbir_edge vertical_edge;
    stbir__kernel_callback* horizontal_filter_kernel;
    stbir__support_callback* horizontal_filter_support;
    stbir__kernel_callback* vertical_filter_kernel;
    stbir__support_callback* vertical_filter_support;
    stbir__info* samplers;
};
A buffer of STBIR_RESIZE.
typedef void const * (*STBIRInputCallback)(void* optional_output, void const * input_ptr, int num_pixels, int x, int y, void* context);
typedef float (*STBIRKernelCallback)(float x, float scale, void* user_data);
typedef void (*STBIROutputCallback)(void const * output_ptr, int num_pixels, int y, void* context);
typedef float (*STBIRSupportCallback)(float scale, void* user_data);
typedef void (*STBIWriteFunc)(void* context, void* data, int size);
Method handles.
Method handles.

Layout

struct STBRPContext {
    int width;
    int height;
    int align;
    int init_mode;
    int heuristic;
    int num_nodes;
    stbrp_node* active_head;
    stbrp_node* free_head;
    (struct STBRPNode) stbrp_node extra[2];
};
A buffer of STBRPContext.

Layout

struct STBRPNode {
    (int) stbrp_coord x;
    (int) stbrp_coord y;
    stbrp_node* next;
};
A buffer of STBRPNode.

Layout

struct STBRPRect {
    int id;
    (int) stbrp_coord w;
    (int) stbrp_coord h;
    (int) stbrp_coord x;
    (int) stbrp_coord y;
    int was_packed;
};
A buffer of STBRPRect.
=======================================================================
Method handles.

Layout

struct STBTT__bitmap {
    int w;
    int h;
    int stride;
    unsigned char* pixels;
};
A buffer of STBTT__bitmap.

Layout

struct STBTT__buf {
    unsigned char* data;
    int cursor;
    int size;
};
A buffer of STBTT__buf.

Layout

struct STBTTAlignedQuad {
    float x0;
    float y0;
    float s0;
    float t0;
    float x1;
    float y1;
    float s1;
    float t1;
};
A buffer of STBTTAlignedQuad.

Layout

struct STBTTBakedChar {
    unsigned short x0;
    unsigned short y0;
    unsigned short x1;
    unsigned short y1;
    float xoff;
    float yoff;
    float xadvance;
};
A buffer of STBTTBakedChar.

Layout

struct STBTTFontInfo {
    void* userdata;
    unsigned char* data;
    int fontstart;
    int numGlyphs;
    int loca;
    int head;
    int glyf;
    int hhea;
    int hmtx;
    int kern;
    int gpos;
    int svg;
    int index_map;
    int indexToLocFormat;
    (struct STBTT__buf) stbtt__buf cff;
    (struct STBTT__buf) stbtt__buf charstrings;
    (struct STBTT__buf) stbtt__buf gsubrs;
    (struct STBTT__buf) stbtt__buf subrs;
    (struct STBTT__buf) stbtt__buf fontdicts;
    (struct STBTT__buf) stbtt__buf fdselect;
};
A buffer of STBTTFontInfo.

Layout

struct STBTTKerningEntry {
    int glyph1;
    int glyph2;
    int advance;
};
A buffer of STBTTKerningEntry.

Layout

struct STBTTPackedChar {
    unsigned short x0;
    unsigned short y0;
    unsigned short x1;
    unsigned short y1;
    float xoff;
    float yoff;
    float xadvance;
    float xoff2;
    float yoff2;
};
A buffer of STBTTPackedChar.

Layout

struct STBTTPackRange {
    float font_size;
    int first_unicode_codepoint_in_range;
    int* array_of_unicode_codepoints;
    int num_chars;
    stbtt_packedchar* chardata_for_range;
    unsigned char h_oversample;
    unsigned char v_oversample;
};
A buffer of STBTTPackRange.

Layout

struct STBTTVertex {
    (short) stbtt_vertex_type x;
    (short) stbtt_vertex_type y;
    (short) stbtt_vertex_type cx;
    (short) stbtt_vertex_type cy;
    (short) stbtt_vertex_type cx1;
    (short) stbtt_vertex_type cy1;
    unsigned char type;
    unsigned char padding;
};
A buffer of STBTTVertex.
Method handles.

Layout

struct STBVorbisAlloc {
    char* alloc_buffer;
    int alloc_buffer_length_in_bytes;
};
A buffer of STBVorbisAlloc.

Layout

struct STBVorbisComment {
    char* vendor;
    int comment_list_length;
    char** comment_list;
};
A buffer of STBVorbisComment.

Layout

struct STBVorbisInfo {
    unsigned int sample_rate;
    int channels;
    unsigned int setup_memory_required;
    unsigned int setup_temp_memory_required;
    unsigned int temp_memory_required;
    int max_frame_size;
};
A buffer of STBVorbisInfo.

Layout

struct StdVideoAV1CDEF {
    uint8_t cdef_damping_minus_3;
    uint8_t cdef_bits;
    uint8_t cdef_y_pri_strength[8];
    uint8_t cdef_y_sec_strength[8];
    uint8_t cdef_uv_pri_strength[8];
    uint8_t cdef_uv_sec_strength[8];
};
A buffer of StdVideoAV1CDEF.

Layout

struct StdVideoAV1ColorConfig {
    (struct StdVideoAV1ColorConfigFlags) StdVideoAV1ColorConfigFlags flags;
    uint8_t BitDepth;
    uint8_t subsampling_x;
    uint8_t subsampling_y;
    uint8_t reserved1;
    (int) StdVideoAV1ColorPrimaries color_primaries;
    (int) StdVideoAV1TransferCharacteristics transfer_characteristics;
    (int) StdVideoAV1MatrixCoefficients matrix_coefficients;
    (int) StdVideoAV1ChromaSamplePosition chroma_sample_position;
};

Layout

struct StdVideoAV1ColorConfigFlags {
    uint32_t mono_chrome : 1;
    uint32_t color_range : 1;
    uint32_t separate_uv_delta_q : 1;
    uint32_t color_description_present_flag : 1;
    uint32_t reserved : 28;
};

Layout

struct StdVideoAV1FilmGrain {
    (struct StdVideoAV1FilmGrainFlags) StdVideoAV1FilmGrainFlags flags;
    uint8_t grain_scaling_minus_8;
    uint8_t ar_coeff_lag;
    uint8_t ar_coeff_shift_minus_6;
    uint8_t grain_scale_shift;
    uint16_t grain_seed;
    uint8_t film_grain_params_ref_idx;
    uint8_t num_y_points;
    uint8_t point_y_value[14];
    uint8_t point_y_scaling[14];
    uint8_t num_cb_points;
    uint8_t point_cb_value[10];
    uint8_t point_cb_scaling[10];
    uint8_t num_cr_points;
    uint8_t point_cr_value[10];
    uint8_t point_cr_scaling[10];
    int8_t ar_coeffs_y_plus_128[24];
    int8_t ar_coeffs_cb_plus_128[25];
    int8_t ar_coeffs_cr_plus_128[25];
    uint8_t cb_mult;
    uint8_t cb_luma_mult;
    uint16_t cb_offset;
    uint8_t cr_mult;
    uint8_t cr_luma_mult;
    uint16_t cr_offset;
};

Layout

struct StdVideoAV1FilmGrainFlags {
    uint32_t chroma_scaling_from_luma : 1;
    uint32_t overlap_flag : 1;
    uint32_t clip_to_restricted_range : 1;
    uint32_t update_grain : 1;
    uint32_t reserved : 28;
};

Layout

struct StdVideoAV1GlobalMotion {
    uint8_t GmType[8];
    int32_t gm_params[8][6];
};

Layout

struct StdVideoAV1LoopFilter {
    (struct StdVideoAV1LoopFilterFlags) StdVideoAV1LoopFilterFlags flags;
    uint8_t loop_filter_level[4];
    uint8_t loop_filter_sharpness;
    uint8_t update_ref_delta;
    int8_t loop_filter_ref_deltas[8];
    uint8_t update_mode_delta;
    int8_t loop_filter_mode_deltas[2];
};

Layout

struct StdVideoAV1LoopFilterFlags {
    uint32_t loop_filter_delta_enabled : 1;
    uint32_t loop_filter_delta_update : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoAV1LoopRestoration {
    (int) StdVideoAV1FrameRestorationType FrameRestorationType[3];
    uint16_t LoopRestorationSize[3];
};

Layout

struct StdVideoAV1Quantization {
    (struct StdVideoAV1QuantizationFlags) StdVideoAV1QuantizationFlags flags;
    uint8_t base_q_idx;
    int8_t DeltaQYDc;
    int8_t DeltaQUDc;
    int8_t DeltaQUAc;
    int8_t DeltaQVDc;
    int8_t DeltaQVAc;
    uint8_t qm_y;
    uint8_t qm_u;
    uint8_t qm_v;
};

Layout

struct StdVideoAV1QuantizationFlags {
    uint32_t using_qmatrix : 1;
    uint32_t diff_uv_delta : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoAV1Segmentation {
    uint8_t FeatureEnabled[8];
    int16_t FeatureData[8][8];
};

Layout

struct StdVideoAV1SequenceHeader {
    (struct StdVideoAV1SequenceHeaderFlags) StdVideoAV1SequenceHeaderFlags flags;
    (int) StdVideoAV1Profile seq_profile;
    uint8_t frame_width_bits_minus_1;
    uint8_t frame_height_bits_minus_1;
    uint16_t max_frame_width_minus_1;
    uint16_t max_frame_height_minus_1;
    uint8_t delta_frame_id_length_minus_2;
    uint8_t additional_frame_id_length_minus_1;
    uint8_t order_hint_bits_minus_1;
    uint8_t seq_force_integer_mv;
    uint8_t seq_force_screen_content_tools;
    uint8_t reserved1[5];
    const StdVideoAV1ColorConfig* pColorConfig;
    const StdVideoAV1TimingInfo* pTimingInfo;
};

Layout

struct StdVideoAV1SequenceHeaderFlags {
    uint32_t still_picture : 1;
    uint32_t reduced_still_picture_header : 1;
    uint32_t use_128x128_superblock : 1;
    uint32_t enable_filter_intra : 1;
    uint32_t enable_intra_edge_filter : 1;
    uint32_t enable_interintra_compound : 1;
    uint32_t enable_masked_compound : 1;
    uint32_t enable_warped_motion : 1;
    uint32_t enable_dual_filter : 1;
    uint32_t enable_order_hint : 1;
    uint32_t enable_jnt_comp : 1;
    uint32_t enable_ref_frame_mvs : 1;
    uint32_t frame_id_numbers_present_flag : 1;
    uint32_t enable_superres : 1;
    uint32_t enable_cdef : 1;
    uint32_t enable_restoration : 1;
    uint32_t film_grain_params_present : 1;
    uint32_t timing_info_present_flag : 1;
    uint32_t initial_display_delay_present_flag : 1;
    uint32_t reserved : 13;
};

Layout

struct StdVideoAV1TileInfo {
    (struct StdVideoAV1TileInfoFlags) StdVideoAV1TileInfoFlags flags;
    uint8_t TileCols;
    uint8_t TileRows;
    uint16_t context_update_tile_id;
    uint8_t tile_size_bytes_minus_1;
    uint8_t reserved1[7];
    const uint16_t* pMiColStarts;
    const uint16_t* pMiRowStarts;
    const uint16_t* pWidthInSbsMinus1;
    const uint16_t* pHeightInSbsMinus1;
};
A buffer of StdVideoAV1TileInfo.

Layout

struct StdVideoAV1TileInfoFlags {
    uint32_t uniform_tile_spacing_flag : 1;
    uint32_t reserved : 31;
};

Layout

struct StdVideoAV1TimingInfo {
    (struct StdVideoAV1TimingInfoFlags) StdVideoAV1TimingInfoFlags flags;
    uint32_t num_units_in_display_tick;
    uint32_t time_scale;
    uint32_t num_ticks_per_picture_minus_1;
};

Layout

struct StdVideoAV1TimingInfoFlags {
    uint32_t equal_picture_interval : 1;
    uint32_t reserved : 31;
};

Layout

struct StdVideoDecodeAV1PictureInfo {
    (struct StdVideoDecodeAV1PictureInfoFlags) StdVideoDecodeAV1PictureInfoFlags flags;
    (int) StdVideoAV1FrameType frame_type;
    uint32_t current_frame_id;
    uint8_t OrderHint;
    uint8_t primary_ref_frame;
    uint8_t refresh_frame_flags;
    uint8_t reserved1;
    (int) StdVideoAV1InterpolationFilter interpolation_filter;
    (int) StdVideoAV1TxMode TxMode;
    uint8_t delta_q_res;
    uint8_t delta_lf_res;
    uint8_t SkipModeFrame[2];
    uint8_t coded_denom;
    uint8_t reserved2[3];
    uint8_t OrderHints[8];
    uint32_t expectedFrameId[8];
    const StdVideoAV1TileInfo* pTileInfo;
    const StdVideoAV1Quantization* pQuantization;
    const StdVideoAV1Segmentation* pSegmentation;
    const StdVideoAV1LoopFilter* pLoopFilter;
    const StdVideoAV1CDEF* pCDEF;
    const StdVideoAV1LoopRestoration* pLoopRestoration;
    const StdVideoAV1GlobalMotion* pGlobalMotion;
    const StdVideoAV1FilmGrain* pFilmGrain;
};

Layout

struct StdVideoDecodeAV1PictureInfoFlags {
    uint32_t error_resilient_mode : 1;
    uint32_t disable_cdf_update : 1;
    uint32_t use_superres : 1;
    uint32_t render_and_frame_size_different : 1;
    uint32_t allow_screen_content_tools : 1;
    uint32_t is_filter_switchable : 1;
    uint32_t force_integer_mv : 1;
    uint32_t frame_size_override_flag : 1;
    uint32_t buffer_removal_time_present_flag : 1;
    uint32_t allow_intrabc : 1;
    uint32_t frame_refs_short_signaling : 1;
    uint32_t allow_high_precision_mv : 1;
    uint32_t is_motion_mode_switchable : 1;
    uint32_t use_ref_frame_mvs : 1;
    uint32_t disable_frame_end_update_cdf : 1;
    uint32_t allow_warped_motion : 1;
    uint32_t reduced_tx_set : 1;
    uint32_t reference_select : 1;
    uint32_t skip_mode_present : 1;
    uint32_t delta_q_present : 1;
    uint32_t delta_lf_present : 1;
    uint32_t delta_lf_multi : 1;
    uint32_t segmentation_enabled : 1;
    uint32_t segmentation_update_map : 1;
    uint32_t segmentation_temporal_update : 1;
    uint32_t segmentation_update_data : 1;
    uint32_t UsesLr : 1;
    uint32_t usesChromaLr : 1;
    uint32_t apply_grain : 1;
    uint32_t reserved : 3;
};

Layout

struct StdVideoDecodeAV1ReferenceInfo {
    (struct StdVideoDecodeAV1ReferenceInfoFlags) StdVideoDecodeAV1ReferenceInfoFlags flags;
    uint8_t frame_type;
    uint8_t RefFrameSignBias;
    uint8_t OrderHint;
    uint8_t SavedOrderHints[8];
};

Layout

struct StdVideoDecodeAV1ReferenceInfoFlags {
    uint32_t disable_frame_end_update_cdf : 1;
    uint32_t segmentation_enabled : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoDecodeH264PictureInfo {
    (struct StdVideoDecodeH264PictureInfoFlags) StdVideoDecodeH264PictureInfoFlags flags;
    uint8_t seq_parameter_set_id;
    uint8_t pic_parameter_set_id;
    uint8_t reserved1;
    uint8_t reserved2;
    uint16_t frame_num;
    uint16_t idr_pic_id;
    int32_t PicOrderCnt[2];
};

Layout

struct StdVideoDecodeH264PictureInfoFlags {
    uint32_t field_pic_flag : 1;
    uint32_t is_intra : 1;
    uint32_t IdrPicFlag : 1;
    uint32_t bottom_field_flag : 1;
    uint32_t is_reference : 1;
    uint32_t complementary_field_pair : 1;
};

Layout

struct StdVideoDecodeH264ReferenceInfo {
    (struct StdVideoDecodeH264ReferenceInfoFlags) StdVideoDecodeH264ReferenceInfoFlags flags;
    uint16_t FrameNum;
    uint16_t reserved;
    int32_t PicOrderCnt[2];
};

Layout

struct StdVideoDecodeH264ReferenceInfoFlags {
    uint32_t top_field_flag : 1;
    uint32_t bottom_field_flag : 1;
    uint32_t used_for_long_term_reference : 1;
    uint32_t is_non_existing : 1;
};

Layout

struct StdVideoDecodeH265PictureInfo {
    (struct StdVideoDecodeH265PictureInfoFlags) StdVideoDecodeH265PictureInfoFlags flags;
    uint8_t sps_video_parameter_set_id;
    uint8_t pps_seq_parameter_set_id;
    uint8_t pps_pic_parameter_set_id;
    uint8_t NumDeltaPocsOfRefRpsIdx;
    int32_t PicOrderCntVal;
    uint16_t NumBitsForSTRefPicSetInSlice;
    uint16_t reserved;
    uint8_t RefPicSetStCurrBefore[8];
    uint8_t RefPicSetStCurrAfter[8];
    uint8_t RefPicSetLtCurr[8];
};

Layout

struct StdVideoDecodeH265PictureInfoFlags {
    uint32_t IrapPicFlag : 1;
    uint32_t IdrPicFlag : 1;
    uint32_t IsReference : 1;
    uint32_t short_term_ref_pic_set_sps_flag : 1;
};

Layout

struct StdVideoDecodeH265ReferenceInfo {
    (struct StdVideoDecodeH265ReferenceInfoFlags) StdVideoDecodeH265ReferenceInfoFlags flags;
    int32_t PicOrderCntVal;
};

Layout

struct StdVideoDecodeH265ReferenceInfoFlags {
    uint32_t used_for_long_term_reference : 1;
    uint32_t unused_for_reference : 1;
};

Layout

struct StdVideoEncodeAV1DecoderModelInfo {
    uint8_t buffer_delay_length_minus_1;
    uint8_t buffer_removal_time_length_minus_1;
    uint8_t frame_presentation_time_length_minus_1;
    uint8_t reserved1;
    uint32_t num_units_in_decoding_tick;
};

Layout

struct StdVideoEncodeAV1ExtensionHeader {
    uint8_t temporal_id;
    uint8_t spatial_id;
};

Layout

struct StdVideoEncodeAV1OperatingPointInfo {
    (struct StdVideoEncodeAV1OperatingPointInfoFlags) StdVideoEncodeAV1OperatingPointInfoFlags flags;
    uint16_t operating_point_idc;
    uint8_t seq_level_idx;
    uint8_t seq_tier;
    uint32_t decoder_buffer_delay;
    uint32_t encoder_buffer_delay;
    uint8_t initial_display_delay_minus_1;
};

Layout

struct StdVideoEncodeAV1OperatingPointInfoFlags {
    uint32_t decoder_model_present_for_this_op : 1;
    uint32_t low_delay_mode_flag : 1;
    uint32_t initial_display_delay_present_for_this_op : 1;
    uint32_t reserved : 29;
};

Layout

struct StdVideoEncodeAV1PictureInfo {
    (struct StdVideoEncodeAV1PictureInfoFlags) StdVideoEncodeAV1PictureInfoFlags flags;
    (int) StdVideoAV1FrameType frame_type;
    uint32_t frame_presentation_time;
    uint32_t current_frame_id;
    uint8_t order_hint;
    uint8_t primary_ref_frame;
    uint8_t refresh_frame_flags;
    uint8_t coded_denom;
    uint16_t render_width_minus_1;
    uint16_t render_height_minus_1;
    (int) StdVideoAV1InterpolationFilter interpolation_filter;
    (int) StdVideoAV1TxMode TxMode;
    uint8_t delta_q_res;
    uint8_t delta_lf_res;
    uint8_t ref_order_hint[8];
    int8_t ref_frame_idx[7];
    uint8_t reserved1[3];
    uint32_t delta_frame_id_minus_1[7];
    const StdVideoAV1TileInfo* pTileInfo;
    const StdVideoAV1Quantization* pQuantization;
    const StdVideoAV1Segmentation* pSegmentation;
    const StdVideoAV1LoopFilter* pLoopFilter;
    const StdVideoAV1CDEF* pCDEF;
    const StdVideoAV1LoopRestoration* pLoopRestoration;
    const StdVideoAV1GlobalMotion* pGlobalMotion;
    const StdVideoEncodeAV1ExtensionHeader* pExtensionHeader;
    const uint32_t* pBufferRemovalTimes;
};

Layout

struct StdVideoEncodeAV1PictureInfoFlags {
    uint32_t error_resilient_mode : 1;
    uint32_t disable_cdf_update : 1;
    uint32_t use_superres : 1;
    uint32_t render_and_frame_size_different : 1;
    uint32_t allow_screen_content_tools : 1;
    uint32_t is_filter_switchable : 1;
    uint32_t force_integer_mv : 1;
    uint32_t frame_size_override_flag : 1;
    uint32_t buffer_removal_time_present_flag : 1;
    uint32_t allow_intrabc : 1;
    uint32_t frame_refs_short_signaling : 1;
    uint32_t allow_high_precision_mv : 1;
    uint32_t is_motion_mode_switchable : 1;
    uint32_t use_ref_frame_mvs : 1;
    uint32_t disable_frame_end_update_cdf : 1;
    uint32_t allow_warped_motion : 1;
    uint32_t reduced_tx_set : 1;
    uint32_t skip_mode_present : 1;
    uint32_t delta_q_present : 1;
    uint32_t delta_lf_present : 1;
    uint32_t delta_lf_multi : 1;
    uint32_t segmentation_enabled : 1;
    uint32_t segmentation_update_map : 1;
    uint32_t segmentation_temporal_update : 1;
    uint32_t segmentation_update_data : 1;
    uint32_t UsesLr : 1;
    uint32_t usesChromaLr : 1;
    uint32_t show_frame : 1;
    uint32_t showable_frame : 1;
    uint32_t reserved : 3;
};

Layout

struct StdVideoEncodeAV1ReferenceInfo {
    (struct StdVideoEncodeAV1ReferenceInfoFlags) StdVideoEncodeAV1ReferenceInfoFlags flags;
    uint32_t RefFrameId;
    (int) StdVideoAV1FrameType frame_type;
    uint8_t OrderHint;
    uint8_t reserved1[3];
    const StdVideoEncodeAV1ExtensionHeader* pExtensionHeader;
};

Layout

struct StdVideoEncodeAV1ReferenceInfoFlags {
    uint32_t disable_frame_end_update_cdf : 1;
    uint32_t segmentation_enabled : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoEncodeH264PictureInfo {
    (struct StdVideoEncodeH264PictureInfoFlags) StdVideoEncodeH264PictureInfoFlags flags;
    uint8_t seq_parameter_set_id;
    uint8_t pic_parameter_set_id;
    uint16_t idr_pic_id;
    (int) StdVideoH264PictureType primary_pic_type;
    uint32_t frame_num;
    int32_t PicOrderCnt;
    uint8_t temporal_id;
    uint8_t reserved1[3];
    const StdVideoEncodeH264ReferenceListsInfo* pRefLists;
};

Layout

struct StdVideoEncodeH264PictureInfoFlags {
    uint32_t IdrPicFlag : 1;
    uint32_t is_reference : 1;
    uint32_t no_output_of_prior_pics_flag : 1;
    uint32_t long_term_reference_flag : 1;
    uint32_t adaptive_ref_pic_marking_mode_flag : 1;
    uint32_t reserved : 27;
};

Layout

struct StdVideoEncodeH264ReferenceInfo {
    (struct StdVideoEncodeH264ReferenceInfoFlags) StdVideoEncodeH264ReferenceInfoFlags flags;
    (int) StdVideoH264PictureType primary_pic_type;
    uint32_t FrameNum;
    int32_t PicOrderCnt;
    uint16_t long_term_pic_num;
    uint16_t long_term_frame_idx;
    uint8_t temporal_id;
};

Layout

struct StdVideoEncodeH264ReferenceInfoFlags {
    uint32_t used_for_long_term_reference : 1;
    uint32_t reserved : 31;
};

Layout

struct StdVideoEncodeH264ReferenceListsInfo {
    (struct StdVideoEncodeH264ReferenceListsInfoFlags) StdVideoEncodeH264ReferenceListsInfoFlags flags;
    uint8_t num_ref_idx_l0_active_minus1;
    uint8_t num_ref_idx_l1_active_minus1;
    uint8_t RefPicList0[32];
    uint8_t RefPicList1[32];
    uint8_t refList0ModOpCount;
    uint8_t refList1ModOpCount;
    uint8_t refPicMarkingOpCount;
    uint8_t reserved1[7];
    const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
    const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
    const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
};

Layout

struct StdVideoEncodeH264ReferenceListsInfoFlags {
    uint32_t ref_pic_list_modification_flag_l0 : 1;
    uint32_t ref_pic_list_modification_flag_l1 : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoEncodeH264RefListModEntry {
    (int) StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
    uint16_t abs_diff_pic_num_minus1;
    uint16_t long_term_pic_num;
};

Layout

struct StdVideoEncodeH264RefPicMarkingEntry {
    (int) StdVideoH264MemMgmtControlOp memory_management_control_operation;
    uint16_t difference_of_pic_nums_minus1;
    uint16_t long_term_pic_num;
    uint16_t long_term_frame_idx;
    uint16_t max_long_term_frame_idx_plus1;
};

Layout

struct StdVideoEncodeH264SliceHeader {
    (struct StdVideoEncodeH264SliceHeaderFlags) StdVideoEncodeH264SliceHeaderFlags flags;
    uint32_t first_mb_in_slice;
    (int) StdVideoH264SliceType slice_type;
    int8_t slice_alpha_c0_offset_div2;
    int8_t slice_beta_offset_div2;
    int8_t slice_qp_delta;
    uint8_t reserved1;
    (int) StdVideoH264CabacInitIdc cabac_init_idc;
    (int) StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
    const StdVideoEncodeH264WeightTable* pWeightTable;
};

Layout

struct StdVideoEncodeH264SliceHeaderFlags {
    uint32_t direct_spatial_mv_pred_flag : 1;
    uint32_t num_ref_idx_active_override_flag : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoEncodeH264WeightTable {
    (struct StdVideoEncodeH264WeightTableFlags) StdVideoEncodeH264WeightTableFlags flags;
    uint8_t luma_log2_weight_denom;
    uint8_t chroma_log2_weight_denom;
    int8_t luma_weight_l0[32];
    int8_t luma_offset_l0[32];
    int8_t chroma_weight_l0[32][2];
    int8_t chroma_offset_l0[32][2];
    int8_t luma_weight_l1[32];
    int8_t luma_offset_l1[32];
    int8_t chroma_weight_l1[32][2];
    int8_t chroma_offset_l1[32][2];
};

Layout

struct StdVideoEncodeH264WeightTableFlags {
    uint32_t luma_weight_l0_flag;
    uint32_t chroma_weight_l0_flag;
    uint32_t luma_weight_l1_flag;
    uint32_t chroma_weight_l1_flag;
};

Layout

struct StdVideoEncodeH265LongTermRefPics {
    uint8_t num_long_term_sps;
    uint8_t num_long_term_pics;
    uint8_t lt_idx_sps[32];
    uint8_t poc_lsb_lt[16];
    uint16_t used_by_curr_pic_lt_flag;
    uint8_t delta_poc_msb_present_flag[48];
    uint8_t delta_poc_msb_cycle_lt[48];
};

Layout

struct StdVideoEncodeH265PictureInfo {
    (struct StdVideoEncodeH265PictureInfoFlags) StdVideoEncodeH265PictureInfoFlags flags;
    (int) StdVideoH265PictureType pic_type;
    uint8_t sps_video_parameter_set_id;
    uint8_t pps_seq_parameter_set_id;
    uint8_t pps_pic_parameter_set_id;
    uint8_t short_term_ref_pic_set_idx;
    int32_t PicOrderCntVal;
    uint8_t TemporalId;
    uint8_t reserved1[7];
    const StdVideoEncodeH265ReferenceListsInfo* pRefLists;
    const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet;
    const StdVideoEncodeH265LongTermRefPics* pLongTermRefPics;
};

Layout

struct StdVideoEncodeH265PictureInfoFlags {
    uint32_t is_reference : 1;
    uint32_t IrapPicFlag : 1;
    uint32_t used_for_long_term_reference : 1;
    uint32_t discardable_flag : 1;
    uint32_t cross_layer_bla_flag : 1;
    uint32_t pic_output_flag : 1;
    uint32_t no_output_of_prior_pics_flag : 1;
    uint32_t short_term_ref_pic_set_sps_flag : 1;
    uint32_t slice_temporal_mvp_enabled_flag : 1;
    uint32_t reserved : 23;
};

Layout

struct StdVideoEncodeH265ReferenceInfo {
    (struct StdVideoEncodeH265ReferenceInfoFlags) StdVideoEncodeH265ReferenceInfoFlags flags;
    (int) StdVideoH265PictureType pic_type;
    int32_t PicOrderCntVal;
    uint8_t TemporalId;
};

Layout

struct StdVideoEncodeH265ReferenceInfoFlags {
    uint32_t used_for_long_term_reference : 1;
    uint32_t unused_for_reference : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoEncodeH265ReferenceListsInfo {
    (struct StdVideoEncodeH265ReferenceListsInfoFlags) StdVideoEncodeH265ReferenceListsInfoFlags flags;
    uint8_t num_ref_idx_l0_active_minus1;
    uint8_t num_ref_idx_l1_active_minus1;
    uint8_t RefPicList0[15];
    uint8_t RefPicList1[15];
    uint8_t list_entry_l0[15];
    uint8_t list_entry_l1[15];
};

Layout

struct StdVideoEncodeH265ReferenceListsInfoFlags {
    uint32_t ref_pic_list_modification_flag_l0 : 1;
    uint32_t ref_pic_list_modification_flag_l1 : 1;
    uint32_t reserved : 30;
};

Layout

struct StdVideoEncodeH265SliceSegmentHeader {
    (struct StdVideoEncodeH265SliceSegmentHeaderFlags) StdVideoEncodeH265SliceSegmentHeaderFlags flags;
    (int) StdVideoH265SliceType slice_type;
    uint32_t slice_segment_address;
    uint8_t collocated_ref_idx;
    uint8_t MaxNumMergeCand;
    int8_t slice_cb_qp_offset;
    int8_t slice_cr_qp_offset;
    int8_t slice_beta_offset_div2;
    int8_t slice_tc_offset_div2;
    int8_t slice_act_y_qp_offset;
    int8_t slice_act_cb_qp_offset;
    int8_t slice_act_cr_qp_offset;
    int8_t slice_qp_delta;
    uint16_t reserved1;
    const StdVideoEncodeH265WeightTable* pWeightTable;
};

Layout

struct StdVideoEncodeH265SliceSegmentHeaderFlags {
    uint32_t first_slice_segment_in_pic_flag : 1;
    uint32_t dependent_slice_segment_flag : 1;
    uint32_t slice_sao_luma_flag : 1;
    uint32_t slice_sao_chroma_flag : 1;
    uint32_t num_ref_idx_active_override_flag : 1;
    uint32_t mvd_l1_zero_flag : 1;
    uint32_t cabac_init_flag : 1;
    uint32_t cu_chroma_qp_offset_enabled_flag : 1;
    uint32_t deblocking_filter_override_flag : 1;
    uint32_t slice_deblocking_filter_disabled_flag : 1;
    uint32_t collocated_from_l0_flag : 1;
    uint32_t slice_loop_filter_across_slices_enabled_flag : 1;
    uint32_t reserved : 20;
};

Layout

struct StdVideoEncodeH265WeightTable {
    (struct StdVideoEncodeH265WeightTableFlags) StdVideoEncodeH265WeightTableFlags flags;
    uint8_t luma_log2_weight_denom;
    int8_t delta_chroma_log2_weight_denom;
    int8_t delta_luma_weight_l0[15];
    int8_t luma_offset_l0[15];
    int8_t delta_chroma_weight_l0[15][2];
    int8_t delta_chroma_offset_l0[15][2];
    int8_t delta_luma_weight_l1[15];
    int8_t luma_offset_l1[15];
    int8_t delta_chroma_weight_l1[15][2];
    int8_t delta_chroma_offset_l1[15][2];
};

Layout

struct StdVideoEncodeH265WeightTableFlags {
    uint16_t luma_weight_l0_flag;
    uint16_t chroma_weight_l0_flag;
    uint16_t luma_weight_l1_flag;
    uint16_t chroma_weight_l1_flag;
};

Layout

struct StdVideoH264HrdParameters {
    uint8_t cpb_cnt_minus1;
    uint8_t bit_rate_scale;
    uint8_t cpb_size_scale;
    uint8_t reserved1;
    uint32_t bit_rate_value_minus1[32];
    uint32_t cpb_size_value_minus1[32];
    uint8_t cbr_flag[32];
    uint32_t initial_cpb_removal_delay_length_minus1;
    uint32_t cpb_removal_delay_length_minus1;
    uint32_t dpb_output_delay_length_minus1;
    uint32_t time_offset_length;
};

Layout

struct StdVideoH264PictureParameterSet {
    (struct StdVideoH264PpsFlags) StdVideoH264PpsFlags flags;
    uint8_t seq_parameter_set_id;
    uint8_t pic_parameter_set_id;
    uint8_t num_ref_idx_l0_default_active_minus1;
    uint8_t num_ref_idx_l1_default_active_minus1;
    (int) StdVideoH264WeightedBipredIdc weighted_bipred_idc;
    int8_t pic_init_qp_minus26;
    int8_t pic_init_qs_minus26;
    int8_t chroma_qp_index_offset;
    int8_t second_chroma_qp_index_offset;
    const StdVideoH264ScalingLists* pScalingLists;
};

Layout

struct StdVideoH264PpsFlags {
    uint32_t transform_8x8_mode_flag : 1;
    uint32_t redundant_pic_cnt_present_flag : 1;
    uint32_t constrained_intra_pred_flag : 1;
    uint32_t deblocking_filter_control_present_flag : 1;
    uint32_t weighted_pred_flag : 1;
    uint32_t bottom_field_pic_order_in_frame_present_flag : 1;
    uint32_t entropy_coding_mode_flag : 1;
    uint32_t pic_scaling_matrix_present_flag : 1;
};

Layout

struct StdVideoH264ScalingLists {
    uint16_t scaling_list_present_mask;
    uint16_t use_default_scaling_matrix_mask;
    uint8_t ScalingList4x4[6][16];
    uint8_t ScalingList8x8[6][64];
};

Layout

struct StdVideoH264SequenceParameterSet {
    (struct StdVideoH264SpsFlags) StdVideoH264SpsFlags flags;
    (int) StdVideoH264ProfileIdc profile_idc;
    (int) StdVideoH264LevelIdc level_idc;
    (int) StdVideoH264ChromaFormatIdc chroma_format_idc;
    uint8_t seq_parameter_set_id;
    uint8_t bit_depth_luma_minus8;
    uint8_t bit_depth_chroma_minus8;
    uint8_t log2_max_frame_num_minus4;
    (int) StdVideoH264PocType pic_order_cnt_type;
    int32_t offset_for_non_ref_pic;
    int32_t offset_for_top_to_bottom_field;
    uint8_t log2_max_pic_order_cnt_lsb_minus4;
    uint8_t num_ref_frames_in_pic_order_cnt_cycle;
    uint8_t max_num_ref_frames;
    uint8_t reserved1;
    uint32_t pic_width_in_mbs_minus1;
    uint32_t pic_height_in_map_units_minus1;
    uint32_t frame_crop_left_offset;
    uint32_t frame_crop_right_offset;
    uint32_t frame_crop_top_offset;
    uint32_t frame_crop_bottom_offset;
    uint32_t reserved2;
    const int32_t* pOffsetForRefFrame;
    const StdVideoH264ScalingLists* pScalingLists;
    const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
};

Layout

struct StdVideoH264SequenceParameterSetVui {
    (struct StdVideoH264SpsVuiFlags) StdVideoH264SpsVuiFlags flags;
    (int) StdVideoH264AspectRatioIdc aspect_ratio_idc;
    uint16_t sar_width;
    uint16_t sar_height;
    uint8_t video_format;
    uint8_t colour_primaries;
    uint8_t transfer_characteristics;
    uint8_t matrix_coefficients;
    uint32_t num_units_in_tick;
    uint32_t time_scale;
    uint8_t max_num_reorder_frames;
    uint8_t max_dec_frame_buffering;
    uint8_t chroma_sample_loc_type_top_field;
    uint8_t chroma_sample_loc_type_bottom_field;
    uint32_t reserved1;
    const StdVideoH264HrdParameters* pHrdParameters;
};

Layout

struct StdVideoH264SpsFlags {
    uint32_t constraint_set0_flag : 1;
    uint32_t constraint_set1_flag : 1;
    uint32_t constraint_set2_flag : 1;
    uint32_t constraint_set3_flag : 1;
    uint32_t constraint_set4_flag : 1;
    uint32_t constraint_set5_flag : 1;
    uint32_t direct_8x8_inference_flag : 1;
    uint32_t mb_adaptive_frame_field_flag : 1;
    uint32_t frame_mbs_only_flag : 1;
    uint32_t delta_pic_order_always_zero_flag : 1;
    uint32_t separate_colour_plane_flag : 1;
    uint32_t gaps_in_frame_num_value_allowed_flag : 1;
    uint32_t qpprime_y_zero_transform_bypass_flag : 1;
    uint32_t frame_cropping_flag : 1;
    uint32_t seq_scaling_matrix_present_flag : 1;
    uint32_t vui_parameters_present_flag : 1;
};

Layout

struct StdVideoH264SpsVuiFlags {
    uint32_t aspect_ratio_info_present_flag : 1;
    uint32_t overscan_info_present_flag : 1;
    uint32_t overscan_appropriate_flag : 1;
    uint32_t video_signal_type_present_flag : 1;
    uint32_t video_full_range_flag : 1;
    uint32_t color_description_present_flag : 1;
    uint32_t chroma_loc_info_present_flag : 1;
    uint32_t timing_info_present_flag : 1;
    uint32_t fixed_frame_rate_flag : 1;
    uint32_t bitstream_restriction_flag : 1;
    uint32_t nal_hrd_parameters_present_flag : 1;
    uint32_t vcl_hrd_parameters_present_flag : 1;
};

Layout

struct StdVideoH265DecPicBufMgr {
    uint32_t max_latency_increase_plus1[7];
    uint8_t max_dec_pic_buffering_minus1[7];
    uint8_t max_num_reorder_pics[7];
};

Layout

struct StdVideoH265HrdFlags {
    uint32_t nal_hrd_parameters_present_flag : 1;
    uint32_t vcl_hrd_parameters_present_flag : 1;
    uint32_t sub_pic_hrd_params_present_flag : 1;
    uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
    uint32_t fixed_pic_rate_general_flag : 8;
    uint32_t fixed_pic_rate_within_cvs_flag : 8;
    uint32_t low_delay_hrd_flag : 8;
};

Layout

struct StdVideoH265HrdParameters {
    (struct StdVideoH265HrdFlags) StdVideoH265HrdFlags flags;
    uint8_t tick_divisor_minus2;
    uint8_t du_cpb_removal_delay_increment_length_minus1;
    uint8_t dpb_output_delay_du_length_minus1;
    uint8_t bit_rate_scale;
    uint8_t cpb_size_scale;
    uint8_t cpb_size_du_scale;
    uint8_t initial_cpb_removal_delay_length_minus1;
    uint8_t au_cpb_removal_delay_length_minus1;
    uint8_t dpb_output_delay_length_minus1;
    uint8_t cpb_cnt_minus1[7];
    uint16_t elemental_duration_in_tc_minus1[7];
    uint16_t reserved[3];
    const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal;
    const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl;
};

Layout

struct StdVideoH265LongTermRefPicsSps {
    uint32_t used_by_curr_pic_lt_sps_flag;
    uint32_t lt_ref_pic_poc_lsb_sps[32];
};

Layout

struct StdVideoH265PictureParameterSet {
    (struct StdVideoH265PpsFlags) StdVideoH265PpsFlags flags;
    uint8_t pps_pic_parameter_set_id;
    uint8_t pps_seq_parameter_set_id;
    uint8_t sps_video_parameter_set_id;
    uint8_t num_extra_slice_header_bits;
    uint8_t num_ref_idx_l0_default_active_minus1;
    uint8_t num_ref_idx_l1_default_active_minus1;
    int8_t init_qp_minus26;
    uint8_t diff_cu_qp_delta_depth;
    int8_t pps_cb_qp_offset;
    int8_t pps_cr_qp_offset;
    int8_t pps_beta_offset_div2;
    int8_t pps_tc_offset_div2;
    uint8_t log2_parallel_merge_level_minus2;
    uint8_t log2_max_transform_skip_block_size_minus2;
    uint8_t diff_cu_chroma_qp_offset_depth;
    uint8_t chroma_qp_offset_list_len_minus1;
    int8_t cb_qp_offset_list[6];
    int8_t cr_qp_offset_list[6];
    uint8_t log2_sao_offset_scale_luma;
    uint8_t log2_sao_offset_scale_chroma;
    int8_t pps_act_y_qp_offset_plus5;
    int8_t pps_act_cb_qp_offset_plus5;
    int8_t pps_act_cr_qp_offset_plus3;
    uint8_t pps_num_palette_predictor_initializers;
    uint8_t luma_bit_depth_entry_minus8;
    uint8_t chroma_bit_depth_entry_minus8;
    uint8_t num_tile_columns_minus1;
    uint8_t num_tile_rows_minus1;
    uint8_t reserved1;
    uint8_t reserved2;
    uint16_t column_width_minus1[19];
    uint16_t row_height_minus1[21];
    uint32_t reserved3;
    const StdVideoH265ScalingLists* pScalingLists;
    const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
};

Layout

struct StdVideoH265PpsFlags {
    uint32_t dependent_slice_segments_enabled_flag : 1;
    uint32_t output_flag_present_flag : 1;
    uint32_t sign_data_hiding_enabled_flag : 1;
    uint32_t cabac_init_present_flag : 1;
    uint32_t constrained_intra_pred_flag : 1;
    uint32_t transform_skip_enabled_flag : 1;
    uint32_t cu_qp_delta_enabled_flag : 1;
    uint32_t pps_slice_chroma_qp_offsets_present_flag : 1;
    uint32_t weighted_pred_flag : 1;
    uint32_t weighted_bipred_flag : 1;
    uint32_t transquant_bypass_enabled_flag : 1;
    uint32_t tiles_enabled_flag : 1;
    uint32_t entropy_coding_sync_enabled_flag : 1;
    uint32_t uniform_spacing_flag : 1;
    uint32_t loop_filter_across_tiles_enabled_flag : 1;
    uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
    uint32_t deblocking_filter_control_present_flag : 1;
    uint32_t deblocking_filter_override_enabled_flag : 1;
    uint32_t pps_deblocking_filter_disabled_flag : 1;
    uint32_t pps_scaling_list_data_present_flag : 1;
    uint32_t lists_modification_present_flag : 1;
    uint32_t slice_segment_header_extension_present_flag : 1;
    uint32_t pps_extension_present_flag : 1;
    uint32_t cross_component_prediction_enabled_flag : 1;
    uint32_t chroma_qp_offset_list_enabled_flag : 1;
    uint32_t pps_curr_pic_ref_enabled_flag : 1;
    uint32_t residual_adaptive_colour_transform_enabled_flag : 1;
    uint32_t pps_slice_act_qp_offsets_present_flag : 1;
    uint32_t pps_palette_predictor_initializers_present_flag : 1;
    uint32_t monochrome_palette_flag : 1;
    uint32_t pps_range_extension_flag : 1;
};

Layout

struct StdVideoH265PredictorPaletteEntries {
    uint16_t PredictorPaletteEntries[3][128];
};

Layout

struct StdVideoH265ProfileTierLevel {
    (struct StdVideoH265ProfileTierLevelFlags) StdVideoH265ProfileTierLevelFlags flags;
    (int) StdVideoH265ProfileIdc general_profile_idc;
    (int) StdVideoH265LevelIdc general_level_idc;
};

Layout

struct StdVideoH265ProfileTierLevelFlags {
    uint32_t general_tier_flag : 1;
    uint32_t general_progressive_source_flag : 1;
    uint32_t general_interlaced_source_flag : 1;
    uint32_t general_non_packed_constraint_flag : 1;
    uint32_t general_frame_only_constraint_flag : 1;
};

Layout

struct StdVideoH265ScalingLists {
    uint8_t ScalingList4x4[6][16];
    uint8_t ScalingList8x8[6][64];
    uint8_t ScalingList16x16[6][64];
    uint8_t ScalingList32x32[2][64];
    uint8_t ScalingListDCCoef16x16[6];
    uint8_t ScalingListDCCoef32x32[2];
};

Layout

struct StdVideoH265SequenceParameterSet {
    (struct StdVideoH265SpsFlags) StdVideoH265SpsFlags flags;
    (int) StdVideoH265ChromaFormatIdc chroma_format_idc;
    uint32_t pic_width_in_luma_samples;
    uint32_t pic_height_in_luma_samples;
    uint8_t sps_video_parameter_set_id;
    uint8_t sps_max_sub_layers_minus1;
    uint8_t sps_seq_parameter_set_id;
    uint8_t bit_depth_luma_minus8;
    uint8_t bit_depth_chroma_minus8;
    uint8_t log2_max_pic_order_cnt_lsb_minus4;
    uint8_t log2_min_luma_coding_block_size_minus3;
    uint8_t log2_diff_max_min_luma_coding_block_size;
    uint8_t log2_min_luma_transform_block_size_minus2;
    uint8_t log2_diff_max_min_luma_transform_block_size;
    uint8_t max_transform_hierarchy_depth_inter;
    uint8_t max_transform_hierarchy_depth_intra;
    uint8_t num_short_term_ref_pic_sets;
    uint8_t num_long_term_ref_pics_sps;
    uint8_t pcm_sample_bit_depth_luma_minus1;
    uint8_t pcm_sample_bit_depth_chroma_minus1;
    uint8_t log2_min_pcm_luma_coding_block_size_minus3;
    uint8_t log2_diff_max_min_pcm_luma_coding_block_size;
    uint8_t reserved1;
    uint8_t reserved2;
    uint8_t palette_max_size;
    uint8_t delta_palette_max_predictor_size;
    uint8_t motion_vector_resolution_control_idc;
    uint8_t sps_num_palette_predictor_initializers_minus1;
    uint32_t conf_win_left_offset;
    uint32_t conf_win_right_offset;
    uint32_t conf_win_top_offset;
    uint32_t conf_win_bottom_offset;
    const StdVideoH265ProfileTierLevel* pProfileTierLevel;
    const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
    const StdVideoH265ScalingLists* pScalingLists;
    const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet;
    const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps;
    const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
    const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
};

Layout

struct StdVideoH265SequenceParameterSetVui {
    (struct StdVideoH265SpsVuiFlags) StdVideoH265SpsVuiFlags flags;
    (int) StdVideoH265AspectRatioIdc aspect_ratio_idc;
    uint16_t sar_width;
    uint16_t sar_height;
    uint8_t video_format;
    uint8_t colour_primaries;
    uint8_t transfer_characteristics;
    uint8_t matrix_coeffs;
    uint8_t chroma_sample_loc_type_top_field;
    uint8_t chroma_sample_loc_type_bottom_field;
    uint8_t reserved1;
    uint8_t reserved2;
    uint16_t def_disp_win_left_offset;
    uint16_t def_disp_win_right_offset;
    uint16_t def_disp_win_top_offset;
    uint16_t def_disp_win_bottom_offset;
    uint32_t vui_num_units_in_tick;
    uint32_t vui_time_scale;
    uint32_t vui_num_ticks_poc_diff_one_minus1;
    uint16_t min_spatial_segmentation_idc;
    uint16_t reserved3;
    uint8_t max_bytes_per_pic_denom;
    uint8_t max_bits_per_min_cu_denom;
    uint8_t log2_max_mv_length_horizontal;
    uint8_t log2_max_mv_length_vertical;
    const StdVideoH265HrdParameters* pHrdParameters;
};

Layout

struct StdVideoH265ShortTermRefPicSet {
    (struct StdVideoH265ShortTermRefPicSetFlags) StdVideoH265ShortTermRefPicSetFlags flags;
    uint32_t delta_idx_minus1;
    uint16_t use_delta_flag;
    uint16_t abs_delta_rps_minus1;
    uint16_t used_by_curr_pic_flag;
    uint16_t used_by_curr_pic_s0_flag;
    uint16_t used_by_curr_pic_s1_flag;
    uint16_t reserved1;
    uint8_t reserved2;
    uint8_t reserved3;
    uint8_t num_negative_pics;
    uint8_t num_positive_pics;
    uint16_t delta_poc_s0_minus1[16];
    uint16_t delta_poc_s1_minus1[16];
};

Layout

struct StdVideoH265ShortTermRefPicSetFlags {
    uint32_t inter_ref_pic_set_prediction_flag : 1;
    uint32_t delta_rps_sign : 1;
};

Layout

struct StdVideoH265SpsFlags {
    uint32_t sps_temporal_id_nesting_flag : 1;
    uint32_t separate_colour_plane_flag : 1;
    uint32_t conformance_window_flag : 1;
    uint32_t sps_sub_layer_ordering_info_present_flag : 1;
    uint32_t scaling_list_enabled_flag : 1;
    uint32_t sps_scaling_list_data_present_flag : 1;
    uint32_t amp_enabled_flag : 1;
    uint32_t sample_adaptive_offset_enabled_flag : 1;
    uint32_t pcm_enabled_flag : 1;
    uint32_t pcm_loop_filter_disabled_flag : 1;
    uint32_t long_term_ref_pics_present_flag : 1;
    uint32_t sps_temporal_mvp_enabled_flag : 1;
    uint32_t strong_intra_smoothing_enabled_flag : 1;
    uint32_t vui_parameters_present_flag : 1;
    uint32_t sps_extension_present_flag : 1;
    uint32_t sps_range_extension_flag : 1;
    uint32_t transform_skip_rotation_enabled_flag : 1;
    uint32_t transform_skip_context_enabled_flag : 1;
    uint32_t implicit_rdpcm_enabled_flag : 1;
    uint32_t explicit_rdpcm_enabled_flag : 1;
    uint32_t extended_precision_processing_flag : 1;
    uint32_t intra_smoothing_disabled_flag : 1;
    uint32_t high_precision_offsets_enabled_flag : 1;
    uint32_t persistent_rice_adaptation_enabled_flag : 1;
    uint32_t cabac_bypass_alignment_enabled_flag : 1;
    uint32_t sps_scc_extension_flag : 1;
    uint32_t sps_curr_pic_ref_enabled_flag : 1;
    uint32_t palette_mode_enabled_flag : 1;
    uint32_t sps_palette_predictor_initializers_present_flag : 1;
    uint32_t intra_boundary_filtering_disabled_flag : 1;
};

Layout

struct StdVideoH265SpsVuiFlags {
    uint32_t aspect_ratio_info_present_flag : 1;
    uint32_t overscan_info_present_flag : 1;
    uint32_t overscan_appropriate_flag : 1;
    uint32_t video_signal_type_present_flag : 1;
    uint32_t video_full_range_flag : 1;
    uint32_t colour_description_present_flag : 1;
    uint32_t chroma_loc_info_present_flag : 1;
    uint32_t neutral_chroma_indication_flag : 1;
    uint32_t field_seq_flag : 1;
    uint32_t frame_field_info_present_flag : 1;
    uint32_t default_display_window_flag : 1;
    uint32_t vui_timing_info_present_flag : 1;
    uint32_t vui_poc_proportional_to_timing_flag : 1;
    uint32_t vui_hrd_parameters_present_flag : 1;
    uint32_t bitstream_restriction_flag : 1;
    uint32_t tiles_fixed_structure_flag : 1;
    uint32_t motion_vectors_over_pic_boundaries_flag : 1;
    uint32_t restricted_ref_pic_lists_flag : 1;
};

Layout

struct StdVideoH265SubLayerHrdParameters {
    uint32_t bit_rate_value_minus1[32];
    uint32_t cpb_size_value_minus1[32];
    uint32_t cpb_size_du_value_minus1[32];
    uint32_t bit_rate_du_value_minus1[32];
    uint32_t cbr_flag;
};

Layout

struct StdVideoH265VideoParameterSet {
    (struct StdVideoH265VpsFlags) StdVideoH265VpsFlags flags;
    uint8_t vps_video_parameter_set_id;
    uint8_t vps_max_sub_layers_minus1;
    uint8_t reserved1;
    uint8_t reserved2;
    uint32_t vps_num_units_in_tick;
    uint32_t vps_time_scale;
    uint32_t vps_num_ticks_poc_diff_one_minus1;
    uint32_t reserved3;
    const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
    const StdVideoH265HrdParameters* pHrdParameters;
    const StdVideoH265ProfileTierLevel* pProfileTierLevel;
};

Layout

struct StdVideoH265VpsFlags {
    uint32_t vps_temporal_id_nesting_flag : 1;
    uint32_t vps_sub_layer_ordering_info_present_flag : 1;
    uint32_t vps_timing_info_present_flag : 1;
    uint32_t vps_poc_proportional_to_timing_flag : 1;
};
Indicates that a symbol of a function in a native library was not found.
An interface that represents an upcall i.e.
The vector-to-native-memory util.
This class loads the Vulkan library into the JVM process.
 
 
 
 
 
 
 
 
 
 

Layout

struct VkAabbPositionsKHR {
    float minX;
    float minY;
    float minZ;
    float maxX;
    float maxY;
    float maxZ;
};
A buffer of VkAabbPositionsKHR.

Layout

struct VkAccelerationStructureBuildGeometryInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkAccelerationStructureTypeKHR type;
    ((uint32_t) VkFlags) VkBuildAccelerationStructureFlagsKHR flags;
    (int) VkBuildAccelerationStructureModeKHR mode;
    (uint64_t) VkAccelerationStructureKHR srcAccelerationStructure;
    (uint64_t) VkAccelerationStructureKHR dstAccelerationStructure;
    uint32_t geometryCount;
    const VkAccelerationStructureGeometryKHR* pGeometries;
    const VkAccelerationStructureGeometryKHR* const * ppGeometries;
    (union VkDeviceOrHostAddressKHR) VkDeviceOrHostAddressKHR scratchData;
};

Layout

struct VkAccelerationStructureBuildRangeInfoKHR {
    uint32_t primitiveCount;
    uint32_t primitiveOffset;
    uint32_t firstVertex;
    uint32_t transformOffset;
};

Layout

struct VkAccelerationStructureBuildSizesInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize accelerationStructureSize;
    (uint64_t) VkDeviceSize updateScratchSize;
    (uint64_t) VkDeviceSize buildScratchSize;
};

Layout

struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkAccelerationStructureKHR accelerationStructure;
    (uint64_t) VkAccelerationStructureNV accelerationStructureNV;
};

Layout

struct VkAccelerationStructureCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAccelerationStructureCreateFlagsKHR createFlags;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
    (int) VkAccelerationStructureTypeKHR type;
    (uint64_t) VkDeviceAddress deviceAddress;
};

Layout

struct VkAccelerationStructureCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize compactedSize;
    (struct VkAccelerationStructureInfoNV) VkAccelerationStructureInfoNV info;
};

Layout

struct VkAccelerationStructureDeviceAddressInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkAccelerationStructureKHR accelerationStructure;
};

Layout

struct VkAccelerationStructureGeometryAabbsDataKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR data;
    (uint64_t) VkDeviceSize stride;
};

Layout

union VkAccelerationStructureGeometryDataKHR {
    (struct VkAccelerationStructureGeometryTrianglesDataKHR) VkAccelerationStructureGeometryTrianglesDataKHR triangles;
    (struct VkAccelerationStructureGeometryAabbsDataKHR) VkAccelerationStructureGeometryAabbsDataKHR aabbs;
    (struct VkAccelerationStructureGeometryInstancesDataKHR) VkAccelerationStructureGeometryInstancesDataKHR instances;
};

Layout

struct VkAccelerationStructureGeometryInstancesDataKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 arrayOfPointers;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR data;
};

Layout

struct VkAccelerationStructureGeometryKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkGeometryTypeKHR geometryType;
    (union VkAccelerationStructureGeometryDataKHR) VkAccelerationStructureGeometryDataKHR geometry;
    ((uint32_t) VkFlags) VkGeometryFlagsKHR flags;
};

Layout

struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
    (int) VkStructureType sType;
    const void* pNext;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR vertexData;
};

Layout

struct VkAccelerationStructureGeometryTrianglesDataKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat vertexFormat;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR vertexData;
    (uint64_t) VkDeviceSize vertexStride;
    uint32_t maxVertex;
    (int) VkIndexType indexType;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR indexData;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR transformData;
};

Layout

struct VkAccelerationStructureInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((int) VkAccelerationStructureTypeKHR) VkAccelerationStructureTypeNV type;
    (((uint32_t) VkFlags) VkBuildAccelerationStructureFlagsKHR) VkBuildAccelerationStructureFlagsNV flags;
    uint32_t instanceCount;
    uint32_t geometryCount;
    const VkGeometryNV* pGeometries;
};

Layout

struct VkAccelerationStructureInstanceKHR {
    (struct VkTransformMatrixKHR) VkTransformMatrixKHR transform;
    uint32_t instanceCustomIndex : 24;
    uint32_t mask : 8;
    uint32_t instanceShaderBindingTableRecordOffset : 24;
    ((uint32_t) VkFlags) VkGeometryInstanceFlagsKHR flags : 8;
    uint64_t accelerationStructureReference;
};

Layout

struct VkAccelerationStructureMatrixMotionInstanceNV {
    (struct VkTransformMatrixKHR) VkTransformMatrixKHR transformT0;
    (struct VkTransformMatrixKHR) VkTransformMatrixKHR transformT1;
    uint32_t instanceCustomIndex : 24;
    uint32_t mask : 8;
    uint32_t instanceShaderBindingTableRecordOffset : 24;
    ((uint32_t) VkFlags) VkGeometryInstanceFlagsKHR flags : 8;
    uint64_t accelerationStructureReference;
};

Layout

struct VkAccelerationStructureMemoryRequirementsInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkAccelerationStructureMemoryRequirementsTypeNV type;
    (uint64_t) VkAccelerationStructureNV accelerationStructure;
};

Layout

struct VkAccelerationStructureMotionInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxInstances;
    ((uint32_t) VkFlags) VkAccelerationStructureMotionInfoFlagsNV flags;
};

Layout

union VkAccelerationStructureMotionInstanceDataNV {
    (struct VkAccelerationStructureInstanceKHR) VkAccelerationStructureInstanceKHR staticInstance;
    (struct VkAccelerationStructureMatrixMotionInstanceNV) VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
    (struct VkAccelerationStructureSRTMotionInstanceNV) VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
};

Layout

struct VkAccelerationStructureMotionInstanceNV {
    (int) VkAccelerationStructureMotionInstanceTypeNV type;
    ((uint32_t) VkFlags) VkAccelerationStructureMotionInstanceFlagsNV flags;
    (union VkAccelerationStructureMotionInstanceDataNV) VkAccelerationStructureMotionInstanceDataNV data;
};

Layout

struct VkAccelerationStructureSRTMotionInstanceNV {
    (struct VkSRTDataNV) VkSRTDataNV transformT0;
    (struct VkSRTDataNV) VkSRTDataNV transformT1;
    uint32_t instanceCustomIndex : 24;
    uint32_t mask : 8;
    uint32_t instanceShaderBindingTableRecordOffset : 24;
    ((uint32_t) VkFlags) VkGeometryInstanceFlagsKHR flags : 8;
    uint64_t accelerationStructureReference;
};

Layout

struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat displacementBiasAndScaleFormat;
    (int) VkFormat displacementVectorFormat;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
    (uint64_t) VkDeviceSize displacementBiasAndScaleStride;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
    (uint64_t) VkDeviceSize displacementVectorStride;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
    (uint64_t) VkDeviceSize displacedMicromapPrimitiveFlagsStride;
    (int) VkIndexType indexType;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR indexBuffer;
    (uint64_t) VkDeviceSize indexStride;
    uint32_t baseTriangle;
    uint32_t usageCountsCount;
    const VkMicromapUsageEXT* pUsageCounts;
    const VkMicromapUsageEXT* const * ppUsageCounts;
    (uint64_t) VkMicromapEXT micromap;
};

Layout

struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkIndexType indexType;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR indexBuffer;
    (uint64_t) VkDeviceSize indexStride;
    uint32_t baseTriangle;
    uint32_t usageCountsCount;
    const VkMicromapUsageEXT* pUsageCounts;
    const VkMicromapUsageEXT* const * ppUsageCounts;
    (uint64_t) VkMicromapEXT micromap;
};

Layout

struct VkAccelerationStructureVersionInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const uint8_t* pVersionData;
};

Layout

struct VkAcquireNextImageInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSwapchainKHR swapchain;
    uint64_t timeout;
    (uint64_t) VkSemaphore semaphore;
    (uint64_t) VkFence fence;
    uint32_t deviceMask;
};

Layout

struct VkAcquireProfilingLockInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAcquireProfilingLockFlagsKHR flags;
    uint64_t timeout;
};

Layout

struct VkAllocationCallbacks {
    void* pUserData;
    (void* (*VkAllocationFunction)(void* pUserData, size_t size, size_t alignment, (int) VkSystemAllocationScope allocationScope)) PFN_vkAllocationFunction pfnAllocation;
    (void* (*VkReallocationFunction)(void* pUserData, void* pOriginal, size_t size, size_t alignment, (int) VkSystemAllocationScope allocationScope)) PFN_vkReallocationFunction pfnReallocation;
    (void (*VkFreeFunction)(void* pUserData, void* pMemory)) PFN_vkFreeFunction pfnFree;
    (void (*VkInternalAllocationNotification)(void* pUserData, size_t size, (int) VkInternalAllocationType allocationType, (int) VkSystemAllocationScope allocationScope)) PFN_vkInternalAllocationNotification pfnInternalAllocation;
    (void (*VkInternalFreeNotification)(void* pUserData, size_t size, (int) VkInternalAllocationType allocationType, (int) VkSystemAllocationScope allocationScope)) PFN_vkInternalFreeNotification pfnInternalFree;
};
typedef void* (*VkAllocationFunction)(void* pUserData, size_t size, size_t alignment, (int) VkSystemAllocationScope allocationScope);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layout

struct VkAmigoProfilingSubmitInfoSEC {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t firstDrawTimestamp;
    uint64_t swapBufferTimestamp;
};
 
 
 

Layout

struct VkAndroidHardwareBufferFormatProperties2ANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat format;
    uint64_t externalFormat;
    ((uint64_t) VkFlags64) VkFormatFeatureFlags2 formatFeatures;
    (struct VkComponentMapping) VkComponentMapping samplerYcbcrConversionComponents;
    (int) VkSamplerYcbcrModelConversion suggestedYcbcrModel;
    (int) VkSamplerYcbcrRange suggestedYcbcrRange;
    (int) VkChromaLocation suggestedXChromaOffset;
    (int) VkChromaLocation suggestedYChromaOffset;
};

Layout

struct VkAndroidHardwareBufferFormatPropertiesANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat format;
    uint64_t externalFormat;
    ((uint32_t) VkFlags) VkFormatFeatureFlags formatFeatures;
    (struct VkComponentMapping) VkComponentMapping samplerYcbcrConversionComponents;
    (int) VkSamplerYcbcrModelConversion suggestedYcbcrModel;
    (int) VkSamplerYcbcrRange suggestedYcbcrRange;
    (int) VkChromaLocation suggestedXChromaOffset;
    (int) VkChromaLocation suggestedYChromaOffset;
};

Layout

struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat colorAttachmentFormat;
};

Layout

struct VkAndroidHardwareBufferPropertiesANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize allocationSize;
    uint32_t memoryTypeBits;
};

Layout

struct VkAndroidHardwareBufferUsageANDROID {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t androidHardwareBufferUsage;
};

Layout

struct VkAndroidSurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAndroidSurfaceCreateFlagsKHR flags;
    struct ANativeWindow * window;
};

Layout

struct VkAntiLagDataAMD {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkAntiLagModeAMD mode;
    uint32_t maxFPS;
    const VkAntiLagPresentationInfoAMD* pPresentationInfo;
};
A buffer of VkAntiLagDataAMD.

Layout

struct VkAntiLagPresentationInfoAMD {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkAntiLagStageAMD stage;
    uint64_t frameIndex;
};

Layout

struct VkApplicationInfo {
    (int) VkStructureType sType;
    const void* pNext;
    const char* pApplicationName;
    uint32_t applicationVersion;
    const char* pEngineName;
    uint32_t engineVersion;
    uint32_t apiVersion;
};
A buffer of VkApplicationInfo.

Layout

struct VkApplicationParametersEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t vendorID;
    uint32_t deviceID;
    uint32_t key;
    uint64_t value;
};
 
 
 
 
 
 

Layout

struct VkAttachmentDescription {
    ((uint32_t) VkFlags) VkAttachmentDescriptionFlags flags;
    (int) VkFormat format;
    (int) VkSampleCountFlagBits samples;
    (int) VkAttachmentLoadOp loadOp;
    (int) VkAttachmentStoreOp storeOp;
    (int) VkAttachmentLoadOp stencilLoadOp;
    (int) VkAttachmentStoreOp stencilStoreOp;
    (int) VkImageLayout initialLayout;
    (int) VkImageLayout finalLayout;
};

Layout

struct VkAttachmentDescription2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAttachmentDescriptionFlags flags;
    (int) VkFormat format;
    (int) VkSampleCountFlagBits samples;
    (int) VkAttachmentLoadOp loadOp;
    (int) VkAttachmentStoreOp storeOp;
    (int) VkAttachmentLoadOp stencilLoadOp;
    (int) VkAttachmentStoreOp stencilStoreOp;
    (int) VkImageLayout initialLayout;
    (int) VkImageLayout finalLayout;
};

Layout

struct VkAttachmentDescriptionStencilLayout {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkImageLayout stencilInitialLayout;
    (int) VkImageLayout stencilFinalLayout;
};

Layout

struct VkAttachmentReference {
    uint32_t attachment;
    (int) VkImageLayout layout;
};

Layout

struct VkAttachmentReference2 {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t attachment;
    (int) VkImageLayout layout;
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
};

Layout

struct VkAttachmentReferenceStencilLayout {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkImageLayout stencilLayout;
};

Layout

struct VkAttachmentSampleCountInfoAMD {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t colorAttachmentCount;
    const VkSampleCountFlagBits* pColorAttachmentSamples;
    (int) VkSampleCountFlagBits depthStencilAttachmentSamples;
};

Layout

struct VkAttachmentSampleLocationsEXT {
    uint32_t attachmentIndex;
    (struct VkSampleLocationsInfoEXT) VkSampleLocationsInfoEXT sampleLocationsInfo;
};

Layout

struct VkBaseInStructure {
    (int) VkStructureType sType;
    const struct VkBaseInStructure * pNext;
};
A buffer of VkBaseInStructure.

Layout

struct VkBaseOutStructure {
    (int) VkStructureType sType;
    struct VkBaseOutStructure * pNext;
};
A buffer of VkBaseOutStructure.

Layout

struct VkBindAccelerationStructureMemoryInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkAccelerationStructureNV accelerationStructure;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
    uint32_t deviceIndexCount;
    const uint32_t* pDeviceIndices;
};

Layout

struct VkBindBufferMemoryDeviceGroupInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t deviceIndexCount;
    const uint32_t* pDeviceIndices;
};

Layout

struct VkBindBufferMemoryInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
};

Layout

struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    (uint64_t) VkPipelineLayout layout;
    uint32_t set;
};

Layout

struct VkBindDescriptorSetsInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    (uint64_t) VkPipelineLayout layout;
    uint32_t firstSet;
    uint32_t descriptorSetCount;
    const VkDescriptorSet* pDescriptorSets;
    uint32_t dynamicOffsetCount;
    const uint32_t* pDynamicOffsets;
};

Layout

struct VkBindImageMemoryDeviceGroupInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t deviceIndexCount;
    const uint32_t* pDeviceIndices;
    uint32_t splitInstanceBindRegionCount;
    const VkRect2D* pSplitInstanceBindRegions;
};

Layout

struct VkBindImageMemoryInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
};

Layout

struct VkBindImageMemorySwapchainInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSwapchainKHR swapchain;
    uint32_t imageIndex;
};

Layout

struct VkBindImagePlaneMemoryInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkImageAspectFlagBits planeAspect;
};

Layout

struct VkBindIndexBufferIndirectCommandEXT {
    (uint64_t) VkDeviceAddress bufferAddress;
    uint32_t size;
    (int) VkIndexType indexType;
};

Layout

struct VkBindIndexBufferIndirectCommandNV {
    (uint64_t) VkDeviceAddress bufferAddress;
    uint32_t size;
    (int) VkIndexType indexType;
};

Layout

struct VkBindMemoryStatus {
    (int) VkStructureType sType;
    const void* pNext;
    VkResult* pResult;
};
A buffer of VkBindMemoryStatus.

Layout

struct VkBindPipelineIndirectCommandNV {
    (uint64_t) VkDeviceAddress pipelineAddress;
};

Layout

struct VkBindShaderGroupIndirectCommandNV {
    uint32_t groupIndex;
};

Layout

struct VkBindSparseInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreCount;
    const VkSemaphore* pWaitSemaphores;
    uint32_t bufferBindCount;
    const VkSparseBufferMemoryBindInfo* pBufferBinds;
    uint32_t imageOpaqueBindCount;
    const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
    uint32_t imageBindCount;
    const VkSparseImageMemoryBindInfo* pImageBinds;
    uint32_t signalSemaphoreCount;
    const VkSemaphore* pSignalSemaphores;
};
A buffer of VkBindSparseInfo.

Layout

struct VkBindVertexBufferIndirectCommandEXT {
    (uint64_t) VkDeviceAddress bufferAddress;
    uint32_t size;
    uint32_t stride;
};

Layout

struct VkBindVertexBufferIndirectCommandNV {
    (uint64_t) VkDeviceAddress bufferAddress;
    uint32_t size;
    uint32_t stride;
};

Layout

struct VkBindVideoSessionMemoryInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t memoryBindIndex;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
    (uint64_t) VkDeviceSize memorySize;
};

Layout

struct VkBlitImageCubicWeightsInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkCubicFilterWeightsQCOM cubicWeights;
};

Layout

struct VkBlitImageInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkImageBlit2* pRegions;
    (int) VkFilter filter;
};
A buffer of VkBlitImageInfo2.

Layout

struct VkBufferCaptureDescriptorDataInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkBufferCollectionBufferCreateInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBufferCollectionFUCHSIA collection;
    uint32_t index;
};

Layout

struct VkBufferCollectionConstraintsInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t minBufferCount;
    uint32_t maxBufferCount;
    uint32_t minBufferCountForCamping;
    uint32_t minBufferCountForDedicatedSlack;
    uint32_t minBufferCountForSharedSlack;
};

Layout

struct VkBufferCollectionCreateInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (int32_t) zx_handle_t collectionToken;
};

Layout

struct VkBufferCollectionImageCreateInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBufferCollectionFUCHSIA collection;
    uint32_t index;
};

Layout

struct VkBufferCollectionPropertiesFUCHSIA {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
    uint32_t bufferCount;
    uint32_t createInfoIndex;
    uint64_t sysmemPixelFormat;
    ((uint32_t) VkFlags) VkFormatFeatureFlags formatFeatures;
    (struct VkSysmemColorSpaceFUCHSIA) VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
    (struct VkComponentMapping) VkComponentMapping samplerYcbcrConversionComponents;
    (int) VkSamplerYcbcrModelConversion suggestedYcbcrModel;
    (int) VkSamplerYcbcrRange suggestedYcbcrRange;
    (int) VkChromaLocation suggestedXChromaOffset;
    (int) VkChromaLocation suggestedYChromaOffset;
};

Layout

struct VkBufferConstraintsInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkBufferCreateInfo) VkBufferCreateInfo createInfo;
    ((uint32_t) VkFlags) VkFormatFeatureFlags requiredFormatFeatures;
    (struct VkBufferCollectionConstraintsInfoFUCHSIA) VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
};

Layout

struct VkBufferCopy {
    (uint64_t) VkDeviceSize srcOffset;
    (uint64_t) VkDeviceSize dstOffset;
    (uint64_t) VkDeviceSize size;
};
A buffer of VkBufferCopy.

Layout

struct VkBufferCopy2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize srcOffset;
    (uint64_t) VkDeviceSize dstOffset;
    (uint64_t) VkDeviceSize size;
};
A buffer of VkBufferCopy2.

Layout

struct VkBufferCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkBufferCreateFlags flags;
    (uint64_t) VkDeviceSize size;
    ((uint32_t) VkFlags) VkBufferUsageFlags usage;
    (int) VkSharingMode sharingMode;
    uint32_t queueFamilyIndexCount;
    const uint32_t* pQueueFamilyIndices;
};
A buffer of VkBufferCreateInfo.

Layout

struct VkBufferDeviceAddressCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceAddress deviceAddress;
};

Layout

struct VkBufferDeviceAddressInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkBufferImageCopy {
    (uint64_t) VkDeviceSize bufferOffset;
    uint32_t bufferRowLength;
    uint32_t bufferImageHeight;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers imageSubresource;
    (struct VkOffset3D) VkOffset3D imageOffset;
    (struct VkExtent3D) VkExtent3D imageExtent;
};
A buffer of VkBufferImageCopy.

Layout

struct VkBufferImageCopy2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize bufferOffset;
    uint32_t bufferRowLength;
    uint32_t bufferImageHeight;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers imageSubresource;
    (struct VkOffset3D) VkOffset3D imageOffset;
    (struct VkExtent3D) VkExtent3D imageExtent;
};
A buffer of VkBufferImageCopy2.

Layout

struct VkBufferMemoryBarrier {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAccessFlags srcAccessMask;
    ((uint32_t) VkFlags) VkAccessFlags dstAccessMask;
    uint32_t srcQueueFamilyIndex;
    uint32_t dstQueueFamilyIndex;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkBufferMemoryBarrier2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 srcStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 srcAccessMask;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 dstStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 dstAccessMask;
    uint32_t srcQueueFamilyIndex;
    uint32_t dstQueueFamilyIndex;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkBufferMemoryRequirementsInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkBufferOpaqueCaptureAddressCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t opaqueCaptureAddress;
};

Layout

struct VkBufferUsageFlags2CreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkBufferUsageFlags2 usage;
};

Layout

struct VkBufferViewCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkBufferViewCreateFlags flags;
    (uint64_t) VkBuffer buffer;
    (int) VkFormat format;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize range;
};

Layout

struct VkCalibratedTimestampInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkTimeDomainKHR timeDomain;
};
 
 

Layout

struct VkCheckpointData2NV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 stage;
    void* pCheckpointMarker;
};
A buffer of VkCheckpointData2NV.

Layout

struct VkCheckpointDataNV {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkPipelineStageFlagBits stage;
    void* pCheckpointMarker;
};
A buffer of VkCheckpointDataNV.

Layout

struct VkClearAttachment {
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
    uint32_t colorAttachment;
    (union VkClearValue) VkClearValue clearValue;
};
A buffer of VkClearAttachment.

Layout

union VkClearColorValue {
    float float32[4];
    int32_t int32[4];
    uint32_t uint32[4];
};
A buffer of VkClearColorValue.

Layout

struct VkClearDepthStencilValue {
    float depth;
    uint32_t stencil;
};

Layout

struct VkClearRect {
    (struct VkRect2D) VkRect2D rect;
    uint32_t baseArrayLayer;
    uint32_t layerCount;
};
A buffer of VkClearRect.

Layout

union VkClearValue {
    (union VkClearColorValue) VkClearColorValue color;
    (struct VkClearDepthStencilValue) VkClearDepthStencilValue depthStencil;
};
A buffer of VkClearValue.

Layout

struct VkCoarseSampleLocationNV {
    uint32_t pixelX;
    uint32_t pixelY;
    uint32_t sample;
};

Layout

struct VkCoarseSampleOrderCustomNV {
    (int) VkShadingRatePaletteEntryNV shadingRate;
    uint32_t sampleCount;
    uint32_t sampleLocationCount;
    const VkCoarseSampleLocationNV* pSampleLocations;
};

Layout

struct VkColorBlendAdvancedEXT {
    (int) VkBlendOp advancedBlendOp;
    (uint32_t) VkBool32 srcPremultiplied;
    (uint32_t) VkBool32 dstPremultiplied;
    (int) VkBlendOverlapEXT blendOverlap;
    (uint32_t) VkBool32 clampResults;
};

Layout

struct VkColorBlendEquationEXT {
    (int) VkBlendFactor srcColorBlendFactor;
    (int) VkBlendFactor dstColorBlendFactor;
    (int) VkBlendOp colorBlendOp;
    (int) VkBlendFactor srcAlphaBlendFactor;
    (int) VkBlendFactor dstAlphaBlendFactor;
    (int) VkBlendOp alphaBlendOp;
};
Wraps a Vulkan command buffer handle.

Layout

struct VkCommandBufferAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkCommandPool commandPool;
    (int) VkCommandBufferLevel level;
    uint32_t commandBufferCount;
};

Layout

struct VkCommandBufferBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkCommandBufferUsageFlags flags;
    const VkCommandBufferInheritanceInfo* pInheritanceInfo;
};

Layout

struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 conditionalRenderingEnable;
};

Layout

struct VkCommandBufferInheritanceInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkRenderPass renderPass;
    uint32_t subpass;
    (uint64_t) VkFramebuffer framebuffer;
    (uint32_t) VkBool32 occlusionQueryEnable;
    ((uint32_t) VkFlags) VkQueryControlFlags queryFlags;
    ((uint32_t) VkFlags) VkQueryPipelineStatisticFlags pipelineStatistics;
};

Layout

struct VkCommandBufferInheritanceRenderingInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkRenderingFlags flags;
    uint32_t viewMask;
    uint32_t colorAttachmentCount;
    const VkFormat* pColorAttachmentFormats;
    (int) VkFormat depthAttachmentFormat;
    (int) VkFormat stencilAttachmentFormat;
    (int) VkSampleCountFlagBits rasterizationSamples;
};

Layout

struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkSurfaceTransformFlagBitsKHR transform;
    (struct VkRect2D) VkRect2D renderArea;
};

Layout

struct VkCommandBufferInheritanceViewportScissorInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 viewportScissor2D;
    uint32_t viewportDepthCount;
    const VkViewport* pViewportDepths;
};

Layout

struct VkCommandBufferSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkCommandBuffer*) VkCommandBuffer commandBuffer;
    uint32_t deviceMask;
};

Layout

struct VkCommandPoolCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkCommandPoolCreateFlags flags;
    uint32_t queueFamilyIndex;
};

Layout

struct VkCommandPoolMemoryConsumption {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize commandPoolAllocated;
    (uint64_t) VkDeviceSize commandPoolReservedSize;
    (uint64_t) VkDeviceSize commandBufferAllocated;
};

Layout

struct VkCommandPoolMemoryReservationCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize commandPoolReservedSize;
    uint32_t commandPoolMaxCommandBuffers;
};

Layout

struct VkComponentMapping {
    (int) VkComponentSwizzle r;
    (int) VkComponentSwizzle g;
    (int) VkComponentSwizzle b;
    (int) VkComponentSwizzle a;
};
A buffer of VkComponentMapping.

Layout

struct VkComputePipelineCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCreateFlags flags;
    (struct VkPipelineShaderStageCreateInfo) VkPipelineShaderStageCreateInfo stage;
    (uint64_t) VkPipelineLayout layout;
    (uint64_t) VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
};

Layout

struct VkComputePipelineIndirectBufferInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceAddress deviceAddress;
    (uint64_t) VkDeviceSize size;
    (uint64_t) VkDeviceAddress pipelineDeviceAddressCaptureReplay;
};

Layout

struct VkConditionalRenderingBeginInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    ((uint32_t) VkFlags) VkConditionalRenderingFlagsEXT flags;
};

Layout

struct VkConformanceVersion {
    uint8_t major;
    uint8_t minor;
    uint8_t subminor;
    uint8_t patch;
};

Layout

struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t MGranularity;
    uint32_t NGranularity;
    uint32_t KGranularity;
    (int) VkComponentTypeKHR AType;
    (int) VkComponentTypeKHR BType;
    (int) VkComponentTypeKHR CType;
    (int) VkComponentTypeKHR ResultType;
    (uint32_t) VkBool32 saturatingAccumulation;
    (int) VkScopeKHR scope;
    uint32_t workgroupInvocations;
};

Layout

struct VkCooperativeMatrixPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t MSize;
    uint32_t NSize;
    uint32_t KSize;
    (int) VkComponentTypeKHR AType;
    (int) VkComponentTypeKHR BType;
    (int) VkComponentTypeKHR CType;
    (int) VkComponentTypeKHR ResultType;
    (uint32_t) VkBool32 saturatingAccumulation;
    (int) VkScopeKHR scope;
};

Layout

struct VkCooperativeMatrixPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t MSize;
    uint32_t NSize;
    uint32_t KSize;
    ((int) VkComponentTypeKHR) VkComponentTypeNV AType;
    ((int) VkComponentTypeKHR) VkComponentTypeNV BType;
    ((int) VkComponentTypeKHR) VkComponentTypeNV CType;
    ((int) VkComponentTypeKHR) VkComponentTypeNV DType;
    ((int) VkScopeKHR) VkScopeNV scope;
};

Layout

struct VkCopyAccelerationStructureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkAccelerationStructureKHR src;
    (uint64_t) VkAccelerationStructureKHR dst;
    (int) VkCopyAccelerationStructureModeKHR mode;
};

Layout

struct VkCopyAccelerationStructureToMemoryInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkAccelerationStructureKHR src;
    (union VkDeviceOrHostAddressKHR) VkDeviceOrHostAddressKHR dst;
    (int) VkCopyAccelerationStructureModeKHR mode;
};

Layout

struct VkCopyBufferInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer srcBuffer;
    (uint64_t) VkBuffer dstBuffer;
    uint32_t regionCount;
    const VkBufferCopy2* pRegions;
};
A buffer of VkCopyBufferInfo2.

Layout

struct VkCopyBufferToImageInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer srcBuffer;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkBufferImageCopy2* pRegions;
};

Layout

struct VkCopyCommandTransformInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSurfaceTransformFlagBitsKHR transform;
};

Layout

struct VkCopyDescriptorSet {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDescriptorSet srcSet;
    uint32_t srcBinding;
    uint32_t srcArrayElement;
    (uint64_t) VkDescriptorSet dstSet;
    uint32_t dstBinding;
    uint32_t dstArrayElement;
    uint32_t descriptorCount;
};
A buffer of VkCopyDescriptorSet.

Layout

struct VkCopyImageInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkImageCopy2* pRegions;
};
A buffer of VkCopyImageInfo2.

Layout

struct VkCopyImageToBufferInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    (uint64_t) VkBuffer dstBuffer;
    uint32_t regionCount;
    const VkBufferImageCopy2* pRegions;
};

Layout

struct VkCopyImageToImageInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkHostImageCopyFlags flags;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkImageCopy2* pRegions;
};

Layout

struct VkCopyImageToMemoryInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkHostImageCopyFlags flags;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    uint32_t regionCount;
    const VkImageToMemoryCopy* pRegions;
};

Layout

struct VkCopyMemoryIndirectCommandNV {
    (uint64_t) VkDeviceAddress srcAddress;
    (uint64_t) VkDeviceAddress dstAddress;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkCopyMemoryToAccelerationStructureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR src;
    (uint64_t) VkAccelerationStructureKHR dst;
    (int) VkCopyAccelerationStructureModeKHR mode;
};

Layout

struct VkCopyMemoryToImageIndirectCommandNV {
    (uint64_t) VkDeviceAddress srcAddress;
    uint32_t bufferRowLength;
    uint32_t bufferImageHeight;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers imageSubresource;
    (struct VkOffset3D) VkOffset3D imageOffset;
    (struct VkExtent3D) VkExtent3D imageExtent;
};

Layout

struct VkCopyMemoryToImageInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkHostImageCopyFlags flags;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkMemoryToImageCopy* pRegions;
};

Layout

struct VkCopyMemoryToMicromapInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR src;
    (uint64_t) VkMicromapEXT dst;
    (int) VkCopyMicromapModeEXT mode;
};

Layout

struct VkCopyMicromapInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkMicromapEXT src;
    (uint64_t) VkMicromapEXT dst;
    (int) VkCopyMicromapModeEXT mode;
};

Layout

struct VkCopyMicromapToMemoryInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkMicromapEXT src;
    (union VkDeviceOrHostAddressKHR) VkDeviceOrHostAddressKHR dst;
    (int) VkCopyMicromapModeEXT mode;
};

Layout

struct VkCudaFunctionCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkCudaModuleNV module;
    const char* pName;
};

Layout

struct VkCudaLaunchInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkCudaFunctionNV function;
    uint32_t gridDimX;
    uint32_t gridDimY;
    uint32_t gridDimZ;
    uint32_t blockDimX;
    uint32_t blockDimY;
    uint32_t blockDimZ;
    uint32_t sharedMemBytes;
    size_t paramCount;
    const void* const * pParams;
    size_t extraCount;
    const void* const * pExtras;
};
A buffer of VkCudaLaunchInfoNV.

Layout

struct VkCudaModuleCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    size_t dataSize;
    const void* pData;
};

Layout

struct VkCuFunctionCreateInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkCuModuleNVX module;
    const char* pName;
};

Layout

struct VkCuLaunchInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkCuFunctionNVX function;
    uint32_t gridDimX;
    uint32_t gridDimY;
    uint32_t gridDimZ;
    uint32_t blockDimX;
    uint32_t blockDimY;
    uint32_t blockDimZ;
    uint32_t sharedMemBytes;
    size_t paramCount;
    const void* const * pParams;
    size_t extraCount;
    const void* const * pExtras;
};
A buffer of VkCuLaunchInfoNVX.

Layout

struct VkCuModuleCreateInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    size_t dataSize;
    const void* pData;
};

Layout

struct VkCuModuleTexturingModeCreateInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 use64bitTexturing;
};

Layout

struct VkD3D12FenceSubmitInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreValuesCount;
    const uint64_t* pWaitSemaphoreValues;
    uint32_t signalSemaphoreValuesCount;
    const uint64_t* pSignalSemaphoreValues;
};

Layout

struct VkDebugMarkerMarkerInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    const char* pMarkerName;
    float color[4];
};

Layout

struct VkDebugMarkerObjectNameInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDebugReportObjectTypeEXT objectType;
    uint64_t object;
    const char* pObjectName;
};

Layout

struct VkDebugMarkerObjectTagInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDebugReportObjectTypeEXT objectType;
    uint64_t object;
    uint64_t tagName;
    size_t tagSize;
    const void* pTag;
};

Layout

struct VkDebugReportCallbackCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDebugReportFlagsEXT flags;
    ((uint32_t) VkBool32 (*VkDebugReportCallbackEXT)(((uint32_t) VkFlags) VkDebugReportFlagsEXT flags, (int) VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData)) PFN_vkDebugReportCallbackEXT pfnCallback;
    void* pUserData;
};
typedef (uint32_t) VkBool32 (*VkDebugReportCallbackEXT)(((uint32_t) VkFlags) VkDebugReportFlagsEXT flags, (int) VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData);

Layout

struct VkDebugUtilsLabelEXT {
    (int) VkStructureType sType;
    const void* pNext;
    const char* pLabelName;
    float color[4];
};

Layout

struct VkDebugUtilsMessengerCallbackDataEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
    const char* pMessageIdName;
    int32_t messageIdNumber;
    const char* pMessage;
    uint32_t queueLabelCount;
    const VkDebugUtilsLabelEXT* pQueueLabels;
    uint32_t cmdBufLabelCount;
    const VkDebugUtilsLabelEXT* pCmdBufLabels;
    uint32_t objectCount;
    const VkDebugUtilsObjectNameInfoEXT* pObjects;
};
typedef (uint32_t) VkBool32 (*VkDebugUtilsMessengerCallbackEXT)((int) VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, ((uint32_t) VkFlags) VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData);

Layout

struct VkDebugUtilsMessengerCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDebugUtilsMessengerCreateFlagsEXT flags;
    ((uint32_t) VkFlags) VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
    ((uint32_t) VkFlags) VkDebugUtilsMessageTypeFlagsEXT messageType;
    ((uint32_t) VkBool32 (*VkDebugUtilsMessengerCallbackEXT)((int) VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, ((uint32_t) VkFlags) VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData)) PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
    void* pUserData;
};

Layout

struct VkDebugUtilsObjectNameInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkObjectType objectType;
    uint64_t objectHandle;
    const char* pObjectName;
};

Layout

struct VkDebugUtilsObjectTagInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkObjectType objectType;
    uint64_t objectHandle;
    uint64_t tagName;
    size_t tagSize;
    const void* pTag;
};

Layout

struct VkDecompressMemoryRegionNV {
    (uint64_t) VkDeviceAddress srcAddress;
    (uint64_t) VkDeviceAddress dstAddress;
    (uint64_t) VkDeviceSize compressedSize;
    (uint64_t) VkDeviceSize decompressedSize;
    ((uint64_t) VkFlags64) VkMemoryDecompressionMethodFlagsNV decompressionMethod;
};

Layout

struct VkDedicatedAllocationBufferCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 dedicatedAllocation;
};

Layout

struct VkDedicatedAllocationImageCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 dedicatedAllocation;
};

Layout

struct VkDedicatedAllocationMemoryAllocateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkDependencyInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDependencyFlags dependencyFlags;
    uint32_t memoryBarrierCount;
    const VkMemoryBarrier2* pMemoryBarriers;
    uint32_t bufferMemoryBarrierCount;
    const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
    uint32_t imageMemoryBarrierCount;
    const VkImageMemoryBarrier2* pImageMemoryBarriers;
};
A buffer of VkDependencyInfo.

Layout

struct VkDepthBiasInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    float depthBiasConstantFactor;
    float depthBiasClamp;
    float depthBiasSlopeFactor;
};
A buffer of VkDepthBiasInfoEXT.

Layout

struct VkDepthBiasRepresentationInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDepthBiasRepresentationEXT depthBiasRepresentation;
    (uint32_t) VkBool32 depthBiasExact;
};

Layout

struct VkDepthClampRangeEXT {
    float minDepthClamp;
    float maxDepthClamp;
};

Layout

struct VkDescriptorAddressInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceAddress address;
    (uint64_t) VkDeviceSize range;
    (int) VkFormat format;
};

Layout

struct VkDescriptorBufferBindingInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceAddress address;
    ((uint32_t) VkFlags) VkBufferUsageFlags usage;
};

Layout

struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkDescriptorBufferInfo {
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize range;
};

Layout

union VkDescriptorDataEXT {
    const VkSampler* pSampler;
    const VkDescriptorImageInfo* pCombinedImageSampler;
    const VkDescriptorImageInfo* pInputAttachmentImage;
    const VkDescriptorImageInfo* pSampledImage;
    const VkDescriptorImageInfo* pStorageImage;
    const VkDescriptorAddressInfoEXT* pUniformTexelBuffer;
    const VkDescriptorAddressInfoEXT* pStorageTexelBuffer;
    const VkDescriptorAddressInfoEXT* pUniformBuffer;
    const VkDescriptorAddressInfoEXT* pStorageBuffer;
    (uint64_t) VkDeviceAddress accelerationStructure;
};
A buffer of VkDescriptorDataEXT.

Layout

struct VkDescriptorGetInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDescriptorType type;
    (union VkDescriptorDataEXT) VkDescriptorDataEXT data;
};

Layout

struct VkDescriptorImageInfo {
    (uint64_t) VkSampler sampler;
    (uint64_t) VkImageView imageView;
    (int) VkImageLayout imageLayout;
};

Layout

struct VkDescriptorPoolCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDescriptorPoolCreateFlags flags;
    uint32_t maxSets;
    uint32_t poolSizeCount;
    const VkDescriptorPoolSize* pPoolSizes;
};

Layout

struct VkDescriptorPoolInlineUniformBlockCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxInlineUniformBlockBindings;
};

Layout

struct VkDescriptorPoolSize {
    (int) VkDescriptorType type;
    uint32_t descriptorCount;
};

Layout

struct VkDescriptorSetAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDescriptorPool descriptorPool;
    uint32_t descriptorSetCount;
    const VkDescriptorSetLayout* pSetLayouts;
};

Layout

struct VkDescriptorSetBindingReferenceVALVE {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDescriptorSetLayout descriptorSetLayout;
    uint32_t binding;
};

Layout

struct VkDescriptorSetLayoutBinding {
    uint32_t binding;
    (int) VkDescriptorType descriptorType;
    uint32_t descriptorCount;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    const VkSampler* pImmutableSamplers;
};

Layout

struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t bindingCount;
    const VkDescriptorBindingFlags* pBindingFlags;
};

Layout

struct VkDescriptorSetLayoutCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDescriptorSetLayoutCreateFlags flags;
    uint32_t bindingCount;
    const VkDescriptorSetLayoutBinding* pBindings;
};

Layout

struct VkDescriptorSetLayoutHostMappingInfoVALVE {
    (int) VkStructureType sType;
    void* pNext;
    size_t descriptorOffset;
    uint32_t descriptorSize;
};

Layout

struct VkDescriptorSetLayoutSupport {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 supported;
};

Layout

struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t descriptorSetCount;
    const uint32_t* pDescriptorCounts;
};

Layout

struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxVariableDescriptorCount;
};

Layout

struct VkDescriptorUpdateTemplateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDescriptorUpdateTemplateCreateFlags flags;
    uint32_t descriptorUpdateEntryCount;
    const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
    (int) VkDescriptorUpdateTemplateType templateType;
    (uint64_t) VkDescriptorSetLayout descriptorSetLayout;
    (int) VkPipelineBindPoint pipelineBindPoint;
    (uint64_t) VkPipelineLayout pipelineLayout;
    uint32_t set;
};

Layout

struct VkDescriptorUpdateTemplateEntry {
    uint32_t dstBinding;
    uint32_t dstArrayElement;
    uint32_t descriptorCount;
    (int) VkDescriptorType descriptorType;
    size_t offset;
    size_t stride;
};
Wraps a Vulkan device dispatchable handle.

Layout

struct VkDeviceAddressBindingCallbackDataEXT {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkDeviceAddressBindingFlagsEXT flags;
    (uint64_t) VkDeviceAddress baseAddress;
    (uint64_t) VkDeviceSize size;
    (int) VkDeviceAddressBindingTypeEXT bindingType;
};

Layout

struct VkDeviceBufferMemoryRequirements {
    (int) VkStructureType sType;
    const void* pNext;
    const VkBufferCreateInfo* pCreateInfo;
};

Layout

struct VkDeviceCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceCreateFlags flags;
    uint32_t queueCreateInfoCount;
    const VkDeviceQueueCreateInfo* pQueueCreateInfos;
    uint32_t enabledLayerCount;
    const char* const * ppEnabledLayerNames;
    uint32_t enabledExtensionCount;
    const char* const * ppEnabledExtensionNames;
    const VkPhysicalDeviceFeatures* pEnabledFeatures;
};
A buffer of VkDeviceCreateInfo.

Layout

struct VkDeviceDeviceMemoryReportCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceMemoryReportFlagsEXT flags;
    (void (*VkDeviceMemoryReportCallbackEXT)(const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, void* pUserData)) PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
    void* pUserData;
};

Layout

struct VkDeviceDiagnosticsConfigCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceDiagnosticsConfigFlagsNV flags;
};

Layout

struct VkDeviceEventInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDeviceEventTypeEXT deviceEvent;
};

Layout

struct VkDeviceFaultAddressInfoEXT {
    (int) VkDeviceFaultAddressTypeEXT addressType;
    (uint64_t) VkDeviceAddress reportedAddress;
    (uint64_t) VkDeviceSize addressPrecision;
};

Layout

struct VkDeviceFaultCountsEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t addressInfoCount;
    uint32_t vendorInfoCount;
    (uint64_t) VkDeviceSize vendorBinarySize;
};

Layout

struct VkDeviceFaultInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    char description[256];
    VkDeviceFaultAddressInfoEXT* pAddressInfos;
    VkDeviceFaultVendorInfoEXT* pVendorInfos;
    void* pVendorBinaryData;
};

Layout

struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
    uint32_t headerSize;
    (int) VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion;
    uint32_t vendorID;
    uint32_t deviceID;
    uint32_t driverVersion;
    uint8_t pipelineCacheUUID[16];
    uint32_t applicationNameOffset;
    uint32_t applicationVersion;
    uint32_t engineNameOffset;
    uint32_t engineVersion;
    uint32_t apiVersion;
};

Layout

struct VkDeviceFaultVendorInfoEXT {
    char description[256];
    uint64_t vendorFaultCode;
    uint64_t vendorFaultData;
};

Layout

struct VkDeviceGroupBindSparseInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t resourceDeviceIndex;
    uint32_t memoryDeviceIndex;
};

Layout

struct VkDeviceGroupCommandBufferBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t deviceMask;
};

Layout

struct VkDeviceGroupDeviceCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t physicalDeviceCount;
    const VkPhysicalDevice* pPhysicalDevices;
};

Layout

struct VkDeviceGroupPresentCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t presentMask[32];
    ((uint32_t) VkFlags) VkDeviceGroupPresentModeFlagsKHR modes;
};

Layout

struct VkDeviceGroupPresentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const uint32_t* pDeviceMasks;
    (int) VkDeviceGroupPresentModeFlagBitsKHR mode;
};

Layout

struct VkDeviceGroupRenderPassBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t deviceMask;
    uint32_t deviceRenderAreaCount;
    const VkRect2D* pDeviceRenderAreas;
};

Layout

struct VkDeviceGroupSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreCount;
    const uint32_t* pWaitSemaphoreDeviceIndices;
    uint32_t commandBufferCount;
    const uint32_t* pCommandBufferDeviceMasks;
    uint32_t signalSemaphoreCount;
    const uint32_t* pSignalSemaphoreDeviceIndices;
};

Layout

struct VkDeviceGroupSwapchainCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceGroupPresentModeFlagsKHR modes;
};

Layout

struct VkDeviceImageMemoryRequirements {
    (int) VkStructureType sType;
    const void* pNext;
    const VkImageCreateInfo* pCreateInfo;
    (int) VkImageAspectFlagBits planeAspect;
};

Layout

struct VkDeviceImageSubresourceInfo {
    (int) VkStructureType sType;
    const void* pNext;
    const VkImageCreateInfo* pCreateInfo;
    const VkImageSubresource2* pSubresource;
};

Layout

struct VkDeviceMemoryOpaqueCaptureAddressInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
};

Layout

struct VkDeviceMemoryOverallocationCreateInfoAMD {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkMemoryOverallocationBehaviorAMD overallocationBehavior;
};

Layout

struct VkDeviceMemoryReportCallbackDataEXT {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkDeviceMemoryReportFlagsEXT flags;
    (int) VkDeviceMemoryReportEventTypeEXT type;
    uint64_t memoryObjectId;
    (uint64_t) VkDeviceSize size;
    (int) VkObjectType objectType;
    uint64_t objectHandle;
    uint32_t heapIndex;
};
typedef void (*VkDeviceMemoryReportCallbackEXT)(const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, void* pUserData);

Layout

struct VkDeviceObjectReservationCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t pipelineCacheCreateInfoCount;
    const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos;
    uint32_t pipelinePoolSizeCount;
    const VkPipelinePoolSize* pPipelinePoolSizes;
    uint32_t semaphoreRequestCount;
    uint32_t commandBufferRequestCount;
    uint32_t fenceRequestCount;
    uint32_t deviceMemoryRequestCount;
    uint32_t bufferRequestCount;
    uint32_t imageRequestCount;
    uint32_t eventRequestCount;
    uint32_t queryPoolRequestCount;
    uint32_t bufferViewRequestCount;
    uint32_t imageViewRequestCount;
    uint32_t layeredImageViewRequestCount;
    uint32_t pipelineCacheRequestCount;
    uint32_t pipelineLayoutRequestCount;
    uint32_t renderPassRequestCount;
    uint32_t graphicsPipelineRequestCount;
    uint32_t computePipelineRequestCount;
    uint32_t descriptorSetLayoutRequestCount;
    uint32_t samplerRequestCount;
    uint32_t descriptorPoolRequestCount;
    uint32_t descriptorSetRequestCount;
    uint32_t framebufferRequestCount;
    uint32_t commandPoolRequestCount;
    uint32_t samplerYcbcrConversionRequestCount;
    uint32_t surfaceRequestCount;
    uint32_t swapchainRequestCount;
    uint32_t displayModeRequestCount;
    uint32_t subpassDescriptionRequestCount;
    uint32_t attachmentDescriptionRequestCount;
    uint32_t descriptorSetLayoutBindingRequestCount;
    uint32_t descriptorSetLayoutBindingLimit;
    uint32_t maxImageViewMipLevels;
    uint32_t maxImageViewArrayLayers;
    uint32_t maxLayeredImageViewMipLevels;
    uint32_t maxOcclusionQueriesPerPool;
    uint32_t maxPipelineStatisticsQueriesPerPool;
    uint32_t maxTimestampQueriesPerPool;
    uint32_t maxImmutableSamplersPerDescriptorSetLayout;
};

Layout

union VkDeviceOrHostAddressConstAMDX {
    (uint64_t) VkDeviceAddress deviceAddress;
    const void* hostAddress;
};

Layout

union VkDeviceOrHostAddressConstKHR {
    (uint64_t) VkDeviceAddress deviceAddress;
    const void* hostAddress;
};

Layout

union VkDeviceOrHostAddressKHR {
    (uint64_t) VkDeviceAddress deviceAddress;
    void* hostAddress;
};

Layout

struct VkDevicePipelineBinaryInternalCacheControlKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 disableInternalCache;
};

Layout

struct VkDevicePrivateDataCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t privateDataSlotRequestCount;
};

Layout

struct VkDeviceQueueCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceQueueCreateFlags flags;
    uint32_t queueFamilyIndex;
    uint32_t queueCount;
    const float* pQueuePriorities;
};

Layout

struct VkDeviceQueueGlobalPriorityCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkQueueGlobalPriority globalPriority;
};

Layout

struct VkDeviceQueueInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDeviceQueueCreateFlags flags;
    uint32_t queueFamilyIndex;
    uint32_t queueIndex;
};
A buffer of VkDeviceQueueInfo2.

Layout

struct VkDeviceQueueShaderCoreControlCreateInfoARM {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderCoreCount;
};

Layout

struct VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t semaphoreSciSyncPoolRequestCount;
};

Layout

struct VkDirectDriverLoadingInfoLUNARG {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkDirectDriverLoadingFlagsLUNARG flags;
    ((void (*VkVoidFunction)()) PFN_vkVoidFunction (*VkGetInstanceProcAddrLUNARG)((struct VkInstance*) VkInstance instance, const char* pName)) PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr;
};

Layout

struct VkDirectDriverLoadingListLUNARG {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDirectDriverLoadingModeLUNARG mode;
    uint32_t driverCount;
    const VkDirectDriverLoadingInfoLUNARG* pDrivers;
};

Layout

struct VkDirectFBSurfaceCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDirectFBSurfaceCreateFlagsEXT flags;
    IDirectFB* dfb;
    IDirectFBSurface* surface;
};

Layout

struct VkDispatchGraphCountInfoAMDX {
    uint32_t count;
    (union VkDeviceOrHostAddressConstAMDX) VkDeviceOrHostAddressConstAMDX infos;
    uint64_t stride;
};

Layout

struct VkDispatchGraphInfoAMDX {
    uint32_t nodeIndex;
    uint32_t payloadCount;
    (union VkDeviceOrHostAddressConstAMDX) VkDeviceOrHostAddressConstAMDX payloads;
    uint64_t payloadStride;
};

Layout

struct VkDispatchIndirectCommand {
    uint32_t x;
    uint32_t y;
    uint32_t z;
};

Layout

struct VkDisplayEventInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDisplayEventTypeEXT displayEvent;
};

Layout

struct VkDisplayModeCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDisplayModeCreateFlagsKHR flags;
    (struct VkDisplayModeParametersKHR) VkDisplayModeParametersKHR parameters;
};

Layout

struct VkDisplayModeParametersKHR {
    (struct VkExtent2D) VkExtent2D visibleRegion;
    uint32_t refreshRate;
};

Layout

struct VkDisplayModeProperties2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkDisplayModePropertiesKHR) VkDisplayModePropertiesKHR displayModeProperties;
};

Layout

struct VkDisplayModePropertiesKHR {
    (uint64_t) VkDisplayModeKHR displayMode;
    (struct VkDisplayModeParametersKHR) VkDisplayModeParametersKHR parameters;
};

Layout

struct VkDisplayModeStereoPropertiesNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 hdmi3DSupported;
};

Layout

struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 localDimmingSupport;
};

Layout

struct VkDisplayPlaneCapabilities2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkDisplayPlaneCapabilitiesKHR) VkDisplayPlaneCapabilitiesKHR capabilities;
};

Layout

struct VkDisplayPlaneCapabilitiesKHR {
    ((uint32_t) VkFlags) VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
    (struct VkOffset2D) VkOffset2D minSrcPosition;
    (struct VkOffset2D) VkOffset2D maxSrcPosition;
    (struct VkExtent2D) VkExtent2D minSrcExtent;
    (struct VkExtent2D) VkExtent2D maxSrcExtent;
    (struct VkOffset2D) VkOffset2D minDstPosition;
    (struct VkOffset2D) VkOffset2D maxDstPosition;
    (struct VkExtent2D) VkExtent2D minDstExtent;
    (struct VkExtent2D) VkExtent2D maxDstExtent;
};

Layout

struct VkDisplayPlaneInfo2KHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDisplayModeKHR mode;
    uint32_t planeIndex;
};

Layout

struct VkDisplayPlaneProperties2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkDisplayPlanePropertiesKHR) VkDisplayPlanePropertiesKHR displayPlaneProperties;
};

Layout

struct VkDisplayPlanePropertiesKHR {
    (uint64_t) VkDisplayKHR currentDisplay;
    uint32_t currentStackIndex;
};

Layout

struct VkDisplayPowerInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDisplayPowerStateEXT powerState;
};

Layout

struct VkDisplayPresentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkRect2D) VkRect2D srcRect;
    (struct VkRect2D) VkRect2D dstRect;
    (uint32_t) VkBool32 persistent;
};

Layout

struct VkDisplayProperties2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkDisplayPropertiesKHR) VkDisplayPropertiesKHR displayProperties;
};

Layout

struct VkDisplayPropertiesKHR {
    (uint64_t) VkDisplayKHR display;
    const char* displayName;
    (struct VkExtent2D) VkExtent2D physicalDimensions;
    (struct VkExtent2D) VkExtent2D physicalResolution;
    ((uint32_t) VkFlags) VkSurfaceTransformFlagsKHR supportedTransforms;
    (uint32_t) VkBool32 planeReorderPossible;
    (uint32_t) VkBool32 persistentContent;
};

Layout

struct VkDisplaySurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkDisplaySurfaceCreateFlagsKHR flags;
    (uint64_t) VkDisplayModeKHR displayMode;
    uint32_t planeIndex;
    uint32_t planeStackIndex;
    (int) VkSurfaceTransformFlagBitsKHR transform;
    float globalAlpha;
    (int) VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
    (struct VkExtent2D) VkExtent2D imageExtent;
};

Layout

struct VkDisplaySurfaceStereoCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDisplaySurfaceStereoTypeNV stereoType;
};

Layout

struct VkDrawIndexedIndirectCommand {
    uint32_t indexCount;
    uint32_t instanceCount;
    uint32_t firstIndex;
    int32_t vertexOffset;
    uint32_t firstInstance;
};

Layout

struct VkDrawIndirectCommand {
    uint32_t vertexCount;
    uint32_t instanceCount;
    uint32_t firstVertex;
    uint32_t firstInstance;
};

Layout

struct VkDrawIndirectCountIndirectCommandEXT {
    (uint64_t) VkDeviceAddress bufferAddress;
    uint32_t stride;
    uint32_t commandCount;
};

Layout

struct VkDrawMeshTasksIndirectCommandEXT {
    uint32_t groupCountX;
    uint32_t groupCountY;
    uint32_t groupCountZ;
};

Layout

struct VkDrawMeshTasksIndirectCommandNV {
    uint32_t taskCount;
    uint32_t firstTask;
};

Layout

struct VkDrmFormatModifierProperties2EXT {
    uint64_t drmFormatModifier;
    uint32_t drmFormatModifierPlaneCount;
    ((uint64_t) VkFlags64) VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
};

Layout

struct VkDrmFormatModifierPropertiesEXT {
    uint64_t drmFormatModifier;
    uint32_t drmFormatModifierPlaneCount;
    ((uint32_t) VkFlags) VkFormatFeatureFlags drmFormatModifierTilingFeatures;
};

Layout

struct VkDrmFormatModifierPropertiesList2EXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t drmFormatModifierCount;
    VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
};

Layout

struct VkDrmFormatModifierPropertiesListEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t drmFormatModifierCount;
    VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
};

Layout

struct VkEventCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkEventCreateFlags flags;
};
A buffer of VkEventCreateInfo.

Layout

struct VkExecutionGraphPipelineCreateInfoAMDX {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCreateFlags flags;
    uint32_t stageCount;
    const VkPipelineShaderStageCreateInfo* pStages;
    const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
    (uint64_t) VkPipelineLayout layout;
    (uint64_t) VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
};

Layout

struct VkExecutionGraphPipelineScratchSizeAMDX {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize minSize;
    (uint64_t) VkDeviceSize maxSize;
    (uint64_t) VkDeviceSize sizeGranularity;
};

Layout

struct VkExportFenceCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalFenceHandleTypeFlags handleTypes;
};

Layout

struct VkExportFenceSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (struct NvSciSyncAttrListRec *) NvSciSyncAttrList pAttributes;
};

Layout

struct VkExportFenceWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const SECURITY_ATTRIBUTES* pAttributes;
    (unsigned long) DWORD dwAccess;
    (const wchar_t*) LPCWSTR name;
};

Layout

struct VkExportMemoryAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlags handleTypes;
};

Layout

struct VkExportMemoryAllocateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlagsNV handleTypes;
};

Layout

struct VkExportMemorySciBufInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (struct NvSciBufAttrListRec *) NvSciBufAttrList pAttributes;
};

Layout

struct VkExportMemoryWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const SECURITY_ATTRIBUTES* pAttributes;
    (unsigned long) DWORD dwAccess;
    (const wchar_t*) LPCWSTR name;
};

Layout

struct VkExportMemoryWin32HandleInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    const SECURITY_ATTRIBUTES* pAttributes;
    (unsigned long) DWORD dwAccess;
};

Layout

struct VkExportMetalBufferInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (void*) MTLBuffer_id mtlBuffer;
};

Layout

struct VkExportMetalCommandQueueInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkQueue*) VkQueue queue;
    (void*) MTLCommandQueue_id mtlCommandQueue;
};

Layout

struct VkExportMetalDeviceInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (void*) MTLDevice_id mtlDevice;
};

Layout

struct VkExportMetalIOSurfaceInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (struct __IOSurface *) IOSurfaceRef ioSurface;
};

Layout

struct VkExportMetalObjectCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExportMetalObjectTypeFlagBitsEXT exportObjectType;
};

Layout

struct VkExportMetalObjectsInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
};

Layout

struct VkExportMetalSharedEventInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (uint64_t) VkEvent event;
    (void*) MTLSharedEvent_id mtlSharedEvent;
};

Layout

struct VkExportMetalTextureInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (uint64_t) VkImageView imageView;
    (uint64_t) VkBufferView bufferView;
    (int) VkImageAspectFlagBits plane;
    (void*) MTLTexture_id mtlTexture;
};

Layout

struct VkExportSemaphoreCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalSemaphoreHandleTypeFlags handleTypes;
};

Layout

struct VkExportSemaphoreSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (struct NvSciSyncAttrListRec *) NvSciSyncAttrList pAttributes;
};

Layout

struct VkExportSemaphoreWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const SECURITY_ATTRIBUTES* pAttributes;
    (unsigned long) DWORD dwAccess;
    (const wchar_t*) LPCWSTR name;
};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layout

struct VkExtensionProperties {
    char extensionName[256];
    uint32_t specVersion;
};

Layout

struct VkExtent2D {
    uint32_t width;
    uint32_t height;
};
A buffer of VkExtent2D.

Layout

struct VkExtent3D {
    uint32_t width;
    uint32_t height;
    uint32_t depth;
};
A buffer of VkExtent3D.

Layout

struct VkExternalBufferProperties {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExternalMemoryProperties) VkExternalMemoryProperties externalMemoryProperties;
};

Layout

struct VkExternalFenceProperties {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
    ((uint32_t) VkFlags) VkExternalFenceHandleTypeFlags compatibleHandleTypes;
    ((uint32_t) VkFlags) VkExternalFenceFeatureFlags externalFenceFeatures;
};

Layout

struct VkExternalFormatANDROID {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t externalFormat;
};

Layout

struct VkExternalFormatQNX {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t externalFormat;
};
A buffer of VkExternalFormatQNX.

Layout

struct VkExternalImageFormatProperties {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExternalMemoryProperties) VkExternalMemoryProperties externalMemoryProperties;
};

Layout

struct VkExternalImageFormatPropertiesNV {
    (struct VkImageFormatProperties) VkImageFormatProperties imageFormatProperties;
    ((uint32_t) VkFlags) VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
};

Layout

struct VkExternalMemoryAcquireUnmodifiedEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 acquireUnmodifiedMemory;
};

Layout

struct VkExternalMemoryBufferCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlags handleTypes;
};

Layout

struct VkExternalMemoryImageCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlags handleTypes;
};

Layout

struct VkExternalMemoryImageCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlagsNV handleTypes;
};

Layout

struct VkExternalMemoryProperties {
    ((uint32_t) VkFlags) VkExternalMemoryFeatureFlags externalMemoryFeatures;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
};

Layout

struct VkExternalSemaphoreProperties {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
    ((uint32_t) VkFlags) VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
    ((uint32_t) VkFlags) VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
typedef void (*VkFaultCallbackFunction)((uint32_t) VkBool32 unrecordedFaults, uint32_t faultCount, const VkFaultData* pFaults);

Layout

struct VkFaultCallbackInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t faultCount;
    VkFaultData* pFaults;
    (void (*VkFaultCallbackFunction)((uint32_t) VkBool32 unrecordedFaults, uint32_t faultCount, const VkFaultData* pFaults)) PFN_vkFaultCallbackFunction pfnFaultCallback;
};
A buffer of VkFaultCallbackInfo.

Layout

struct VkFaultData {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFaultLevel faultLevel;
    (int) VkFaultType faultType;
};
A buffer of VkFaultData.

Layout

struct VkFenceCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkFenceCreateFlags flags;
};
A buffer of VkFenceCreateInfo.

Layout

struct VkFenceGetFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
};
A buffer of VkFenceGetFdInfoKHR.

Layout

struct VkFenceGetSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
};

Layout

struct VkFenceGetWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
};

Layout

struct VkFilterCubicImageViewImageFormatPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 filterCubic;
    (uint32_t) VkBool32 filterCubicMinmax;
};

Layout

struct VkFormatProperties {
    ((uint32_t) VkFlags) VkFormatFeatureFlags linearTilingFeatures;
    ((uint32_t) VkFlags) VkFormatFeatureFlags optimalTilingFeatures;
    ((uint32_t) VkFlags) VkFormatFeatureFlags bufferFeatures;
};
A buffer of VkFormatProperties.

Layout

struct VkFormatProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkFormatProperties) VkFormatProperties formatProperties;
};
A buffer of VkFormatProperties2.

Layout

struct VkFormatProperties3 {
    (int) VkStructureType sType;
    void* pNext;
    ((uint64_t) VkFlags64) VkFormatFeatureFlags2 linearTilingFeatures;
    ((uint64_t) VkFlags64) VkFormatFeatureFlags2 optimalTilingFeatures;
    ((uint64_t) VkFlags64) VkFormatFeatureFlags2 bufferFeatures;
};
A buffer of VkFormatProperties3.

Layout

struct VkFragmentShadingRateAttachmentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const VkAttachmentReference2* pFragmentShadingRateAttachment;
    (struct VkExtent2D) VkExtent2D shadingRateAttachmentTexelSize;
};

Layout

struct VkFrameBoundaryEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkFrameBoundaryFlagsEXT flags;
    uint64_t frameID;
    uint32_t imageCount;
    const VkImage* pImages;
    uint32_t bufferCount;
    const VkBuffer* pBuffers;
    uint64_t tagName;
    size_t tagSize;
    const void* pTag;
};
A buffer of VkFrameBoundaryEXT.

Layout

struct VkFramebufferAttachmentImageInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageCreateFlags flags;
    ((uint32_t) VkFlags) VkImageUsageFlags usage;
    uint32_t width;
    uint32_t height;
    uint32_t layerCount;
    uint32_t viewFormatCount;
    const VkFormat* pViewFormats;
};

Layout

struct VkFramebufferAttachmentsCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t attachmentImageInfoCount;
    const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
};

Layout

struct VkFramebufferCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkFramebufferCreateFlags flags;
    (uint64_t) VkRenderPass renderPass;
    uint32_t attachmentCount;
    const VkImageView* pAttachments;
    uint32_t width;
    uint32_t height;
    uint32_t layers;
};

Layout

struct VkFramebufferMixedSamplesCombinationNV {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkCoverageReductionModeNV coverageReductionMode;
    (int) VkSampleCountFlagBits rasterizationSamples;
    ((uint32_t) VkFlags) VkSampleCountFlags depthStencilSamples;
    ((uint32_t) VkFlags) VkSampleCountFlags colorSamples;
};
typedef void (*VkFreeFunction)(void* pUserData, void* pMemory);
 
 
 
 
 
 
 
 

Layout

struct VkGeneratedCommandsInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags shaderStages;
    (uint64_t) VkIndirectExecutionSetEXT indirectExecutionSet;
    (uint64_t) VkIndirectCommandsLayoutEXT indirectCommandsLayout;
    (uint64_t) VkDeviceAddress indirectAddress;
    (uint64_t) VkDeviceSize indirectAddressSize;
    (uint64_t) VkDeviceAddress preprocessAddress;
    (uint64_t) VkDeviceSize preprocessSize;
    uint32_t maxSequenceCount;
    (uint64_t) VkDeviceAddress sequenceCountAddress;
    uint32_t maxDrawCount;
};

Layout

struct VkGeneratedCommandsInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPipelineBindPoint pipelineBindPoint;
    (uint64_t) VkPipeline pipeline;
    (uint64_t) VkIndirectCommandsLayoutNV indirectCommandsLayout;
    uint32_t streamCount;
    const VkIndirectCommandsStreamNV* pStreams;
    uint32_t sequencesCount;
    (uint64_t) VkBuffer preprocessBuffer;
    (uint64_t) VkDeviceSize preprocessOffset;
    (uint64_t) VkDeviceSize preprocessSize;
    (uint64_t) VkBuffer sequencesCountBuffer;
    (uint64_t) VkDeviceSize sequencesCountOffset;
    (uint64_t) VkBuffer sequencesIndexBuffer;
    (uint64_t) VkDeviceSize sequencesIndexOffset;
};

Layout

struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkIndirectExecutionSetEXT indirectExecutionSet;
    (uint64_t) VkIndirectCommandsLayoutEXT indirectCommandsLayout;
    uint32_t maxSequenceCount;
    uint32_t maxDrawCount;
};

Layout

struct VkGeneratedCommandsMemoryRequirementsInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPipelineBindPoint pipelineBindPoint;
    (uint64_t) VkPipeline pipeline;
    (uint64_t) VkIndirectCommandsLayoutNV indirectCommandsLayout;
    uint32_t maxSequencesCount;
};

Layout

struct VkGeneratedCommandsPipelineInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkPipeline pipeline;
};

Layout

struct VkGeneratedCommandsShaderInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderCount;
    const VkShaderEXT* pShaders;
};

Layout

struct VkGeometryAABBNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer aabbData;
    uint32_t numAABBs;
    uint32_t stride;
    (uint64_t) VkDeviceSize offset;
};
A buffer of VkGeometryAABBNV.

Layout

struct VkGeometryDataNV {
    (struct VkGeometryTrianglesNV) VkGeometryTrianglesNV triangles;
    (struct VkGeometryAABBNV) VkGeometryAABBNV aabbs;
};
A buffer of VkGeometryDataNV.

Layout

struct VkGeometryNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkGeometryTypeKHR geometryType;
    (struct VkGeometryDataNV) VkGeometryDataNV geometry;
    ((uint32_t) VkFlags) VkGeometryFlagsKHR flags;
};
A buffer of VkGeometryNV.

Layout

struct VkGeometryTrianglesNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBuffer vertexData;
    (uint64_t) VkDeviceSize vertexOffset;
    uint32_t vertexCount;
    (uint64_t) VkDeviceSize vertexStride;
    (int) VkFormat vertexFormat;
    (uint64_t) VkBuffer indexData;
    (uint64_t) VkDeviceSize indexOffset;
    uint32_t indexCount;
    (int) VkIndexType indexType;
    (uint64_t) VkBuffer transformData;
    (uint64_t) VkDeviceSize transformOffset;
};
typedef (void (*VkVoidFunction)()) PFN_vkVoidFunction (*VkGetInstanceProcAddrLUNARG)((struct VkInstance*) VkInstance instance, const char* pName);

Layout

struct VkGetLatencyMarkerInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t timingCount;
    VkLatencyTimingsFrameReportNV* pTimings;
};
 
 
 
 
 
 
 
 
 

Layout

struct VkGraphicsPipelineCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCreateFlags flags;
    uint32_t stageCount;
    const VkPipelineShaderStageCreateInfo* pStages;
    const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
    const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
    const VkPipelineTessellationStateCreateInfo* pTessellationState;
    const VkPipelineViewportStateCreateInfo* pViewportState;
    const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
    const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
    const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
    const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
    const VkPipelineDynamicStateCreateInfo* pDynamicState;
    (uint64_t) VkPipelineLayout layout;
    (uint64_t) VkRenderPass renderPass;
    uint32_t subpass;
    (uint64_t) VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
};

Layout

struct VkGraphicsPipelineLibraryCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkGraphicsPipelineLibraryFlagsEXT flags;
};

Layout

struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t groupCount;
    const VkGraphicsShaderGroupCreateInfoNV* pGroups;
    uint32_t pipelineCount;
    const VkPipeline* pPipelines;
};

Layout

struct VkGraphicsShaderGroupCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stageCount;
    const VkPipelineShaderStageCreateInfo* pStages;
    const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
    const VkPipelineTessellationStateCreateInfo* pTessellationState;
};

Layout

struct VkHdrMetadataEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkXYColorEXT) VkXYColorEXT displayPrimaryRed;
    (struct VkXYColorEXT) VkXYColorEXT displayPrimaryGreen;
    (struct VkXYColorEXT) VkXYColorEXT displayPrimaryBlue;
    (struct VkXYColorEXT) VkXYColorEXT whitePoint;
    float maxLuminance;
    float minLuminance;
    float maxContentLightLevel;
    float maxFrameAverageLightLevel;
};
A buffer of VkHdrMetadataEXT.

Layout

struct VkHdrVividDynamicMetadataHUAWEI {
    (int) VkStructureType sType;
    const void* pNext;
    size_t dynamicMetadataSize;
    const void* pDynamicMetadata;
};

Layout

struct VkHeadlessSurfaceCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkHeadlessSurfaceCreateFlagsEXT flags;
};

Layout

struct VkHostImageCopyDevicePerformanceQuery {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 optimalDeviceAccess;
    (uint32_t) VkBool32 identicalMemoryLayout;
};

Layout

struct VkHostImageLayoutTransitionInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (int) VkImageLayout oldLayout;
    (int) VkImageLayout newLayout;
    (struct VkImageSubresourceRange) VkImageSubresourceRange subresourceRange;
};
 
 
 
 
 
 
 

Layout

struct VkImageAlignmentControlCreateInfoMESA {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maximumRequestedAlignment;
};

Layout

struct VkImageBlit {
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffsets[2];
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffsets[2];
};
A buffer of VkImageBlit.

Layout

struct VkImageBlit2 {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffsets[2];
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffsets[2];
};
A buffer of VkImageBlit2.

Layout

struct VkImageCaptureDescriptorDataInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
};

Layout

struct VkImageCompressionControlEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageCompressionFlagsEXT flags;
    uint32_t compressionControlPlaneCount;
    VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
};

Layout

struct VkImageCompressionPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkImageCompressionFlagsEXT imageCompressionFlags;
    ((uint32_t) VkFlags) VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
};

Layout

struct VkImageConstraintsInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t formatConstraintsCount;
    const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
    (struct VkBufferCollectionConstraintsInfoFUCHSIA) VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
    ((uint32_t) VkFlags) VkImageConstraintsInfoFlagsFUCHSIA flags;
};

Layout

struct VkImageCopy {
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffset;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffset;
    (struct VkExtent3D) VkExtent3D extent;
};
A buffer of VkImageCopy.

Layout

struct VkImageCopy2 {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffset;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffset;
    (struct VkExtent3D) VkExtent3D extent;
};
A buffer of VkImageCopy2.

Layout

struct VkImageCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageCreateFlags flags;
    (int) VkImageType imageType;
    (int) VkFormat format;
    (struct VkExtent3D) VkExtent3D extent;
    uint32_t mipLevels;
    uint32_t arrayLayers;
    (int) VkSampleCountFlagBits samples;
    (int) VkImageTiling tiling;
    ((uint32_t) VkFlags) VkImageUsageFlags usage;
    (int) VkSharingMode sharingMode;
    uint32_t queueFamilyIndexCount;
    const uint32_t* pQueueFamilyIndices;
    (int) VkImageLayout initialLayout;
};
A buffer of VkImageCreateInfo.

Layout

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

Layout

struct VkImageDrmFormatModifierListCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t drmFormatModifierCount;
    const uint64_t* pDrmFormatModifiers;
};

Layout

struct VkImageDrmFormatModifierPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t drmFormatModifier;
};

Layout

struct VkImageFormatConstraintsInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkImageCreateInfo) VkImageCreateInfo imageCreateInfo;
    ((uint32_t) VkFlags) VkFormatFeatureFlags requiredFormatFeatures;
    ((uint32_t) VkFlags) VkImageFormatConstraintsFlagsFUCHSIA flags;
    uint64_t sysmemPixelFormat;
    uint32_t colorSpaceCount;
    const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
};

Layout

struct VkImageFormatListCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t viewFormatCount;
    const VkFormat* pViewFormats;
};

Layout

struct VkImageFormatProperties {
    (struct VkExtent3D) VkExtent3D maxExtent;
    uint32_t maxMipLevels;
    uint32_t maxArrayLayers;
    ((uint32_t) VkFlags) VkSampleCountFlags sampleCounts;
    (uint64_t) VkDeviceSize maxResourceSize;
};

Layout

struct VkImageFormatProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkImageFormatProperties) VkImageFormatProperties imageFormatProperties;
};

Layout

struct VkImageMemoryBarrier {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAccessFlags srcAccessMask;
    ((uint32_t) VkFlags) VkAccessFlags dstAccessMask;
    (int) VkImageLayout oldLayout;
    (int) VkImageLayout newLayout;
    uint32_t srcQueueFamilyIndex;
    uint32_t dstQueueFamilyIndex;
    (uint64_t) VkImage image;
    (struct VkImageSubresourceRange) VkImageSubresourceRange subresourceRange;
};

Layout

struct VkImageMemoryBarrier2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 srcStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 srcAccessMask;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 dstStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 dstAccessMask;
    (int) VkImageLayout oldLayout;
    (int) VkImageLayout newLayout;
    uint32_t srcQueueFamilyIndex;
    uint32_t dstQueueFamilyIndex;
    (uint64_t) VkImage image;
    (struct VkImageSubresourceRange) VkImageSubresourceRange subresourceRange;
};

Layout

struct VkImageMemoryRequirementsInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
};

Layout

struct VkImagePipeSurfaceCreateInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
    (int32_t) zx_handle_t imagePipeHandle;
};

Layout

struct VkImagePlaneMemoryRequirementsInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkImageAspectFlagBits planeAspect;
};

Layout

struct VkImageResolve {
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffset;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffset;
    (struct VkExtent3D) VkExtent3D extent;
};
A buffer of VkImageResolve.

Layout

struct VkImageResolve2 {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers srcSubresource;
    (struct VkOffset3D) VkOffset3D srcOffset;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers dstSubresource;
    (struct VkOffset3D) VkOffset3D dstOffset;
    (struct VkExtent3D) VkExtent3D extent;
};
A buffer of VkImageResolve2.

Layout

struct VkImageSparseMemoryRequirementsInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
};

Layout

struct VkImageStencilUsageCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageUsageFlags stencilUsage;
};

Layout

struct VkImageSubresource {
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
    uint32_t mipLevel;
    uint32_t arrayLayer;
};
A buffer of VkImageSubresource.

Layout

struct VkImageSubresource2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkImageSubresource) VkImageSubresource imageSubresource;
};
A buffer of VkImageSubresource2.

Layout

struct VkImageSubresourceLayers {
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
    uint32_t mipLevel;
    uint32_t baseArrayLayer;
    uint32_t layerCount;
};

Layout

struct VkImageSubresourceRange {
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
    uint32_t baseMipLevel;
    uint32_t levelCount;
    uint32_t baseArrayLayer;
    uint32_t layerCount;
};

Layout

struct VkImageSwapchainCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSwapchainKHR swapchain;
};

Layout

struct VkImageToMemoryCopy {
    (int) VkStructureType sType;
    const void* pNext;
    void* pHostPointer;
    uint32_t memoryRowLength;
    uint32_t memoryImageHeight;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers imageSubresource;
    (struct VkOffset3D) VkOffset3D imageOffset;
    (struct VkExtent3D) VkExtent3D imageExtent;
};
A buffer of VkImageToMemoryCopy.

Layout

struct VkImageViewAddressPropertiesNVX {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceAddress deviceAddress;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkImageViewASTCDecodeModeEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat decodeMode;
};

Layout

struct VkImageViewCaptureDescriptorDataInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView imageView;
};

Layout

struct VkImageViewCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageViewCreateFlags flags;
    (uint64_t) VkImage image;
    (int) VkImageViewType viewType;
    (int) VkFormat format;
    (struct VkComponentMapping) VkComponentMapping components;
    (struct VkImageSubresourceRange) VkImageSubresourceRange subresourceRange;
};

Layout

struct VkImageViewHandleInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView imageView;
    (int) VkDescriptorType descriptorType;
    (uint64_t) VkSampler sampler;
};

Layout

struct VkImageViewMinLodCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    float minLod;
};

Layout

struct VkImageViewSampleWeightCreateInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkOffset2D) VkOffset2D filterCenter;
    (struct VkExtent2D) VkExtent2D filterSize;
    uint32_t numPhases;
};

Layout

struct VkImageViewSlicedCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t sliceOffset;
    uint32_t sliceCount;
};

Layout

struct VkImageViewUsageCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageUsageFlags usage;
};
 
 
 

Layout

struct VkImportAndroidHardwareBufferInfoANDROID {
    (int) VkStructureType sType;
    const void* pNext;
    struct AHardwareBuffer * buffer;
};

Layout

struct VkImportFenceFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    ((uint32_t) VkFlags) VkFenceImportFlags flags;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
    int fd;
};

Layout

struct VkImportFenceSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
    void* handle;
};

Layout

struct VkImportFenceWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkFence fence;
    ((uint32_t) VkFlags) VkFenceImportFlags flags;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
    (void*) HANDLE handle;
    (const wchar_t*) LPCWSTR name;
};

Layout

struct VkImportMemoryBufferCollectionFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkBufferCollectionFUCHSIA collection;
    uint32_t index;
};

Layout

struct VkImportMemoryFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    int fd;
};

Layout

struct VkImportMemoryHostPointerInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    void* pHostPointer;
};

Layout

struct VkImportMemoryMetalHandleInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    void* handle;
};

Layout

struct VkImportMemorySciBufInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    (struct NvSciBufObjRefRec *) NvSciBufObj handle;
};

Layout

struct VkImportMemoryWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    (void*) HANDLE handle;
    (const wchar_t*) LPCWSTR name;
};

Layout

struct VkImportMemoryWin32HandleInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkExternalMemoryHandleTypeFlagsNV handleType;
    (void*) HANDLE handle;
};

Layout

struct VkImportMemoryZirconHandleInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
    (int32_t) zx_handle_t handle;
};

Layout

struct VkImportMetalBufferInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (void*) MTLBuffer_id mtlBuffer;
};

Layout

struct VkImportMetalIOSurfaceInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (struct __IOSurface *) IOSurfaceRef ioSurface;
};

Layout

struct VkImportMetalSharedEventInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (void*) MTLSharedEvent_id mtlSharedEvent;
};

Layout

struct VkImportMetalTextureInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkImageAspectFlagBits plane;
    (void*) MTLTexture_id mtlTexture;
};

Layout

struct VkImportScreenBufferInfoQNX {
    (int) VkStructureType sType;
    const void* pNext;
    struct _screen_buffer * buffer;
};

Layout

struct VkImportSemaphoreFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    ((uint32_t) VkFlags) VkSemaphoreImportFlags flags;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
    int fd;
};

Layout

struct VkImportSemaphoreSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
    void* handle;
};

Layout

struct VkImportSemaphoreWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    ((uint32_t) VkFlags) VkSemaphoreImportFlags flags;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
    (void*) HANDLE handle;
    (const wchar_t*) LPCWSTR name;
};

Layout

struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    ((uint32_t) VkFlags) VkSemaphoreImportFlags flags;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
    (int32_t) zx_handle_t zirconHandle;
};

Layout

struct VkIndirectCommandsExecutionSetTokenEXT {
    (int) VkIndirectExecutionSetInfoTypeEXT type;
    ((uint32_t) VkFlags) VkShaderStageFlags shaderStages;
};

Layout

struct VkIndirectCommandsIndexBufferTokenEXT {
    (int) VkIndirectCommandsInputModeFlagBitsEXT mode;
};

Layout

struct VkIndirectCommandsLayoutCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkIndirectCommandsLayoutUsageFlagsEXT flags;
    ((uint32_t) VkFlags) VkShaderStageFlags shaderStages;
    uint32_t indirectStride;
    (uint64_t) VkPipelineLayout pipelineLayout;
    uint32_t tokenCount;
    const VkIndirectCommandsLayoutTokenEXT* pTokens;
};

Layout

struct VkIndirectCommandsLayoutCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkIndirectCommandsLayoutUsageFlagsNV flags;
    (int) VkPipelineBindPoint pipelineBindPoint;
    uint32_t tokenCount;
    const VkIndirectCommandsLayoutTokenNV* pTokens;
    uint32_t streamCount;
    const uint32_t* pStreamStrides;
};

Layout

struct VkIndirectCommandsLayoutTokenEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkIndirectCommandsTokenTypeEXT type;
    (union VkIndirectCommandsTokenDataEXT) VkIndirectCommandsTokenDataEXT data;
    uint32_t offset;
};

Layout

struct VkIndirectCommandsLayoutTokenNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkIndirectCommandsTokenTypeNV tokenType;
    uint32_t stream;
    uint32_t offset;
    uint32_t vertexBindingUnit;
    (uint32_t) VkBool32 vertexDynamicStride;
    (uint64_t) VkPipelineLayout pushconstantPipelineLayout;
    ((uint32_t) VkFlags) VkShaderStageFlags pushconstantShaderStageFlags;
    uint32_t pushconstantOffset;
    uint32_t pushconstantSize;
    ((uint32_t) VkFlags) VkIndirectStateFlagsNV indirectStateFlags;
    uint32_t indexTypeCount;
    const VkIndexType* pIndexTypes;
    const uint32_t* pIndexTypeValues;
};

Layout

struct VkIndirectCommandsPushConstantTokenEXT {
    (struct VkPushConstantRange) VkPushConstantRange updateRange;
};

Layout

struct VkIndirectCommandsStreamNV {
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
};

Layout

union VkIndirectCommandsTokenDataEXT {
    const VkIndirectCommandsPushConstantTokenEXT* pPushConstant;
    const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer;
    const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer;
    const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet;
};

Layout

struct VkIndirectCommandsVertexBufferTokenEXT {
    uint32_t vertexBindingUnit;
};

Layout

struct VkIndirectExecutionSetCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkIndirectExecutionSetInfoTypeEXT type;
    (union VkIndirectExecutionSetInfoEXT) VkIndirectExecutionSetInfoEXT info;
};

Layout

union VkIndirectExecutionSetInfoEXT {
    const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo;
    const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo;
};

Layout

struct VkIndirectExecutionSetPipelineInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkPipeline initialPipeline;
    uint32_t maxPipelineCount;
};

Layout

struct VkIndirectExecutionSetShaderInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t shaderCount;
    const VkShaderEXT* pInitialShaders;
    const VkIndirectExecutionSetShaderLayoutInfoEXT* pSetLayoutInfos;
    uint32_t maxShaderCount;
    uint32_t pushConstantRangeCount;
    const VkPushConstantRange* pPushConstantRanges;
};

Layout

struct VkIndirectExecutionSetShaderLayoutInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t setLayoutCount;
    const VkDescriptorSetLayout* pSetLayouts;
};

Layout

struct VkInitializePerformanceApiInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    void* pUserData;
};

Layout

struct VkInputAttachmentAspectReference {
    uint32_t subpass;
    uint32_t inputAttachmentIndex;
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
};
Wraps a Vulkan instance handle.

Layout

struct VkInstanceCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkInstanceCreateFlags flags;
    const VkApplicationInfo* pApplicationInfo;
    uint32_t enabledLayerCount;
    const char* const * ppEnabledLayerNames;
    uint32_t enabledExtensionCount;
    const char* const * ppEnabledExtensionNames;
};
 
 
 
typedef void (*VkInternalAllocationNotification)(void* pUserData, size_t size, (int) VkInternalAllocationType allocationType, (int) VkSystemAllocationScope allocationScope);
typedef void (*VkInternalFreeNotification)(void* pUserData, size_t size, (int) VkInternalAllocationType allocationType, (int) VkSystemAllocationScope allocationScope);

Layout

struct VkIOSSurfaceCreateInfoMVK {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkIOSSurfaceCreateFlagsMVK flags;
    const void* pView;
};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layout

struct VkLatencySleepInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore signalSemaphore;
    uint64_t value;
};

Layout

struct VkLatencySleepModeInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 lowLatencyMode;
    (uint32_t) VkBool32 lowLatencyBoost;
    uint32_t minimumIntervalUs;
};

Layout

struct VkLatencySubmissionPresentIdNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t presentID;
};

Layout

struct VkLatencySurfaceCapabilitiesNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t presentModeCount;
    VkPresentModeKHR* pPresentModes;
};

Layout

struct VkLatencyTimingsFrameReportNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t presentID;
    uint64_t inputSampleTimeUs;
    uint64_t simStartTimeUs;
    uint64_t simEndTimeUs;
    uint64_t renderSubmitStartTimeUs;
    uint64_t renderSubmitEndTimeUs;
    uint64_t presentStartTimeUs;
    uint64_t presentEndTimeUs;
    uint64_t driverStartTimeUs;
    uint64_t driverEndTimeUs;
    uint64_t osRenderQueueStartTimeUs;
    uint64_t osRenderQueueEndTimeUs;
    uint64_t gpuRenderStartTimeUs;
    uint64_t gpuRenderEndTimeUs;
};

Layout

struct VkLayerProperties {
    char layerName[256];
    uint32_t specVersion;
    uint32_t implementationVersion;
    char description[256];
};
A buffer of VkLayerProperties.

Layout

struct VkLayerSettingEXT {
    const char* pLayerName;
    const char* pSettingName;
    (int) VkLayerSettingTypeEXT type;
    uint32_t valueCount;
    const void* pValues;
};
A buffer of VkLayerSettingEXT.

Layout

struct VkLayerSettingsCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t settingCount;
    const VkLayerSettingEXT* pSettings;
};
The Vulkan loading function.
 

Layout

struct VkMacOSSurfaceCreateInfoMVK {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMacOSSurfaceCreateFlagsMVK flags;
    const void* pView;
};

Layout

struct VkMappedMemoryRange {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
};
A buffer of VkMappedMemoryRange.

Layout

struct VkMemoryAllocateFlagsInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMemoryAllocateFlags flags;
    uint32_t deviceMask;
};

Layout

struct VkMemoryAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize allocationSize;
    uint32_t memoryTypeIndex;
};

Layout

struct VkMemoryBarrier {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkAccessFlags srcAccessMask;
    ((uint32_t) VkFlags) VkAccessFlags dstAccessMask;
};
A buffer of VkMemoryBarrier.

Layout

struct VkMemoryBarrier2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 srcStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 srcAccessMask;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 dstStageMask;
    ((uint64_t) VkFlags64) VkAccessFlags2 dstAccessMask;
};
A buffer of VkMemoryBarrier2.

Layout

struct VkMemoryBarrierAccessFlags3KHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkAccessFlags3KHR srcAccessMask3;
    ((uint64_t) VkFlags64) VkAccessFlags3KHR dstAccessMask3;
};

Layout

struct VkMemoryDedicatedAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage image;
    (uint64_t) VkBuffer buffer;
};

Layout

struct VkMemoryDedicatedRequirements {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 prefersDedicatedAllocation;
    (uint32_t) VkBool32 requiresDedicatedAllocation;
};

Layout

struct VkMemoryFdPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
};

Layout

struct VkMemoryGetFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryGetMetalHandleInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryGetRemoteAddressInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryGetSciBufInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryGetWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryGetZirconHandleInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceMemory memory;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkMemoryHeap {
    (uint64_t) VkDeviceSize size;
    ((uint32_t) VkFlags) VkMemoryHeapFlags flags;
};
A buffer of VkMemoryHeap.

Layout

struct VkMemoryHostPointerPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryMapInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMemoryMapFlags flags;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
};
A buffer of VkMemoryMapInfo.

Layout

struct VkMemoryMapPlacedInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    void* pPlacedAddress;
};

Layout

struct VkMemoryMetalHandlePropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryOpaqueCaptureAddressAllocateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t opaqueCaptureAddress;
};

Layout

struct VkMemoryPriorityAllocateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    float priority;
};

Layout

struct VkMemoryRequirements {
    (uint64_t) VkDeviceSize size;
    (uint64_t) VkDeviceSize alignment;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryRequirements2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkMemoryRequirements) VkMemoryRequirements memoryRequirements;
};

Layout

struct VkMemorySciBufPropertiesNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryToImageCopy {
    (int) VkStructureType sType;
    const void* pNext;
    const void* pHostPointer;
    uint32_t memoryRowLength;
    uint32_t memoryImageHeight;
    (struct VkImageSubresourceLayers) VkImageSubresourceLayers imageSubresource;
    (struct VkOffset3D) VkOffset3D imageOffset;
    (struct VkExtent3D) VkExtent3D imageExtent;
};
A buffer of VkMemoryToImageCopy.

Layout

struct VkMemoryType {
    ((uint32_t) VkFlags) VkMemoryPropertyFlags propertyFlags;
    uint32_t heapIndex;
};
A buffer of VkMemoryType.

Layout

struct VkMemoryUnmapInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMemoryUnmapFlags flags;
    (uint64_t) VkDeviceMemory memory;
};
A buffer of VkMemoryUnmapInfo.

Layout

struct VkMemoryWin32HandlePropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
};

Layout

struct VkMemoryZirconHandlePropertiesFUCHSIA {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryTypeBits;
};
 

Layout

struct VkMetalSurfaceCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMetalSurfaceCreateFlagsEXT flags;
    const CAMetalLayer* pLayer;
};

Layout

struct VkMicromapBuildInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkMicromapTypeEXT type;
    ((uint32_t) VkFlags) VkBuildMicromapFlagsEXT flags;
    (int) VkBuildMicromapModeEXT mode;
    (uint64_t) VkMicromapEXT dstMicromap;
    uint32_t usageCountsCount;
    const VkMicromapUsageEXT* pUsageCounts;
    const VkMicromapUsageEXT* const * ppUsageCounts;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR data;
    (union VkDeviceOrHostAddressKHR) VkDeviceOrHostAddressKHR scratchData;
    (union VkDeviceOrHostAddressConstKHR) VkDeviceOrHostAddressConstKHR triangleArray;
    (uint64_t) VkDeviceSize triangleArrayStride;
};

Layout

struct VkMicromapBuildSizesInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize micromapSize;
    (uint64_t) VkDeviceSize buildScratchSize;
    (uint32_t) VkBool32 discardable;
};

Layout

struct VkMicromapCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkMicromapCreateFlagsEXT createFlags;
    (uint64_t) VkBuffer buffer;
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
    (int) VkMicromapTypeEXT type;
    (uint64_t) VkDeviceAddress deviceAddress;
};

Layout

struct VkMicromapTriangleEXT {
    uint32_t dataOffset;
    uint16_t subdivisionLevel;
    uint16_t format;
};

Layout

struct VkMicromapUsageEXT {
    uint32_t count;
    uint32_t subdivisionLevel;
    uint32_t format;
};
A buffer of VkMicromapUsageEXT.

Layout

struct VkMicromapVersionInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    const uint8_t* pVersionData;
};
 

Layout

struct VkMultiDrawIndexedInfoEXT {
    uint32_t firstIndex;
    uint32_t indexCount;
    int32_t vertexOffset;
};

Layout

struct VkMultiDrawInfoEXT {
    uint32_t firstVertex;
    uint32_t vertexCount;
};
A buffer of VkMultiDrawInfoEXT.

Layout

struct VkMultisampledRenderToSingleSampledInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 multisampledRenderToSingleSampledEnable;
    (int) VkSampleCountFlagBits rasterizationSamples;
};

Layout

struct VkMultisamplePropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D maxSampleLocationGridSize;
};

Layout

struct VkMultiviewPerViewAttributesInfoNVX {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 perViewAttributes;
    (uint32_t) VkBool32 perViewAttributesPositionXOnly;
};

Layout

struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t perViewRenderAreaCount;
    const VkRect2D* pPerViewRenderAreas;
};

Layout

struct VkMutableDescriptorTypeCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t mutableDescriptorTypeListCount;
    const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists;
};

Layout

struct VkMutableDescriptorTypeListEXT {
    uint32_t descriptorTypeCount;
    const VkDescriptorType* pDescriptorTypes;
};
 
 
 
 

Layout

struct VkNativeBufferANDROID {
    (int) VkStructureType sType;
    const void* pNext;
    const void* handle;
    int stride;
    int format;
    int usage;
    (struct VkNativeBufferUsage2ANDROID) VkNativeBufferUsage2ANDROID usage2;
};

Layout

struct VkNativeBufferUsage2ANDROID {
    uint64_t consumer;
    uint64_t producer;
};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layout

struct VkOffset2D {
    int32_t x;
    int32_t y;
};
A buffer of VkOffset2D.

Layout

struct VkOffset3D {
    int32_t x;
    int32_t y;
    int32_t z;
};
A buffer of VkOffset3D.

Layout

struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    const void* opaqueCaptureDescriptorData;
};

Layout

struct VkOpticalFlowExecuteInfoNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkOpticalFlowExecuteFlagsNV flags;
    uint32_t regionCount;
    const VkRect2D* pRegions;
};

Layout

struct VkOpticalFlowImageFormatInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkOpticalFlowUsageFlagsNV usage;
};

Layout

struct VkOpticalFlowImageFormatPropertiesNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat format;
};

Layout

struct VkOpticalFlowSessionCreateInfoNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t width;
    uint32_t height;
    (int) VkFormat imageFormat;
    (int) VkFormat flowVectorFormat;
    (int) VkFormat costFormat;
    ((uint32_t) VkFlags) VkOpticalFlowGridSizeFlagsNV outputGridSize;
    ((uint32_t) VkFlags) VkOpticalFlowGridSizeFlagsNV hintGridSize;
    (int) VkOpticalFlowPerformanceLevelNV performanceLevel;
    ((uint32_t) VkFlags) VkOpticalFlowSessionCreateFlagsNV flags;
};

Layout

struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t id;
    uint32_t size;
    const void* pPrivateData;
};

Layout

struct VkOutOfBandQueueTypeInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkOutOfBandQueueTypeNV queueType;
};

Layout

struct VkPastPresentationTimingGOOGLE {
    uint32_t presentID;
    uint64_t desiredPresentTime;
    uint64_t actualPresentTime;
    uint64_t earliestPresentTime;
    uint64_t presentMargin;
};

Layout

struct VkPerformanceConfigurationAcquireInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPerformanceConfigurationTypeINTEL type;
};

Layout

struct VkPerformanceCounterDescriptionKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkPerformanceCounterDescriptionFlagsKHR flags;
    char name[256];
    char category[256];
    char description[256];
};

Layout

struct VkPerformanceCounterKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkPerformanceCounterUnitKHR unit;
    (int) VkPerformanceCounterScopeKHR scope;
    (int) VkPerformanceCounterStorageKHR storage;
    uint8_t uuid[16];
};

Layout

union VkPerformanceCounterResultKHR {
    int32_t int32;
    int64_t int64;
    uint32_t uint32;
    uint64_t uint64;
    float float32;
    double float64;
};

Layout

struct VkPerformanceMarkerInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t marker;
};

Layout

struct VkPerformanceOverrideInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPerformanceOverrideTypeINTEL type;
    (uint32_t) VkBool32 enable;
    uint64_t parameter;
};

Layout

struct VkPerformanceQueryReservationInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxPerformanceQueriesPerPool;
};

Layout

struct VkPerformanceQuerySubmitInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t counterPassIndex;
};

Layout

struct VkPerformanceStreamMarkerInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t marker;
};

Layout

union VkPerformanceValueDataINTEL {
    uint32_t value32;
    uint64_t value64;
    float valueFloat;
    (uint32_t) VkBool32 valueBool;
    const char* valueString;
};

Layout

struct VkPerformanceValueINTEL {
    (int) VkPerformanceValueTypeINTEL type;
    (union VkPerformanceValueDataINTEL) VkPerformanceValueDataINTEL data;
};
Wraps a Vulkan physical device handle.

Layout

struct VkPhysicalDevice16BitStorageFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 storageBuffer16BitAccess;
    (uint32_t) VkBool32 uniformAndStorageBuffer16BitAccess;
    (uint32_t) VkBool32 storagePushConstant16;
    (uint32_t) VkBool32 storageInputOutput16;
};

Layout

struct VkPhysicalDevice4444FormatsFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 formatA4R4G4B4;
    (uint32_t) VkBool32 formatA4B4G4R4;
};

Layout

struct VkPhysicalDevice8BitStorageFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 storageBuffer8BitAccess;
    (uint32_t) VkBool32 uniformAndStorageBuffer8BitAccess;
    (uint32_t) VkBool32 storagePushConstant8;
};

Layout

struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 accelerationStructure;
    (uint32_t) VkBool32 accelerationStructureCaptureReplay;
    (uint32_t) VkBool32 accelerationStructureIndirectBuild;
    (uint32_t) VkBool32 accelerationStructureHostCommands;
    (uint32_t) VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
};

Layout

struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t maxGeometryCount;
    uint64_t maxInstanceCount;
    uint64_t maxPrimitiveCount;
    uint32_t maxPerStageDescriptorAccelerationStructures;
    uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
    uint32_t maxDescriptorSetAccelerationStructures;
    uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
    uint32_t minAccelerationStructureScratchOffsetAlignment;
};

Layout

struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 reportAddressBinding;
};

Layout

struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 amigoProfiling;
};

Layout

struct VkPhysicalDeviceAntiLagFeaturesAMD {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 antiLag;
};

Layout

struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 decodeModeSharedExponent;
};

Layout

struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 attachmentFeedbackLoopDynamicState;
};

Layout

struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 attachmentFeedbackLoopLayout;
};

Layout

struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 advancedBlendCoherentOperations;
};

Layout

struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t advancedBlendMaxColorAttachments;
    (uint32_t) VkBool32 advancedBlendIndependentBlend;
    (uint32_t) VkBool32 advancedBlendNonPremultipliedSrcColor;
    (uint32_t) VkBool32 advancedBlendNonPremultipliedDstColor;
    (uint32_t) VkBool32 advancedBlendCorrelatedOverlap;
    (uint32_t) VkBool32 advancedBlendAllOperations;
};

Layout

struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 borderColorSwizzle;
    (uint32_t) VkBool32 borderColorSwizzleFromImage;
};

Layout

struct VkPhysicalDeviceBufferDeviceAddressFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 bufferDeviceAddress;
    (uint32_t) VkBool32 bufferDeviceAddressCaptureReplay;
    (uint32_t) VkBool32 bufferDeviceAddressMultiDevice;
};

Layout

struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 bufferDeviceAddress;
    (uint32_t) VkBool32 bufferDeviceAddressCaptureReplay;
    (uint32_t) VkBool32 bufferDeviceAddressMultiDevice;
};

Layout

struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 clustercullingShader;
    (uint32_t) VkBool32 multiviewClusterCullingShader;
};

Layout

struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxWorkGroupCount[3];
    uint32_t maxWorkGroupSize[3];
    uint32_t maxOutputClusterCount;
    (uint64_t) VkDeviceSize indirectBufferOffsetAlignment;
};

Layout

struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 clusterShadingRate;
};

Layout

struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceCoherentMemory;
};

Layout

struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 colorWriteEnable;
};

Layout

struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 commandBufferInheritance;
};

Layout

struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 computeDerivativeGroupQuads;
    (uint32_t) VkBool32 computeDerivativeGroupLinear;
};

Layout

struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 meshAndTaskShaderDerivatives;
};

Layout

struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 conditionalRendering;
    (uint32_t) VkBool32 inheritedConditionalRendering;
};

Layout

struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    float primitiveOverestimationSize;
    float maxExtraPrimitiveOverestimationSize;
    float extraPrimitiveOverestimationSizeGranularity;
    (uint32_t) VkBool32 primitiveUnderestimation;
    (uint32_t) VkBool32 conservativePointAndLineRasterization;
    (uint32_t) VkBool32 degenerateTrianglesRasterized;
    (uint32_t) VkBool32 degenerateLinesRasterized;
    (uint32_t) VkBool32 fullyCoveredFragmentShaderInputVariable;
    (uint32_t) VkBool32 conservativeRasterizationPostDepthCoverage;
};

Layout

struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cooperativeMatrixWorkgroupScope;
    (uint32_t) VkBool32 cooperativeMatrixFlexibleDimensions;
    (uint32_t) VkBool32 cooperativeMatrixReductions;
    (uint32_t) VkBool32 cooperativeMatrixConversions;
    (uint32_t) VkBool32 cooperativeMatrixPerElementOperations;
    (uint32_t) VkBool32 cooperativeMatrixTensorAddressing;
    (uint32_t) VkBool32 cooperativeMatrixBlockLoads;
};

Layout

struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize;
    uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension;
    uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory;
};

Layout

struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cooperativeMatrix;
    (uint32_t) VkBool32 cooperativeMatrixRobustBufferAccess;
};

Layout

struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cooperativeMatrix;
    (uint32_t) VkBool32 cooperativeMatrixRobustBufferAccess;
};

Layout

struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags cooperativeMatrixSupportedStages;
};

Layout

struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags cooperativeMatrixSupportedStages;
};

Layout

struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 indirectCopy;
};

Layout

struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkQueueFlags supportedQueues;
};

Layout

struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cornerSampledImage;
};

Layout

struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 coverageReductionMode;
};

Layout

struct VkPhysicalDeviceCubicClampFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cubicRangeClamp;
};

Layout

struct VkPhysicalDeviceCubicWeightsFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 selectableCubicWeights;
};

Layout

struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 cudaKernelLaunchFeatures;
};

Layout

struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t computeCapabilityMinor;
    uint32_t computeCapabilityMajor;
};

Layout

struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 customBorderColors;
    (uint32_t) VkBool32 customBorderColorWithoutFormat;
};

Layout

struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxCustomBorderColorSamplers;
};

Layout

struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 dedicatedAllocationImageAliasing;
};

Layout

struct VkPhysicalDeviceDepthBiasControlFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 depthBiasControl;
    (uint32_t) VkBool32 leastRepresentableValueForceUnormRepresentation;
    (uint32_t) VkBool32 floatRepresentation;
    (uint32_t) VkBool32 depthBiasExact;
};

Layout

struct VkPhysicalDeviceDepthClampControlFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 depthClampControl;
};

Layout

struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 depthClampZeroOne;
};

Layout

struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 depthClipControl;
};

Layout

struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 depthClipEnable;
};

Layout

struct VkPhysicalDeviceDepthStencilResolveProperties {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkResolveModeFlags supportedDepthResolveModes;
    ((uint32_t) VkFlags) VkResolveModeFlags supportedStencilResolveModes;
    (uint32_t) VkBool32 independentResolveNone;
    (uint32_t) VkBool32 independentResolve;
};

Layout

struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    size_t combinedImageSamplerDensityMapDescriptorSize;
};

Layout

struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 descriptorBuffer;
    (uint32_t) VkBool32 descriptorBufferCaptureReplay;
    (uint32_t) VkBool32 descriptorBufferImageLayoutIgnored;
    (uint32_t) VkBool32 descriptorBufferPushDescriptors;
};

Layout

struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 combinedImageSamplerDescriptorSingleArray;
    (uint32_t) VkBool32 bufferlessPushDescriptors;
    (uint32_t) VkBool32 allowSamplerImageViewPostSubmitCreation;
    (uint64_t) VkDeviceSize descriptorBufferOffsetAlignment;
    uint32_t maxDescriptorBufferBindings;
    uint32_t maxResourceDescriptorBufferBindings;
    uint32_t maxSamplerDescriptorBufferBindings;
    uint32_t maxEmbeddedImmutableSamplerBindings;
    uint32_t maxEmbeddedImmutableSamplers;
    size_t bufferCaptureReplayDescriptorDataSize;
    size_t imageCaptureReplayDescriptorDataSize;
    size_t imageViewCaptureReplayDescriptorDataSize;
    size_t samplerCaptureReplayDescriptorDataSize;
    size_t accelerationStructureCaptureReplayDescriptorDataSize;
    size_t samplerDescriptorSize;
    size_t combinedImageSamplerDescriptorSize;
    size_t sampledImageDescriptorSize;
    size_t storageImageDescriptorSize;
    size_t uniformTexelBufferDescriptorSize;
    size_t robustUniformTexelBufferDescriptorSize;
    size_t storageTexelBufferDescriptorSize;
    size_t robustStorageTexelBufferDescriptorSize;
    size_t uniformBufferDescriptorSize;
    size_t robustUniformBufferDescriptorSize;
    size_t storageBufferDescriptorSize;
    size_t robustStorageBufferDescriptorSize;
    size_t inputAttachmentDescriptorSize;
    size_t accelerationStructureDescriptorSize;
    (uint64_t) VkDeviceSize maxSamplerDescriptorBufferRange;
    (uint64_t) VkDeviceSize maxResourceDescriptorBufferRange;
    (uint64_t) VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
    (uint64_t) VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
    (uint64_t) VkDeviceSize descriptorBufferAddressSpaceSize;
};

Layout

struct VkPhysicalDeviceDescriptorIndexingFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderInputAttachmentArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderUniformBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderSampledImageArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageImageArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingSampledImageUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageImageUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingUpdateUnusedWhilePending;
    (uint32_t) VkBool32 descriptorBindingPartiallyBound;
    (uint32_t) VkBool32 descriptorBindingVariableDescriptorCount;
    (uint32_t) VkBool32 runtimeDescriptorArray;
};

Layout

struct VkPhysicalDeviceDescriptorIndexingProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxUpdateAfterBindDescriptorsInAllPools;
    (uint32_t) VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 robustBufferAccessUpdateAfterBind;
    (uint32_t) VkBool32 quadDivergentImplicitLod;
    uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
    uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
    uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
    uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
    uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
    uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
    uint32_t maxPerStageUpdateAfterBindResources;
    uint32_t maxDescriptorSetUpdateAfterBindSamplers;
    uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
    uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
    uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
    uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
    uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
};

Layout

struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 descriptorPoolOverallocation;
};

Layout

struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 descriptorSetHostMapping;
};

Layout

struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceGeneratedCompute;
    (uint32_t) VkBool32 deviceGeneratedComputePipelines;
    (uint32_t) VkBool32 deviceGeneratedComputeCaptureReplay;
};

Layout

struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceGeneratedCommands;
    (uint32_t) VkBool32 dynamicGeneratedPipelineLayout;
};

Layout

struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceGeneratedCommands;
};

Layout

struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxIndirectPipelineCount;
    uint32_t maxIndirectShaderObjectCount;
    uint32_t maxIndirectSequenceCount;
    uint32_t maxIndirectCommandsTokenCount;
    uint32_t maxIndirectCommandsTokenOffset;
    uint32_t maxIndirectCommandsIndirectStride;
    ((uint32_t) VkFlags) VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes;
    ((uint32_t) VkFlags) VkShaderStageFlags supportedIndirectCommandsShaderStages;
    ((uint32_t) VkFlags) VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding;
    ((uint32_t) VkFlags) VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding;
    (uint32_t) VkBool32 deviceGeneratedCommandsTransformFeedback;
    (uint32_t) VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount;
};

Layout

struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxGraphicsShaderGroupCount;
    uint32_t maxIndirectSequenceCount;
    uint32_t maxIndirectCommandsTokenCount;
    uint32_t maxIndirectCommandsStreamCount;
    uint32_t maxIndirectCommandsTokenOffset;
    uint32_t maxIndirectCommandsStreamStride;
    uint32_t minSequencesCountBufferOffsetAlignment;
    uint32_t minSequencesIndexBufferOffsetAlignment;
    uint32_t minIndirectCommandsBufferOffsetAlignment;
};

Layout

struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceMemoryReport;
};

Layout

struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 diagnosticsConfig;
};

Layout

struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxDiscardRectangles;
};

Layout

struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 displacementMicromap;
};

Layout

struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxDisplacementMicromapSubdivisionLevel;
};

Layout

struct VkPhysicalDeviceDriverProperties {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkDriverId driverID;
    char driverName[256];
    char driverInfo[256];
    (struct VkConformanceVersion) VkConformanceVersion conformanceVersion;
};

Layout

struct VkPhysicalDeviceDrmPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hasPrimary;
    (uint32_t) VkBool32 hasRender;
    int64_t primaryMajor;
    int64_t primaryMinor;
    int64_t renderMajor;
    int64_t renderMinor;
};

Layout

struct VkPhysicalDeviceDynamicRenderingFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 dynamicRendering;
};

Layout

struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 dynamicRenderingLocalRead;
};

Layout

struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 dynamicRenderingUnusedAttachments;
};

Layout

struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 exclusiveScissor;
};

Layout

struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 extendedDynamicState2;
    (uint32_t) VkBool32 extendedDynamicState2LogicOp;
    (uint32_t) VkBool32 extendedDynamicState2PatchControlPoints;
};

Layout

struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 extendedDynamicState3TessellationDomainOrigin;
    (uint32_t) VkBool32 extendedDynamicState3DepthClampEnable;
    (uint32_t) VkBool32 extendedDynamicState3PolygonMode;
    (uint32_t) VkBool32 extendedDynamicState3RasterizationSamples;
    (uint32_t) VkBool32 extendedDynamicState3SampleMask;
    (uint32_t) VkBool32 extendedDynamicState3AlphaToCoverageEnable;
    (uint32_t) VkBool32 extendedDynamicState3AlphaToOneEnable;
    (uint32_t) VkBool32 extendedDynamicState3LogicOpEnable;
    (uint32_t) VkBool32 extendedDynamicState3ColorBlendEnable;
    (uint32_t) VkBool32 extendedDynamicState3ColorBlendEquation;
    (uint32_t) VkBool32 extendedDynamicState3ColorWriteMask;
    (uint32_t) VkBool32 extendedDynamicState3RasterizationStream;
    (uint32_t) VkBool32 extendedDynamicState3ConservativeRasterizationMode;
    (uint32_t) VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize;
    (uint32_t) VkBool32 extendedDynamicState3DepthClipEnable;
    (uint32_t) VkBool32 extendedDynamicState3SampleLocationsEnable;
    (uint32_t) VkBool32 extendedDynamicState3ColorBlendAdvanced;
    (uint32_t) VkBool32 extendedDynamicState3ProvokingVertexMode;
    (uint32_t) VkBool32 extendedDynamicState3LineRasterizationMode;
    (uint32_t) VkBool32 extendedDynamicState3LineStippleEnable;
    (uint32_t) VkBool32 extendedDynamicState3DepthClipNegativeOneToOne;
    (uint32_t) VkBool32 extendedDynamicState3ViewportWScalingEnable;
    (uint32_t) VkBool32 extendedDynamicState3ViewportSwizzle;
    (uint32_t) VkBool32 extendedDynamicState3CoverageToColorEnable;
    (uint32_t) VkBool32 extendedDynamicState3CoverageToColorLocation;
    (uint32_t) VkBool32 extendedDynamicState3CoverageModulationMode;
    (uint32_t) VkBool32 extendedDynamicState3CoverageModulationTableEnable;
    (uint32_t) VkBool32 extendedDynamicState3CoverageModulationTable;
    (uint32_t) VkBool32 extendedDynamicState3CoverageReductionMode;
    (uint32_t) VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable;
    (uint32_t) VkBool32 extendedDynamicState3ShadingRateImageEnable;
};

Layout

struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 dynamicPrimitiveTopologyUnrestricted;
};

Layout

struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 extendedDynamicState;
};

Layout

struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 extendedSparseAddressSpace;
};

Layout

struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize extendedSparseAddressSpaceSize;
    ((uint32_t) VkFlags) VkImageUsageFlags extendedSparseImageUsageFlags;
    ((uint32_t) VkFlags) VkBufferUsageFlags extendedSparseBufferUsageFlags;
};

Layout

struct VkPhysicalDeviceExternalBufferInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkBufferCreateFlags flags;
    ((uint32_t) VkFlags) VkBufferUsageFlags usage;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkPhysicalDeviceExternalFenceInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalFenceHandleTypeFlagBits handleType;
};

Layout

struct VkPhysicalDeviceExternalFormatResolveFeaturesANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 externalFormatResolve;
};

Layout

struct VkPhysicalDeviceExternalFormatResolvePropertiesANDROID {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 nullColorAttachmentWithExternalFormatResolve;
    (int) VkChromaLocation externalFormatResolveChromaOffsetX;
    (int) VkChromaLocation externalFormatResolveChromaOffsetY;
};

Layout

struct VkPhysicalDeviceExternalImageFormatInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalMemoryHandleTypeFlagBits handleType;
};

Layout

struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize minImportedHostPointerAlignment;
};

Layout

struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 externalMemoryRDMA;
};

Layout

struct VkPhysicalDeviceExternalMemorySciBufFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 sciBufImport;
    (uint32_t) VkBool32 sciBufExport;
};

Layout

struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 screenBufferImport;
};

Layout

struct VkPhysicalDeviceExternalSciSync2FeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 sciSyncFence;
    (uint32_t) VkBool32 sciSyncSemaphore2;
    (uint32_t) VkBool32 sciSyncImport;
    (uint32_t) VkBool32 sciSyncExport;
};

Layout

struct VkPhysicalDeviceExternalSciSyncFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 sciSyncFence;
    (uint32_t) VkBool32 sciSyncSemaphore;
    (uint32_t) VkBool32 sciSyncImport;
    (uint32_t) VkBool32 sciSyncExport;
};

Layout

struct VkPhysicalDeviceExternalSemaphoreInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
};

Layout

struct VkPhysicalDeviceFaultFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceFault;
    (uint32_t) VkBool32 deviceFaultVendorBinary;
};

Layout

struct VkPhysicalDeviceFeatures {
    (uint32_t) VkBool32 robustBufferAccess;
    (uint32_t) VkBool32 fullDrawIndexUint32;
    (uint32_t) VkBool32 imageCubeArray;
    (uint32_t) VkBool32 independentBlend;
    (uint32_t) VkBool32 geometryShader;
    (uint32_t) VkBool32 tessellationShader;
    (uint32_t) VkBool32 sampleRateShading;
    (uint32_t) VkBool32 dualSrcBlend;
    (uint32_t) VkBool32 logicOp;
    (uint32_t) VkBool32 multiDrawIndirect;
    (uint32_t) VkBool32 drawIndirectFirstInstance;
    (uint32_t) VkBool32 depthClamp;
    (uint32_t) VkBool32 depthBiasClamp;
    (uint32_t) VkBool32 fillModeNonSolid;
    (uint32_t) VkBool32 depthBounds;
    (uint32_t) VkBool32 wideLines;
    (uint32_t) VkBool32 largePoints;
    (uint32_t) VkBool32 alphaToOne;
    (uint32_t) VkBool32 multiViewport;
    (uint32_t) VkBool32 samplerAnisotropy;
    (uint32_t) VkBool32 textureCompressionETC2;
    (uint32_t) VkBool32 textureCompressionASTC_LDR;
    (uint32_t) VkBool32 textureCompressionBC;
    (uint32_t) VkBool32 occlusionQueryPrecise;
    (uint32_t) VkBool32 pipelineStatisticsQuery;
    (uint32_t) VkBool32 vertexPipelineStoresAndAtomics;
    (uint32_t) VkBool32 fragmentStoresAndAtomics;
    (uint32_t) VkBool32 shaderTessellationAndGeometryPointSize;
    (uint32_t) VkBool32 shaderImageGatherExtended;
    (uint32_t) VkBool32 shaderStorageImageExtendedFormats;
    (uint32_t) VkBool32 shaderStorageImageMultisample;
    (uint32_t) VkBool32 shaderStorageImageReadWithoutFormat;
    (uint32_t) VkBool32 shaderStorageImageWriteWithoutFormat;
    (uint32_t) VkBool32 shaderUniformBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderSampledImageArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderStorageBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderStorageImageArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderClipDistance;
    (uint32_t) VkBool32 shaderCullDistance;
    (uint32_t) VkBool32 shaderFloat64;
    (uint32_t) VkBool32 shaderInt64;
    (uint32_t) VkBool32 shaderInt16;
    (uint32_t) VkBool32 shaderResourceResidency;
    (uint32_t) VkBool32 shaderResourceMinLod;
    (uint32_t) VkBool32 sparseBinding;
    (uint32_t) VkBool32 sparseResidencyBuffer;
    (uint32_t) VkBool32 sparseResidencyImage2D;
    (uint32_t) VkBool32 sparseResidencyImage3D;
    (uint32_t) VkBool32 sparseResidency2Samples;
    (uint32_t) VkBool32 sparseResidency4Samples;
    (uint32_t) VkBool32 sparseResidency8Samples;
    (uint32_t) VkBool32 sparseResidency16Samples;
    (uint32_t) VkBool32 sparseResidencyAliased;
    (uint32_t) VkBool32 variableMultisampleRate;
    (uint32_t) VkBool32 inheritedQueries;
};

Layout

struct VkPhysicalDeviceFeatures2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkPhysicalDeviceFeatures) VkPhysicalDeviceFeatures features;
};

Layout

struct VkPhysicalDeviceFloatControlsProperties {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkShaderFloatControlsIndependence denormBehaviorIndependence;
    (int) VkShaderFloatControlsIndependence roundingModeIndependence;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat16;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat32;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat64;
    (uint32_t) VkBool32 shaderDenormPreserveFloat16;
    (uint32_t) VkBool32 shaderDenormPreserveFloat32;
    (uint32_t) VkBool32 shaderDenormPreserveFloat64;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat16;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat32;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat64;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat16;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat32;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat64;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat16;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat32;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat64;
};

Layout

struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentDensityMapDeferred;
};

Layout

struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 subsampledLoads;
    (uint32_t) VkBool32 subsampledCoarseReconstructionEarlyAccess;
    uint32_t maxSubsampledArrayLayers;
    uint32_t maxDescriptorSetSubsampledSamplers;
};

Layout

struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentDensityMap;
    (uint32_t) VkBool32 fragmentDensityMapDynamic;
    (uint32_t) VkBool32 fragmentDensityMapNonSubsampledImages;
};

Layout

struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentDensityMapOffset;
};

Layout

struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D fragmentDensityOffsetGranularity;
};

Layout

struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D minFragmentDensityTexelSize;
    (struct VkExtent2D) VkExtent2D maxFragmentDensityTexelSize;
    (uint32_t) VkBool32 fragmentDensityInvocations;
};

Layout

struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentShaderBarycentric;
};

Layout

struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
};

Layout

struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentShaderSampleInterlock;
    (uint32_t) VkBool32 fragmentShaderPixelInterlock;
    (uint32_t) VkBool32 fragmentShaderShadingRateInterlock;
};

Layout

struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fragmentShadingRateEnums;
    (uint32_t) VkBool32 supersampleFragmentShadingRates;
    (uint32_t) VkBool32 noInvocationFragmentShadingRates;
};

Layout

struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
};

Layout

struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineFragmentShadingRate;
    (uint32_t) VkBool32 primitiveFragmentShadingRate;
    (uint32_t) VkBool32 attachmentFragmentShadingRate;
};

Layout

struct VkPhysicalDeviceFragmentShadingRateKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkSampleCountFlags sampleCounts;
    (struct VkExtent2D) VkExtent2D fragmentSize;
};

Layout

struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D minFragmentShadingRateAttachmentTexelSize;
    (struct VkExtent2D) VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
    uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
    (uint32_t) VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
    (uint32_t) VkBool32 layeredShadingRateAttachments;
    (uint32_t) VkBool32 fragmentShadingRateNonTrivialCombinerOps;
    (struct VkExtent2D) VkExtent2D maxFragmentSize;
    uint32_t maxFragmentSizeAspectRatio;
    uint32_t maxFragmentShadingRateCoverageSamples;
    (int) VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
    (uint32_t) VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
    (uint32_t) VkBool32 fragmentShadingRateWithSampleMask;
    (uint32_t) VkBool32 fragmentShadingRateWithShaderSampleMask;
    (uint32_t) VkBool32 fragmentShadingRateWithConservativeRasterization;
    (uint32_t) VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
    (uint32_t) VkBool32 fragmentShadingRateWithCustomSampleLocations;
    (uint32_t) VkBool32 fragmentShadingRateStrictMultiplyCombiner;
};

Layout

struct VkPhysicalDeviceFrameBoundaryFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 frameBoundary;
};

Layout

struct VkPhysicalDeviceGlobalPriorityQueryFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 globalPriorityQuery;
};

Layout

struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 graphicsPipelineLibrary;
};

Layout

struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 graphicsPipelineLibraryFastLinking;
    (uint32_t) VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
};

Layout

struct VkPhysicalDeviceGroupProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t physicalDeviceCount;
    (struct VkPhysicalDevice*) VkPhysicalDevice physicalDevices[32];
    (uint32_t) VkBool32 subsetAllocation;
};

Layout

struct VkPhysicalDeviceHdrVividFeaturesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hdrVivid;
};

Layout

struct VkPhysicalDeviceHostImageCopyFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hostImageCopy;
};

Layout

struct VkPhysicalDeviceHostImageCopyProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t copySrcLayoutCount;
    VkImageLayout* pCopySrcLayouts;
    uint32_t copyDstLayoutCount;
    VkImageLayout* pCopyDstLayouts;
    uint8_t optimalTilingLayoutUUID[16];
    (uint32_t) VkBool32 identicalMemoryTypeRequirements;
};

Layout

struct VkPhysicalDeviceHostQueryResetFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hostQueryReset;
};

Layout

struct VkPhysicalDeviceIDProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint8_t deviceUUID[16];
    uint8_t driverUUID[16];
    uint8_t deviceLUID[8];
    uint32_t deviceNodeMask;
    (uint32_t) VkBool32 deviceLUIDValid;
};

Layout

struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 image2DViewOf3D;
    (uint32_t) VkBool32 sampler2DViewOf3D;
};

Layout

struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imageAlignmentControl;
};

Layout

struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t supportedImageAlignmentMask;
};

Layout

struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imageCompressionControl;
};

Layout

struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imageCompressionControlSwapchain;
};

Layout

struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t drmFormatModifier;
    (int) VkSharingMode sharingMode;
    uint32_t queueFamilyIndexCount;
    const uint32_t* pQueueFamilyIndices;
};

Layout

struct VkPhysicalDeviceImageFormatInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat format;
    (int) VkImageType type;
    (int) VkImageTiling tiling;
    ((uint32_t) VkFlags) VkImageUsageFlags usage;
    ((uint32_t) VkFlags) VkImageCreateFlags flags;
};

Layout

struct VkPhysicalDeviceImagelessFramebufferFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imagelessFramebuffer;
};

Layout

struct VkPhysicalDeviceImageProcessing2FeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 textureBlockMatch2;
};

Layout

struct VkPhysicalDeviceImageProcessing2PropertiesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D maxBlockMatchWindow;
};

Layout

struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 textureSampleWeighted;
    (uint32_t) VkBool32 textureBoxFilter;
    (uint32_t) VkBool32 textureBlockMatch;
};

Layout

struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxWeightFilterPhases;
    (struct VkExtent2D) VkExtent2D maxWeightFilterDimension;
    (struct VkExtent2D) VkExtent2D maxBlockMatchRegion;
    (struct VkExtent2D) VkExtent2D maxBoxFilterBlockSize;
};

Layout

struct VkPhysicalDeviceImageRobustnessFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 robustImageAccess;
};

Layout

struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imageSlicedViewOf3D;
};

Layout

struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkImageViewType imageViewType;
};

Layout

struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 minLod;
};

Layout

struct VkPhysicalDeviceIndexTypeUint8Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 indexTypeUint8;
};

Layout

struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 inheritedViewportScissor2D;
};

Layout

struct VkPhysicalDeviceInlineUniformBlockFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 inlineUniformBlock;
    (uint32_t) VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
};

Layout

struct VkPhysicalDeviceInlineUniformBlockProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxInlineUniformBlockSize;
    uint32_t maxPerStageDescriptorInlineUniformBlocks;
    uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
    uint32_t maxDescriptorSetInlineUniformBlocks;
    uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
};

Layout

struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 invocationMask;
};

Layout

struct VkPhysicalDeviceLayeredApiPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t vendorID;
    uint32_t deviceID;
    (int) VkPhysicalDeviceLayeredApiKHR layeredAPI;
    char deviceName[256];
};

Layout

struct VkPhysicalDeviceLayeredApiPropertiesListKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t layeredApiCount;
    VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis;
};

Layout

struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkPhysicalDeviceProperties2) VkPhysicalDeviceProperties2 properties;
};

Layout

struct VkPhysicalDeviceLayeredDriverPropertiesMSFT {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkLayeredDriverUnderlyingApiMSFT underlyingAPI;
};

Layout

struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 legacyDithering;
};

Layout

struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 legacyVertexAttributes;
};

Layout

struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 nativeUnalignedPerformance;
};

Layout

struct VkPhysicalDeviceLimits {
    uint32_t maxImageDimension1D;
    uint32_t maxImageDimension2D;
    uint32_t maxImageDimension3D;
    uint32_t maxImageDimensionCube;
    uint32_t maxImageArrayLayers;
    uint32_t maxTexelBufferElements;
    uint32_t maxUniformBufferRange;
    uint32_t maxStorageBufferRange;
    uint32_t maxPushConstantsSize;
    uint32_t maxMemoryAllocationCount;
    uint32_t maxSamplerAllocationCount;
    (uint64_t) VkDeviceSize bufferImageGranularity;
    (uint64_t) VkDeviceSize sparseAddressSpaceSize;
    uint32_t maxBoundDescriptorSets;
    uint32_t maxPerStageDescriptorSamplers;
    uint32_t maxPerStageDescriptorUniformBuffers;
    uint32_t maxPerStageDescriptorStorageBuffers;
    uint32_t maxPerStageDescriptorSampledImages;
    uint32_t maxPerStageDescriptorStorageImages;
    uint32_t maxPerStageDescriptorInputAttachments;
    uint32_t maxPerStageResources;
    uint32_t maxDescriptorSetSamplers;
    uint32_t maxDescriptorSetUniformBuffers;
    uint32_t maxDescriptorSetUniformBuffersDynamic;
    uint32_t maxDescriptorSetStorageBuffers;
    uint32_t maxDescriptorSetStorageBuffersDynamic;
    uint32_t maxDescriptorSetSampledImages;
    uint32_t maxDescriptorSetStorageImages;
    uint32_t maxDescriptorSetInputAttachments;
    uint32_t maxVertexInputAttributes;
    uint32_t maxVertexInputBindings;
    uint32_t maxVertexInputAttributeOffset;
    uint32_t maxVertexInputBindingStride;
    uint32_t maxVertexOutputComponents;
    uint32_t maxTessellationGenerationLevel;
    uint32_t maxTessellationPatchSize;
    uint32_t maxTessellationControlPerVertexInputComponents;
    uint32_t maxTessellationControlPerVertexOutputComponents;
    uint32_t maxTessellationControlPerPatchOutputComponents;
    uint32_t maxTessellationControlTotalOutputComponents;
    uint32_t maxTessellationEvaluationInputComponents;
    uint32_t maxTessellationEvaluationOutputComponents;
    uint32_t maxGeometryShaderInvocations;
    uint32_t maxGeometryInputComponents;
    uint32_t maxGeometryOutputComponents;
    uint32_t maxGeometryOutputVertices;
    uint32_t maxGeometryTotalOutputComponents;
    uint32_t maxFragmentInputComponents;
    uint32_t maxFragmentOutputAttachments;
    uint32_t maxFragmentDualSrcAttachments;
    uint32_t maxFragmentCombinedOutputResources;
    uint32_t maxComputeSharedMemorySize;
    uint32_t maxComputeWorkGroupCount[3];
    uint32_t maxComputeWorkGroupInvocations;
    uint32_t maxComputeWorkGroupSize[3];
    uint32_t subPixelPrecisionBits;
    uint32_t subTexelPrecisionBits;
    uint32_t mipmapPrecisionBits;
    uint32_t maxDrawIndexedIndexValue;
    uint32_t maxDrawIndirectCount;
    float maxSamplerLodBias;
    float maxSamplerAnisotropy;
    uint32_t maxViewports;
    uint32_t maxViewportDimensions[2];
    float viewportBoundsRange[2];
    uint32_t viewportSubPixelBits;
    size_t minMemoryMapAlignment;
    (uint64_t) VkDeviceSize minTexelBufferOffsetAlignment;
    (uint64_t) VkDeviceSize minUniformBufferOffsetAlignment;
    (uint64_t) VkDeviceSize minStorageBufferOffsetAlignment;
    int32_t minTexelOffset;
    uint32_t maxTexelOffset;
    int32_t minTexelGatherOffset;
    uint32_t maxTexelGatherOffset;
    float minInterpolationOffset;
    float maxInterpolationOffset;
    uint32_t subPixelInterpolationOffsetBits;
    uint32_t maxFramebufferWidth;
    uint32_t maxFramebufferHeight;
    uint32_t maxFramebufferLayers;
    ((uint32_t) VkFlags) VkSampleCountFlags framebufferColorSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags framebufferDepthSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags framebufferStencilSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
    uint32_t maxColorAttachments;
    ((uint32_t) VkFlags) VkSampleCountFlags sampledImageColorSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags sampledImageIntegerSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags sampledImageDepthSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags sampledImageStencilSampleCounts;
    ((uint32_t) VkFlags) VkSampleCountFlags storageImageSampleCounts;
    uint32_t maxSampleMaskWords;
    (uint32_t) VkBool32 timestampComputeAndGraphics;
    float timestampPeriod;
    uint32_t maxClipDistances;
    uint32_t maxCullDistances;
    uint32_t maxCombinedClipAndCullDistances;
    uint32_t discreteQueuePriorities;
    float pointSizeRange[2];
    float lineWidthRange[2];
    float pointSizeGranularity;
    float lineWidthGranularity;
    (uint32_t) VkBool32 strictLines;
    (uint32_t) VkBool32 standardSampleLocations;
    (uint64_t) VkDeviceSize optimalBufferCopyOffsetAlignment;
    (uint64_t) VkDeviceSize optimalBufferCopyRowPitchAlignment;
    (uint64_t) VkDeviceSize nonCoherentAtomSize;
};

Layout

struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 linearColorAttachment;
};

Layout

struct VkPhysicalDeviceLineRasterizationFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rectangularLines;
    (uint32_t) VkBool32 bresenhamLines;
    (uint32_t) VkBool32 smoothLines;
    (uint32_t) VkBool32 stippledRectangularLines;
    (uint32_t) VkBool32 stippledBresenhamLines;
    (uint32_t) VkBool32 stippledSmoothLines;
};

Layout

struct VkPhysicalDeviceLineRasterizationProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t lineSubPixelPrecisionBits;
};

Layout

struct VkPhysicalDeviceMaintenance3Properties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxPerSetDescriptors;
    (uint64_t) VkDeviceSize maxMemoryAllocationSize;
};

Layout

struct VkPhysicalDeviceMaintenance4Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 maintenance4;
};

Layout

struct VkPhysicalDeviceMaintenance4Properties {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize maxBufferSize;
};

Layout

struct VkPhysicalDeviceMaintenance5Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 maintenance5;
};

Layout

struct VkPhysicalDeviceMaintenance5Properties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
    (uint32_t) VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
    (uint32_t) VkBool32 depthStencilSwizzleOneSupport;
    (uint32_t) VkBool32 polygonModePointSize;
    (uint32_t) VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
    (uint32_t) VkBool32 nonStrictWideLinesUseParallelogram;
};

Layout

struct VkPhysicalDeviceMaintenance6Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 maintenance6;
};

Layout

struct VkPhysicalDeviceMaintenance6Properties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 blockTexelViewCompatibleMultipleLayers;
    uint32_t maxCombinedImageSamplerDescriptorCount;
    (uint32_t) VkBool32 fragmentShadingRateClampCombinerInputs;
};

Layout

struct VkPhysicalDeviceMaintenance7FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 maintenance7;
};

Layout

struct VkPhysicalDeviceMaintenance7PropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 robustFragmentShadingRateAttachmentAccess;
    (uint32_t) VkBool32 separateDepthStencilAttachmentAccess;
    uint32_t maxDescriptorSetTotalUniformBuffersDynamic;
    uint32_t maxDescriptorSetTotalStorageBuffersDynamic;
    uint32_t maxDescriptorSetTotalBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic;
};

Layout

struct VkPhysicalDeviceMaintenance8FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 maintenance8;
};

Layout

struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 memoryMapPlaced;
    (uint32_t) VkBool32 memoryMapRangePlaced;
    (uint32_t) VkBool32 memoryUnmapReserve;
};

Layout

struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize minPlacedMemoryMapAlignment;
};

Layout

struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize heapBudget[16];
    (uint64_t) VkDeviceSize heapUsage[16];
};

Layout

struct VkPhysicalDeviceMemoryDecompressionFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 memoryDecompression;
};

Layout

struct VkPhysicalDeviceMemoryDecompressionPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint64_t) VkFlags64) VkMemoryDecompressionMethodFlagsNV decompressionMethods;
    uint64_t maxDecompressionIndirectCount;
};

Layout

struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 memoryPriority;
};

Layout

struct VkPhysicalDeviceMemoryProperties {
    uint32_t memoryTypeCount;
    (struct VkMemoryType) VkMemoryType memoryTypes[32];
    uint32_t memoryHeapCount;
    (struct VkMemoryHeap) VkMemoryHeap memoryHeaps[16];
};

Layout

struct VkPhysicalDeviceMemoryProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkPhysicalDeviceMemoryProperties) VkPhysicalDeviceMemoryProperties memoryProperties;
};

Layout

struct VkPhysicalDeviceMeshShaderFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 taskShader;
    (uint32_t) VkBool32 meshShader;
    (uint32_t) VkBool32 multiviewMeshShader;
    (uint32_t) VkBool32 primitiveFragmentShadingRateMeshShader;
    (uint32_t) VkBool32 meshShaderQueries;
};

Layout

struct VkPhysicalDeviceMeshShaderFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 taskShader;
    (uint32_t) VkBool32 meshShader;
};

Layout

struct VkPhysicalDeviceMeshShaderPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxTaskWorkGroupTotalCount;
    uint32_t maxTaskWorkGroupCount[3];
    uint32_t maxTaskWorkGroupInvocations;
    uint32_t maxTaskWorkGroupSize[3];
    uint32_t maxTaskPayloadSize;
    uint32_t maxTaskSharedMemorySize;
    uint32_t maxTaskPayloadAndSharedMemorySize;
    uint32_t maxMeshWorkGroupTotalCount;
    uint32_t maxMeshWorkGroupCount[3];
    uint32_t maxMeshWorkGroupInvocations;
    uint32_t maxMeshWorkGroupSize[3];
    uint32_t maxMeshSharedMemorySize;
    uint32_t maxMeshPayloadAndSharedMemorySize;
    uint32_t maxMeshOutputMemorySize;
    uint32_t maxMeshPayloadAndOutputMemorySize;
    uint32_t maxMeshOutputComponents;
    uint32_t maxMeshOutputVertices;
    uint32_t maxMeshOutputPrimitives;
    uint32_t maxMeshOutputLayers;
    uint32_t maxMeshMultiviewViewCount;
    uint32_t meshOutputPerVertexGranularity;
    uint32_t meshOutputPerPrimitiveGranularity;
    uint32_t maxPreferredTaskWorkGroupInvocations;
    uint32_t maxPreferredMeshWorkGroupInvocations;
    (uint32_t) VkBool32 prefersLocalInvocationVertexOutput;
    (uint32_t) VkBool32 prefersLocalInvocationPrimitiveOutput;
    (uint32_t) VkBool32 prefersCompactVertexOutput;
    (uint32_t) VkBool32 prefersCompactPrimitiveOutput;
};

Layout

struct VkPhysicalDeviceMeshShaderPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxDrawMeshTasksCount;
    uint32_t maxTaskWorkGroupInvocations;
    uint32_t maxTaskWorkGroupSize[3];
    uint32_t maxTaskTotalMemorySize;
    uint32_t maxTaskOutputCount;
    uint32_t maxMeshWorkGroupInvocations;
    uint32_t maxMeshWorkGroupSize[3];
    uint32_t maxMeshTotalMemorySize;
    uint32_t maxMeshOutputVertices;
    uint32_t maxMeshOutputPrimitives;
    uint32_t maxMeshMultiviewViewCount;
    uint32_t meshOutputPerVertexGranularity;
    uint32_t meshOutputPerPrimitiveGranularity;
};

Layout

struct VkPhysicalDeviceMultiDrawFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 multiDraw;
};

Layout

struct VkPhysicalDeviceMultiDrawPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxMultiDrawCount;
};

Layout

struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 multisampledRenderToSingleSampled;
};

Layout

struct VkPhysicalDeviceMultiviewFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 multiview;
    (uint32_t) VkBool32 multiviewGeometryShader;
    (uint32_t) VkBool32 multiviewTessellationShader;
};

Layout

struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 perViewPositionAllComponents;
};

Layout

struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 multiviewPerViewRenderAreas;
};

Layout

struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 multiviewPerViewViewports;
};

Layout

struct VkPhysicalDeviceMultiviewProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxMultiviewViewCount;
    uint32_t maxMultiviewInstanceIndex;
};

Layout

struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 mutableDescriptorType;
};

Layout

struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 nestedCommandBuffer;
    (uint32_t) VkBool32 nestedCommandBufferRendering;
    (uint32_t) VkBool32 nestedCommandBufferSimultaneousUse;
};

Layout

struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxCommandBufferNestingLevel;
};

Layout

struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 nonSeamlessCubeMap;
};

Layout

struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 micromap;
    (uint32_t) VkBool32 micromapCaptureReplay;
    (uint32_t) VkBool32 micromapHostCommands;
};

Layout

struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxOpacity2StateSubdivisionLevel;
    uint32_t maxOpacity4StateSubdivisionLevel;
};

Layout

struct VkPhysicalDeviceOpticalFlowFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 opticalFlow;
};

Layout

struct VkPhysicalDeviceOpticalFlowPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes;
    ((uint32_t) VkFlags) VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes;
    (uint32_t) VkBool32 hintSupported;
    (uint32_t) VkBool32 costSupported;
    (uint32_t) VkBool32 bidirectionalFlowSupported;
    (uint32_t) VkBool32 globalFlowSupported;
    uint32_t minWidth;
    uint32_t minHeight;
    uint32_t maxWidth;
    uint32_t maxHeight;
    uint32_t maxNumRegionsOfInterest;
};

Layout

struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pageableDeviceLocalMemory;
};

Layout

struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t pciDomain;
    uint32_t pciBus;
    uint32_t pciDevice;
    uint32_t pciFunction;
};

Layout

struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 performanceCounterQueryPools;
    (uint32_t) VkBool32 performanceCounterMultipleQueryPools;
};

Layout

struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 allowCommandBufferQueryCopies;
};

Layout

struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 perStageDescriptorSet;
    (uint32_t) VkBool32 dynamicPipelineLayout;
};

Layout

struct VkPhysicalDevicePipelineBinaryFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineBinaries;
};

Layout

struct VkPhysicalDevicePipelineBinaryPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineBinaryInternalCache;
    (uint32_t) VkBool32 pipelineBinaryInternalCacheControl;
    (uint32_t) VkBool32 pipelineBinaryPrefersInternalCache;
    (uint32_t) VkBool32 pipelineBinaryPrecompiledInternalCache;
    (uint32_t) VkBool32 pipelineBinaryCompressedData;
};

Layout

struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineCreationCacheControl;
};

Layout

struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineExecutableInfo;
};

Layout

struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineLibraryGroupHandles;
};

Layout

struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineOpacityMicromap;
};

Layout

struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelinePropertiesIdentifier;
};

Layout

struct VkPhysicalDevicePipelineProtectedAccessFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineProtectedAccess;
};

Layout

struct VkPhysicalDevicePipelineRobustnessFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 pipelineRobustness;
};

Layout

struct VkPhysicalDevicePipelineRobustnessProperties {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
    (int) VkPipelineRobustnessImageBehavior defaultRobustnessImages;
};

Layout

struct VkPhysicalDevicePointClippingProperties {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkPointClippingBehavior pointClippingBehavior;
};

Layout

struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 constantAlphaColorBlendFactors;
    (uint32_t) VkBool32 events;
    (uint32_t) VkBool32 imageViewFormatReinterpretation;
    (uint32_t) VkBool32 imageViewFormatSwizzle;
    (uint32_t) VkBool32 imageView2DOn3DImage;
    (uint32_t) VkBool32 multisampleArrayImage;
    (uint32_t) VkBool32 mutableComparisonSamplers;
    (uint32_t) VkBool32 pointPolygons;
    (uint32_t) VkBool32 samplerMipLodBias;
    (uint32_t) VkBool32 separateStencilMaskRef;
    (uint32_t) VkBool32 shaderSampleRateInterpolationFunctions;
    (uint32_t) VkBool32 tessellationIsolines;
    (uint32_t) VkBool32 tessellationPointMode;
    (uint32_t) VkBool32 triangleFans;
    (uint32_t) VkBool32 vertexAttributeAccessBeyondStride;
};

Layout

struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t minVertexInputBindingStrideAlignment;
};

Layout

struct VkPhysicalDevicePresentationPropertiesANDROID {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 sharedImage;
};

Layout

struct VkPhysicalDevicePresentBarrierFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentBarrier;
};

Layout

struct VkPhysicalDevicePresentIdFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentId;
};

Layout

struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentModeFifoLatestReady;
};

Layout

struct VkPhysicalDevicePresentWaitFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentWait;
};

Layout

struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 primitivesGeneratedQuery;
    (uint32_t) VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
    (uint32_t) VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
};

Layout

struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 primitiveTopologyListRestart;
    (uint32_t) VkBool32 primitiveTopologyPatchListRestart;
};

Layout

struct VkPhysicalDevicePrivateDataFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 privateData;
};

Layout

struct VkPhysicalDeviceProperties {
    uint32_t apiVersion;
    uint32_t driverVersion;
    uint32_t vendorID;
    uint32_t deviceID;
    (int) VkPhysicalDeviceType deviceType;
    char deviceName[256];
    uint8_t pipelineCacheUUID[16];
    (struct VkPhysicalDeviceLimits) VkPhysicalDeviceLimits limits;
    (struct VkPhysicalDeviceSparseProperties) VkPhysicalDeviceSparseProperties sparseProperties;
};

Layout

struct VkPhysicalDeviceProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkPhysicalDeviceProperties) VkPhysicalDeviceProperties properties;
};

Layout

struct VkPhysicalDeviceProtectedMemoryFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 protectedMemory;
};

Layout

struct VkPhysicalDeviceProtectedMemoryProperties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 protectedNoFault;
};

Layout

struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 provokingVertexLast;
    (uint32_t) VkBool32 transformFeedbackPreservesProvokingVertex;
};

Layout

struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 provokingVertexModePerPipeline;
    (uint32_t) VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
};

Layout

struct VkPhysicalDevicePushDescriptorProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxPushDescriptors;
};

Layout

struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rasterizationOrderColorAttachmentAccess;
    (uint32_t) VkBool32 rasterizationOrderDepthAttachmentAccess;
    (uint32_t) VkBool32 rasterizationOrderStencilAttachmentAccess;
};

Layout

struct VkPhysicalDeviceRawAccessChainsFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderRawAccessChains;
};

Layout

struct VkPhysicalDeviceRayQueryFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayQuery;
};

Layout

struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingInvocationReorder;
};

Layout

struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint;
};

Layout

struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingMaintenance1;
    (uint32_t) VkBool32 rayTracingPipelineTraceRaysIndirect2;
};

Layout

struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingMotionBlur;
    (uint32_t) VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
};

Layout

struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingPipeline;
    (uint32_t) VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
    (uint32_t) VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
    (uint32_t) VkBool32 rayTracingPipelineTraceRaysIndirect;
    (uint32_t) VkBool32 rayTraversalPrimitiveCulling;
};

Layout

struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderGroupHandleSize;
    uint32_t maxRayRecursionDepth;
    uint32_t maxShaderGroupStride;
    uint32_t shaderGroupBaseAlignment;
    uint32_t shaderGroupHandleCaptureReplaySize;
    uint32_t maxRayDispatchInvocationCount;
    uint32_t shaderGroupHandleAlignment;
    uint32_t maxRayHitAttributeSize;
};

Layout

struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingPositionFetch;
};

Layout

struct VkPhysicalDeviceRayTracingPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderGroupHandleSize;
    uint32_t maxRecursionDepth;
    uint32_t maxShaderGroupStride;
    uint32_t shaderGroupBaseAlignment;
    uint64_t maxGeometryCount;
    uint64_t maxInstanceCount;
    uint64_t maxTriangleCount;
    uint32_t maxDescriptorSetAccelerationStructures;
};

Layout

struct VkPhysicalDeviceRayTracingValidationFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 rayTracingValidation;
};

Layout

struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 relaxedLineRasterization;
};

Layout

struct VkPhysicalDeviceRenderPassStripedFeaturesARM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 renderPassStriped;
};

Layout

struct VkPhysicalDeviceRenderPassStripedPropertiesARM {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D renderPassStripeGranularity;
    uint32_t maxRenderPassStripes;
};

Layout

struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 representativeFragmentTest;
};

Layout

struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 formatRgba10x6WithoutYCbCrSampler;
};

Layout

struct VkPhysicalDeviceRobustness2FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 robustBufferAccess2;
    (uint32_t) VkBool32 robustImageAccess2;
    (uint32_t) VkBool32 nullDescriptor;
};

Layout

struct VkPhysicalDeviceRobustness2PropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize robustStorageBufferAccessSizeAlignment;
    (uint64_t) VkDeviceSize robustUniformBufferAccessSizeAlignment;
};

Layout

struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkSampleCountFlags sampleLocationSampleCounts;
    (struct VkExtent2D) VkExtent2D maxSampleLocationGridSize;
    float sampleLocationCoordinateRange[2];
    uint32_t sampleLocationSubPixelBits;
    (uint32_t) VkBool32 variableSampleLocations;
};

Layout

struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 filterMinmaxSingleComponentFormats;
    (uint32_t) VkBool32 filterMinmaxImageComponentMapping;
};

Layout

struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 samplerYcbcrConversion;
};

Layout

struct VkPhysicalDeviceScalarBlockLayoutFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 scalarBlockLayout;
};

Layout

struct VkPhysicalDeviceSchedulingControlsFeaturesARM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 schedulingControls;
};

Layout

struct VkPhysicalDeviceSchedulingControlsPropertiesARM {
    (int) VkStructureType sType;
    void* pNext;
    ((uint64_t) VkFlags64) VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags;
};

Layout

struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 separateDepthStencilLayouts;
};

Layout

struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderFloat16VectorAtomics;
};

Layout

struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderBufferFloat16Atomics;
    (uint32_t) VkBool32 shaderBufferFloat16AtomicAdd;
    (uint32_t) VkBool32 shaderBufferFloat16AtomicMinMax;
    (uint32_t) VkBool32 shaderBufferFloat32AtomicMinMax;
    (uint32_t) VkBool32 shaderBufferFloat64AtomicMinMax;
    (uint32_t) VkBool32 shaderSharedFloat16Atomics;
    (uint32_t) VkBool32 shaderSharedFloat16AtomicAdd;
    (uint32_t) VkBool32 shaderSharedFloat16AtomicMinMax;
    (uint32_t) VkBool32 shaderSharedFloat32AtomicMinMax;
    (uint32_t) VkBool32 shaderSharedFloat64AtomicMinMax;
    (uint32_t) VkBool32 shaderImageFloat32AtomicMinMax;
    (uint32_t) VkBool32 sparseImageFloat32AtomicMinMax;
};

Layout

struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderBufferFloat32Atomics;
    (uint32_t) VkBool32 shaderBufferFloat32AtomicAdd;
    (uint32_t) VkBool32 shaderBufferFloat64Atomics;
    (uint32_t) VkBool32 shaderBufferFloat64AtomicAdd;
    (uint32_t) VkBool32 shaderSharedFloat32Atomics;
    (uint32_t) VkBool32 shaderSharedFloat32AtomicAdd;
    (uint32_t) VkBool32 shaderSharedFloat64Atomics;
    (uint32_t) VkBool32 shaderSharedFloat64AtomicAdd;
    (uint32_t) VkBool32 shaderImageFloat32Atomics;
    (uint32_t) VkBool32 shaderImageFloat32AtomicAdd;
    (uint32_t) VkBool32 sparseImageFloat32Atomics;
    (uint32_t) VkBool32 sparseImageFloat32AtomicAdd;
};

Layout

struct VkPhysicalDeviceShaderAtomicInt64Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderBufferInt64Atomics;
    (uint32_t) VkBool32 shaderSharedInt64Atomics;
};

Layout

struct VkPhysicalDeviceShaderClockFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderSubgroupClock;
    (uint32_t) VkBool32 shaderDeviceClock;
};

Layout

struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderCoreBuiltins;
};

Layout

struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t shaderCoreMask;
    uint32_t shaderCoreCount;
    uint32_t shaderWarpsPerCore;
};

Layout

struct VkPhysicalDeviceShaderCoreProperties2AMD {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
    uint32_t activeComputeUnitCount;
};

Layout

struct VkPhysicalDeviceShaderCorePropertiesAMD {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderEngineCount;
    uint32_t shaderArraysPerEngineCount;
    uint32_t computeUnitsPerShaderArray;
    uint32_t simdPerComputeUnit;
    uint32_t wavefrontsPerSimd;
    uint32_t wavefrontSize;
    uint32_t sgprsPerSimd;
    uint32_t minSgprAllocation;
    uint32_t maxSgprAllocation;
    uint32_t sgprAllocationGranularity;
    uint32_t vgprsPerSimd;
    uint32_t minVgprAllocation;
    uint32_t maxVgprAllocation;
    uint32_t vgprAllocationGranularity;
};

Layout

struct VkPhysicalDeviceShaderCorePropertiesARM {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t pixelRate;
    uint32_t texelRate;
    uint32_t fmaRate;
};

Layout

struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderDemoteToHelperInvocation;
};

Layout

struct VkPhysicalDeviceShaderDrawParametersFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderDrawParameters;
};

Layout

struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderEarlyAndLateFragmentTests;
};

Layout

struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderEnqueue;
    (uint32_t) VkBool32 shaderMeshEnqueue;
};

Layout

struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxExecutionGraphDepth;
    uint32_t maxExecutionGraphShaderOutputNodes;
    uint32_t maxExecutionGraphShaderPayloadSize;
    uint32_t maxExecutionGraphShaderPayloadCount;
    uint32_t executionGraphDispatchAddressAlignment;
    uint32_t maxExecutionGraphWorkgroupCount[3];
    uint32_t maxExecutionGraphWorkgroups;
};

Layout

struct VkPhysicalDeviceShaderExpectAssumeFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderExpectAssume;
};

Layout

struct VkPhysicalDeviceShaderFloat16Int8Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderFloat16;
    (uint32_t) VkBool32 shaderInt8;
};

Layout

struct VkPhysicalDeviceShaderFloatControls2Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderFloatControls2;
};

Layout

struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderImageInt64Atomics;
    (uint32_t) VkBool32 sparseImageInt64Atomics;
};

Layout

struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 imageFootprint;
};

Layout

struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderIntegerDotProduct;
};

Layout

struct VkPhysicalDeviceShaderIntegerDotProductProperties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 integerDotProduct8BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct8BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
};

Layout

struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderIntegerFunctions2;
};

Layout

struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderMaximalReconvergence;
};

Layout

struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderModuleIdentifier;
};

Layout

struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint8_t shaderModuleIdentifierAlgorithmUUID[16];
};

Layout

struct VkPhysicalDeviceShaderObjectFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderObject;
};

Layout

struct VkPhysicalDeviceShaderObjectPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint8_t shaderBinaryUUID[16];
    uint32_t shaderBinaryVersion;
};

Layout

struct VkPhysicalDeviceShaderQuadControlFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderQuadControl;
};

Layout

struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderRelaxedExtendedInstruction;
};

Layout

struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderReplicatedComposites;
};

Layout

struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderSMBuiltins;
};

Layout

struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t shaderSMCount;
    uint32_t shaderWarpsPerSM;
};

Layout

struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderSubgroupExtendedTypes;
};

Layout

struct VkPhysicalDeviceShaderSubgroupRotateFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderSubgroupRotate;
    (uint32_t) VkBool32 shaderSubgroupRotateClustered;
};

Layout

struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderSubgroupUniformControlFlow;
};

Layout

struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderTerminateInvocation;
};

Layout

struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderTileImageColorReadAccess;
    (uint32_t) VkBool32 shaderTileImageDepthReadAccess;
    (uint32_t) VkBool32 shaderTileImageStencilReadAccess;
};

Layout

struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderTileImageCoherentReadAccelerated;
    (uint32_t) VkBool32 shaderTileImageReadSampleFromPixelRateInvocation;
    (uint32_t) VkBool32 shaderTileImageReadFromHelperInvocation;
};

Layout

struct VkPhysicalDeviceShadingRateImageFeaturesNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shadingRateImage;
    (uint32_t) VkBool32 shadingRateCoarseSampleOrder;
};

Layout

struct VkPhysicalDeviceShadingRateImagePropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D shadingRateTexelSize;
    uint32_t shadingRatePaletteSize;
    uint32_t shadingRateMaxCoarseSamples;
};

Layout

struct VkPhysicalDeviceSparseImageFormatInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat format;
    (int) VkImageType type;
    (int) VkSampleCountFlagBits samples;
    ((uint32_t) VkFlags) VkImageUsageFlags usage;
    (int) VkImageTiling tiling;
};

Layout

struct VkPhysicalDeviceSparseProperties {
    (uint32_t) VkBool32 residencyStandard2DBlockShape;
    (uint32_t) VkBool32 residencyStandard2DMultisampleBlockShape;
    (uint32_t) VkBool32 residencyStandard3DBlockShape;
    (uint32_t) VkBool32 residencyAlignedMipSize;
    (uint32_t) VkBool32 residencyNonResidentStrict;
};

Layout

struct VkPhysicalDeviceSubgroupProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t subgroupSize;
    ((uint32_t) VkFlags) VkShaderStageFlags supportedStages;
    ((uint32_t) VkFlags) VkSubgroupFeatureFlags supportedOperations;
    (uint32_t) VkBool32 quadOperationsInAllStages;
};

Layout

struct VkPhysicalDeviceSubgroupSizeControlFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 subgroupSizeControl;
    (uint32_t) VkBool32 computeFullSubgroups;
};

Layout

struct VkPhysicalDeviceSubgroupSizeControlProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t minSubgroupSize;
    uint32_t maxSubgroupSize;
    uint32_t maxComputeWorkgroupSubgroups;
    ((uint32_t) VkFlags) VkShaderStageFlags requiredSubgroupSizeStages;
};

Layout

struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 subpassMergeFeedback;
};

Layout

struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 subpassShading;
};

Layout

struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
};

Layout

struct VkPhysicalDeviceSurfaceInfo2KHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSurfaceKHR surface;
};

Layout

struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 swapchainMaintenance1;
};

Layout

struct VkPhysicalDeviceSynchronization2Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 synchronization2;
};

Layout

struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 texelBufferAlignment;
};

Layout

struct VkPhysicalDeviceTexelBufferAlignmentProperties {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
    (uint32_t) VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
    (uint64_t) VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
    (uint32_t) VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
};

Layout

struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 textureCompressionASTC_HDR;
};

Layout

struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 tileProperties;
};

Layout

struct VkPhysicalDeviceTimelineSemaphoreFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 timelineSemaphore;
};

Layout

struct VkPhysicalDeviceTimelineSemaphoreProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint64_t maxTimelineSemaphoreValueDifference;
};

Layout

struct VkPhysicalDeviceToolProperties {
    (int) VkStructureType sType;
    void* pNext;
    char name[256];
    char version[256];
    ((uint32_t) VkFlags) VkToolPurposeFlags purposes;
    char description[256];
    char layer[256];
};

Layout

struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 transformFeedback;
    (uint32_t) VkBool32 geometryStreams;
};

Layout

struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxTransformFeedbackStreams;
    uint32_t maxTransformFeedbackBuffers;
    (uint64_t) VkDeviceSize maxTransformFeedbackBufferSize;
    uint32_t maxTransformFeedbackStreamDataSize;
    uint32_t maxTransformFeedbackBufferDataSize;
    uint32_t maxTransformFeedbackBufferDataStride;
    (uint32_t) VkBool32 transformFeedbackQueries;
    (uint32_t) VkBool32 transformFeedbackStreamsLinesTriangles;
    (uint32_t) VkBool32 transformFeedbackRasterizationStreamSelect;
    (uint32_t) VkBool32 transformFeedbackDraw;
};

Layout

struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 uniformBufferStandardLayout;
};

Layout

struct VkPhysicalDeviceVariablePointersFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 variablePointersStorageBuffer;
    (uint32_t) VkBool32 variablePointers;
};

Layout

struct VkPhysicalDeviceVertexAttributeDivisorFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 vertexAttributeInstanceRateDivisor;
    (uint32_t) VkBool32 vertexAttributeInstanceRateZeroDivisor;
};

Layout

struct VkPhysicalDeviceVertexAttributeDivisorProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxVertexAttribDivisor;
    (uint32_t) VkBool32 supportsNonZeroFirstInstance;
};

Layout

struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t maxVertexAttribDivisor;
};

Layout

struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 vertexAttributeRobustness;
};

Layout

struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 vertexInputDynamicState;
};

Layout

struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 videoEncodeAV1;
};

Layout

struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const VkVideoProfileInfoKHR* pVideoProfile;
    uint32_t qualityLevel;
};

Layout

struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 videoEncodeQuantizationMap;
};

Layout

struct VkPhysicalDeviceVideoFormatInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkImageUsageFlags imageUsage;
};

Layout

struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 videoMaintenance1;
};

Layout

struct VkPhysicalDeviceVideoMaintenance2FeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 videoMaintenance2;
};

Layout

struct VkPhysicalDeviceVulkan11Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 storageBuffer16BitAccess;
    (uint32_t) VkBool32 uniformAndStorageBuffer16BitAccess;
    (uint32_t) VkBool32 storagePushConstant16;
    (uint32_t) VkBool32 storageInputOutput16;
    (uint32_t) VkBool32 multiview;
    (uint32_t) VkBool32 multiviewGeometryShader;
    (uint32_t) VkBool32 multiviewTessellationShader;
    (uint32_t) VkBool32 variablePointersStorageBuffer;
    (uint32_t) VkBool32 variablePointers;
    (uint32_t) VkBool32 protectedMemory;
    (uint32_t) VkBool32 samplerYcbcrConversion;
    (uint32_t) VkBool32 shaderDrawParameters;
};

Layout

struct VkPhysicalDeviceVulkan11Properties {
    (int) VkStructureType sType;
    void* pNext;
    uint8_t deviceUUID[16];
    uint8_t driverUUID[16];
    uint8_t deviceLUID[8];
    uint32_t deviceNodeMask;
    (uint32_t) VkBool32 deviceLUIDValid;
    uint32_t subgroupSize;
    ((uint32_t) VkFlags) VkShaderStageFlags subgroupSupportedStages;
    ((uint32_t) VkFlags) VkSubgroupFeatureFlags subgroupSupportedOperations;
    (uint32_t) VkBool32 subgroupQuadOperationsInAllStages;
    (int) VkPointClippingBehavior pointClippingBehavior;
    uint32_t maxMultiviewViewCount;
    uint32_t maxMultiviewInstanceIndex;
    (uint32_t) VkBool32 protectedNoFault;
    uint32_t maxPerSetDescriptors;
    (uint64_t) VkDeviceSize maxMemoryAllocationSize;
};

Layout

struct VkPhysicalDeviceVulkan12Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 samplerMirrorClampToEdge;
    (uint32_t) VkBool32 drawIndirectCount;
    (uint32_t) VkBool32 storageBuffer8BitAccess;
    (uint32_t) VkBool32 uniformAndStorageBuffer8BitAccess;
    (uint32_t) VkBool32 storagePushConstant8;
    (uint32_t) VkBool32 shaderBufferInt64Atomics;
    (uint32_t) VkBool32 shaderSharedInt64Atomics;
    (uint32_t) VkBool32 shaderFloat16;
    (uint32_t) VkBool32 shaderInt8;
    (uint32_t) VkBool32 descriptorIndexing;
    (uint32_t) VkBool32 shaderInputAttachmentArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
    (uint32_t) VkBool32 shaderUniformBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderSampledImageArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageImageArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
    (uint32_t) VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingSampledImageUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageImageUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
    (uint32_t) VkBool32 descriptorBindingUpdateUnusedWhilePending;
    (uint32_t) VkBool32 descriptorBindingPartiallyBound;
    (uint32_t) VkBool32 descriptorBindingVariableDescriptorCount;
    (uint32_t) VkBool32 runtimeDescriptorArray;
    (uint32_t) VkBool32 samplerFilterMinmax;
    (uint32_t) VkBool32 scalarBlockLayout;
    (uint32_t) VkBool32 imagelessFramebuffer;
    (uint32_t) VkBool32 uniformBufferStandardLayout;
    (uint32_t) VkBool32 shaderSubgroupExtendedTypes;
    (uint32_t) VkBool32 separateDepthStencilLayouts;
    (uint32_t) VkBool32 hostQueryReset;
    (uint32_t) VkBool32 timelineSemaphore;
    (uint32_t) VkBool32 bufferDeviceAddress;
    (uint32_t) VkBool32 bufferDeviceAddressCaptureReplay;
    (uint32_t) VkBool32 bufferDeviceAddressMultiDevice;
    (uint32_t) VkBool32 vulkanMemoryModel;
    (uint32_t) VkBool32 vulkanMemoryModelDeviceScope;
    (uint32_t) VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
    (uint32_t) VkBool32 shaderOutputViewportIndex;
    (uint32_t) VkBool32 shaderOutputLayer;
    (uint32_t) VkBool32 subgroupBroadcastDynamicId;
};

Layout

struct VkPhysicalDeviceVulkan12Properties {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkDriverId driverID;
    char driverName[256];
    char driverInfo[256];
    (struct VkConformanceVersion) VkConformanceVersion conformanceVersion;
    (int) VkShaderFloatControlsIndependence denormBehaviorIndependence;
    (int) VkShaderFloatControlsIndependence roundingModeIndependence;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat16;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat32;
    (uint32_t) VkBool32 shaderSignedZeroInfNanPreserveFloat64;
    (uint32_t) VkBool32 shaderDenormPreserveFloat16;
    (uint32_t) VkBool32 shaderDenormPreserveFloat32;
    (uint32_t) VkBool32 shaderDenormPreserveFloat64;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat16;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat32;
    (uint32_t) VkBool32 shaderDenormFlushToZeroFloat64;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat16;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat32;
    (uint32_t) VkBool32 shaderRoundingModeRTEFloat64;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat16;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat32;
    (uint32_t) VkBool32 shaderRoundingModeRTZFloat64;
    uint32_t maxUpdateAfterBindDescriptorsInAllPools;
    (uint32_t) VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
    (uint32_t) VkBool32 robustBufferAccessUpdateAfterBind;
    (uint32_t) VkBool32 quadDivergentImplicitLod;
    uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
    uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
    uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
    uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
    uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
    uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
    uint32_t maxPerStageUpdateAfterBindResources;
    uint32_t maxDescriptorSetUpdateAfterBindSamplers;
    uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
    uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
    uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
    uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
    uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
    uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
    ((uint32_t) VkFlags) VkResolveModeFlags supportedDepthResolveModes;
    ((uint32_t) VkFlags) VkResolveModeFlags supportedStencilResolveModes;
    (uint32_t) VkBool32 independentResolveNone;
    (uint32_t) VkBool32 independentResolve;
    (uint32_t) VkBool32 filterMinmaxSingleComponentFormats;
    (uint32_t) VkBool32 filterMinmaxImageComponentMapping;
    uint64_t maxTimelineSemaphoreValueDifference;
    ((uint32_t) VkFlags) VkSampleCountFlags framebufferIntegerColorSampleCounts;
};

Layout

struct VkPhysicalDeviceVulkan13Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 robustImageAccess;
    (uint32_t) VkBool32 inlineUniformBlock;
    (uint32_t) VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
    (uint32_t) VkBool32 pipelineCreationCacheControl;
    (uint32_t) VkBool32 privateData;
    (uint32_t) VkBool32 shaderDemoteToHelperInvocation;
    (uint32_t) VkBool32 shaderTerminateInvocation;
    (uint32_t) VkBool32 subgroupSizeControl;
    (uint32_t) VkBool32 computeFullSubgroups;
    (uint32_t) VkBool32 synchronization2;
    (uint32_t) VkBool32 textureCompressionASTC_HDR;
    (uint32_t) VkBool32 shaderZeroInitializeWorkgroupMemory;
    (uint32_t) VkBool32 dynamicRendering;
    (uint32_t) VkBool32 shaderIntegerDotProduct;
    (uint32_t) VkBool32 maintenance4;
};

Layout

struct VkPhysicalDeviceVulkan13Properties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t minSubgroupSize;
    uint32_t maxSubgroupSize;
    uint32_t maxComputeWorkgroupSubgroups;
    ((uint32_t) VkFlags) VkShaderStageFlags requiredSubgroupSizeStages;
    uint32_t maxInlineUniformBlockSize;
    uint32_t maxPerStageDescriptorInlineUniformBlocks;
    uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
    uint32_t maxDescriptorSetInlineUniformBlocks;
    uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
    uint32_t maxInlineUniformTotalSize;
    (uint32_t) VkBool32 integerDotProduct8BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct8BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
    (uint32_t) VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
    (uint64_t) VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
    (uint32_t) VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
    (uint64_t) VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
    (uint32_t) VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
    (uint64_t) VkDeviceSize maxBufferSize;
};

Layout

struct VkPhysicalDeviceVulkan14Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 globalPriorityQuery;
    (uint32_t) VkBool32 shaderSubgroupRotate;
    (uint32_t) VkBool32 shaderSubgroupRotateClustered;
    (uint32_t) VkBool32 shaderFloatControls2;
    (uint32_t) VkBool32 shaderExpectAssume;
    (uint32_t) VkBool32 rectangularLines;
    (uint32_t) VkBool32 bresenhamLines;
    (uint32_t) VkBool32 smoothLines;
    (uint32_t) VkBool32 stippledRectangularLines;
    (uint32_t) VkBool32 stippledBresenhamLines;
    (uint32_t) VkBool32 stippledSmoothLines;
    (uint32_t) VkBool32 vertexAttributeInstanceRateDivisor;
    (uint32_t) VkBool32 vertexAttributeInstanceRateZeroDivisor;
    (uint32_t) VkBool32 indexTypeUint8;
    (uint32_t) VkBool32 dynamicRenderingLocalRead;
    (uint32_t) VkBool32 maintenance5;
    (uint32_t) VkBool32 maintenance6;
    (uint32_t) VkBool32 pipelineProtectedAccess;
    (uint32_t) VkBool32 pipelineRobustness;
    (uint32_t) VkBool32 hostImageCopy;
    (uint32_t) VkBool32 pushDescriptor;
};

Layout

struct VkPhysicalDeviceVulkan14Properties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t lineSubPixelPrecisionBits;
    uint32_t maxVertexAttribDivisor;
    (uint32_t) VkBool32 supportsNonZeroFirstInstance;
    uint32_t maxPushDescriptors;
    (uint32_t) VkBool32 dynamicRenderingLocalReadDepthStencilAttachments;
    (uint32_t) VkBool32 dynamicRenderingLocalReadMultisampledAttachments;
    (uint32_t) VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
    (uint32_t) VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
    (uint32_t) VkBool32 depthStencilSwizzleOneSupport;
    (uint32_t) VkBool32 polygonModePointSize;
    (uint32_t) VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
    (uint32_t) VkBool32 nonStrictWideLinesUseParallelogram;
    (uint32_t) VkBool32 blockTexelViewCompatibleMultipleLayers;
    uint32_t maxCombinedImageSamplerDescriptorCount;
    (uint32_t) VkBool32 fragmentShadingRateClampCombinerInputs;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
    (int) VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
    (int) VkPipelineRobustnessImageBehavior defaultRobustnessImages;
    uint32_t copySrcLayoutCount;
    VkImageLayout* pCopySrcLayouts;
    uint32_t copyDstLayoutCount;
    VkImageLayout* pCopyDstLayouts;
    uint8_t optimalTilingLayoutUUID[16];
    (uint32_t) VkBool32 identicalMemoryTypeRequirements;
};

Layout

struct VkPhysicalDeviceVulkanMemoryModelFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 vulkanMemoryModel;
    (uint32_t) VkBool32 vulkanMemoryModelDeviceScope;
    (uint32_t) VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
};

Layout

struct VkPhysicalDeviceVulkanSC10Features {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderAtomicInstructions;
};

Layout

struct VkPhysicalDeviceVulkanSC10Properties {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 deviceNoDynamicHostAllocations;
    (uint32_t) VkBool32 deviceDestroyFreesMemory;
    (uint32_t) VkBool32 commandPoolMultipleCommandBuffersRecording;
    (uint32_t) VkBool32 commandPoolResetCommandBuffer;
    (uint32_t) VkBool32 commandBufferSimultaneousUse;
    (uint32_t) VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer;
    (uint32_t) VkBool32 recycleDescriptorSetMemory;
    (uint32_t) VkBool32 recyclePipelineMemory;
    uint32_t maxRenderPassSubpasses;
    uint32_t maxRenderPassDependencies;
    uint32_t maxSubpassInputAttachments;
    uint32_t maxSubpassPreserveAttachments;
    uint32_t maxFramebufferAttachments;
    uint32_t maxDescriptorSetLayoutBindings;
    uint32_t maxQueryFaultCount;
    uint32_t maxCallbackFaultCount;
    uint32_t maxCommandPoolCommandBuffers;
    (uint64_t) VkDeviceSize maxCommandBufferSize;
};

Layout

struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 workgroupMemoryExplicitLayout;
    (uint32_t) VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
    (uint32_t) VkBool32 workgroupMemoryExplicitLayout8BitAccess;
    (uint32_t) VkBool32 workgroupMemoryExplicitLayout16BitAccess;
};

Layout

struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 ycbcr2plane444Formats;
};

Layout

struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 ycbcrDegamma;
};

Layout

struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 ycbcrImageArrays;
};

Layout

struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 shaderZeroInitializeWorkgroupMemory;
};

Layout

struct VkPipelineBinaryCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo;
    (uint64_t) VkPipeline pipeline;
    const VkPipelineCreateInfoKHR* pPipelineCreateInfo;
};

Layout

struct VkPipelineBinaryDataInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkPipelineBinaryKHR pipelineBinary;
};

Layout

struct VkPipelineBinaryDataKHR {
    size_t dataSize;
    void* pData;
};

Layout

struct VkPipelineBinaryHandlesInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t pipelineBinaryCount;
    VkPipelineBinaryKHR* pPipelineBinaries;
};

Layout

struct VkPipelineBinaryInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t binaryCount;
    const VkPipelineBinaryKHR* pPipelineBinaries;
};

Layout

struct VkPipelineBinaryKeyKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t keySize;
    uint8_t key[32];
};

Layout

struct VkPipelineBinaryKeysAndDataKHR {
    uint32_t binaryCount;
    const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys;
    const VkPipelineBinaryDataKHR* pPipelineBinaryData;
};

Layout

struct VkPipelineCacheCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCacheCreateFlags flags;
    size_t initialDataSize;
    const void* pInitialData;
};

Layout

struct VkPipelineCacheHeaderVersionOne {
    uint32_t headerSize;
    (int) VkPipelineCacheHeaderVersion headerVersion;
    uint32_t vendorID;
    uint32_t deviceID;
    uint8_t pipelineCacheUUID[16];
};

Layout

struct VkPipelineCacheHeaderVersionSafetyCriticalOne {
    (struct VkPipelineCacheHeaderVersionOne) VkPipelineCacheHeaderVersionOne headerVersionOne;
    (int) VkPipelineCacheValidationVersion validationVersion;
    uint32_t implementationData;
    uint32_t pipelineIndexCount;
    uint32_t pipelineIndexStride;
    uint64_t pipelineIndexOffset;
};

Layout

struct VkPipelineCacheSafetyCriticalIndexEntry {
    uint8_t pipelineIdentifier[16];
    uint64_t pipelineMemorySize;
    uint64_t jsonSize;
    uint64_t jsonOffset;
    uint32_t stageIndexCount;
    uint32_t stageIndexStride;
    uint64_t stageIndexOffset;
};

Layout

struct VkPipelineCacheStageValidationIndexEntry {
    uint64_t codeSize;
    uint64_t codeOffset;
};

Layout

struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 srcPremultiplied;
    (uint32_t) VkBool32 dstPremultiplied;
    (int) VkBlendOverlapEXT blendOverlap;
};

Layout

struct VkPipelineColorBlendAttachmentState {
    (uint32_t) VkBool32 blendEnable;
    (int) VkBlendFactor srcColorBlendFactor;
    (int) VkBlendFactor dstColorBlendFactor;
    (int) VkBlendOp colorBlendOp;
    (int) VkBlendFactor srcAlphaBlendFactor;
    (int) VkBlendFactor dstAlphaBlendFactor;
    (int) VkBlendOp alphaBlendOp;
    ((uint32_t) VkFlags) VkColorComponentFlags colorWriteMask;
};

Layout

struct VkPipelineColorBlendStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineColorBlendStateCreateFlags flags;
    (uint32_t) VkBool32 logicOpEnable;
    (int) VkLogicOp logicOp;
    uint32_t attachmentCount;
    const VkPipelineColorBlendAttachmentState* pAttachments;
    float blendConstants[4];
};

Layout

struct VkPipelineColorWriteCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t attachmentCount;
    const VkBool32* pColorWriteEnables;
};

Layout

struct VkPipelineCompilerControlCreateInfoAMD {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCompilerControlFlagsAMD compilerControlFlags;
};

Layout

struct VkPipelineCoverageModulationStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCoverageModulationStateCreateFlagsNV flags;
    (int) VkCoverageModulationModeNV coverageModulationMode;
    (uint32_t) VkBool32 coverageModulationTableEnable;
    uint32_t coverageModulationTableCount;
    const float* pCoverageModulationTable;
};

Layout

struct VkPipelineCoverageReductionStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCoverageReductionStateCreateFlagsNV flags;
    (int) VkCoverageReductionModeNV coverageReductionMode;
};

Layout

struct VkPipelineCoverageToColorStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCoverageToColorStateCreateFlagsNV flags;
    (uint32_t) VkBool32 coverageToColorEnable;
    uint32_t coverageToColorLocation;
};

Layout

struct VkPipelineCreateFlags2CreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint64_t) VkFlags64) VkPipelineCreateFlags2 flags;
};

Layout

struct VkPipelineCreateInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
};

Layout

struct VkPipelineCreationFeedback {
    ((uint32_t) VkFlags) VkPipelineCreationFeedbackFlags flags;
    uint64_t duration;
};

Layout

struct VkPipelineCreationFeedbackCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    VkPipelineCreationFeedback* pPipelineCreationFeedback;
    uint32_t pipelineStageCreationFeedbackCount;
    VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
};

Layout

struct VkPipelineDepthStencilStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineDepthStencilStateCreateFlags flags;
    (uint32_t) VkBool32 depthTestEnable;
    (uint32_t) VkBool32 depthWriteEnable;
    (int) VkCompareOp depthCompareOp;
    (uint32_t) VkBool32 depthBoundsTestEnable;
    (uint32_t) VkBool32 stencilTestEnable;
    (struct VkStencilOpState) VkStencilOpState front;
    (struct VkStencilOpState) VkStencilOpState back;
    float minDepthBounds;
    float maxDepthBounds;
};

Layout

struct VkPipelineDiscardRectangleStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
    (int) VkDiscardRectangleModeEXT discardRectangleMode;
    uint32_t discardRectangleCount;
    const VkRect2D* pDiscardRectangles;
};

Layout

struct VkPipelineDynamicStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineDynamicStateCreateFlags flags;
    uint32_t dynamicStateCount;
    const VkDynamicState* pDynamicStates;
};

Layout

struct VkPipelineExecutableInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkPipeline pipeline;
    uint32_t executableIndex;
};

Layout

struct VkPipelineExecutableInternalRepresentationKHR {
    (int) VkStructureType sType;
    void* pNext;
    char name[256];
    char description[256];
    (uint32_t) VkBool32 isText;
    size_t dataSize;
    void* pData;
};

Layout

struct VkPipelineExecutablePropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags stages;
    char name[256];
    char description[256];
    uint32_t subgroupSize;
};

Layout

struct VkPipelineExecutableStatisticKHR {
    (int) VkStructureType sType;
    void* pNext;
    char name[256];
    char description[256];
    (int) VkPipelineExecutableStatisticFormatKHR format;
    (union VkPipelineExecutableStatisticValueKHR) VkPipelineExecutableStatisticValueKHR value;
};

Layout

union VkPipelineExecutableStatisticValueKHR {
    (uint32_t) VkBool32 b32;
    int64_t i64;
    uint64_t u64;
    double f64;
};

Layout

struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFragmentShadingRateTypeNV shadingRateType;
    (int) VkFragmentShadingRateNV shadingRate;
    (int) VkFragmentShadingRateCombinerOpKHR combinerOps[2];
};

Layout

struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkExtent2D) VkExtent2D fragmentSize;
    (int) VkFragmentShadingRateCombinerOpKHR combinerOps[2];
};

Layout

struct VkPipelineIndirectDeviceAddressInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPipelineBindPoint pipelineBindPoint;
    (uint64_t) VkPipeline pipeline;
};

Layout

struct VkPipelineInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkPipeline pipeline;
};
A buffer of VkPipelineInfoKHR.

Layout

struct VkPipelineInputAssemblyStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineInputAssemblyStateCreateFlags flags;
    (int) VkPrimitiveTopology topology;
    (uint32_t) VkBool32 primitiveRestartEnable;
};

Layout

struct VkPipelineLayoutCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineLayoutCreateFlags flags;
    uint32_t setLayoutCount;
    const VkDescriptorSetLayout* pSetLayouts;
    uint32_t pushConstantRangeCount;
    const VkPushConstantRange* pPushConstantRanges;
};

Layout

struct VkPipelineLibraryCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t libraryCount;
    const VkPipeline* pLibraries;
};

Layout

struct VkPipelineMultisampleStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineMultisampleStateCreateFlags flags;
    (int) VkSampleCountFlagBits rasterizationSamples;
    (uint32_t) VkBool32 sampleShadingEnable;
    float minSampleShading;
    const VkSampleMask* pSampleMask;
    (uint32_t) VkBool32 alphaToCoverageEnable;
    (uint32_t) VkBool32 alphaToOneEnable;
};

Layout

struct VkPipelineOfflineCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint8_t pipelineIdentifier[16];
    (int) VkPipelineMatchControl matchControl;
    (uint64_t) VkDeviceSize poolEntrySize;
};

Layout

struct VkPipelinePoolSize {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDeviceSize poolEntrySize;
    uint32_t poolEntryCount;
};
A buffer of VkPipelinePoolSize.

Layout

struct VkPipelinePropertiesIdentifierEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint8_t pipelineIdentifier[16];
};

Layout

struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
    (int) VkConservativeRasterizationModeEXT conservativeRasterizationMode;
    float extraPrimitiveOverestimationSize;
};

Layout

struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
    (uint32_t) VkBool32 depthClipEnable;
};

Layout

struct VkPipelineRasterizationLineStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkLineRasterizationMode lineRasterizationMode;
    (uint32_t) VkBool32 stippledLineEnable;
    uint32_t lineStippleFactor;
    uint16_t lineStipplePattern;
};

Layout

struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkProvokingVertexModeEXT provokingVertexMode;
};

Layout

struct VkPipelineRasterizationStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineRasterizationStateCreateFlags flags;
    (uint32_t) VkBool32 depthClampEnable;
    (uint32_t) VkBool32 rasterizerDiscardEnable;
    (int) VkPolygonMode polygonMode;
    ((uint32_t) VkFlags) VkCullModeFlags cullMode;
    (int) VkFrontFace frontFace;
    (uint32_t) VkBool32 depthBiasEnable;
    float depthBiasConstantFactor;
    float depthBiasClamp;
    float depthBiasSlopeFactor;
    float lineWidth;
};

Layout

struct VkPipelineRasterizationStateRasterizationOrderAMD {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkRasterizationOrderAMD rasterizationOrder;
};

Layout

struct VkPipelineRasterizationStateStreamCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
    uint32_t rasterizationStream;
};

Layout

struct VkPipelineRenderingCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t viewMask;
    uint32_t colorAttachmentCount;
    const VkFormat* pColorAttachmentFormats;
    (int) VkFormat depthAttachmentFormat;
    (int) VkFormat stencilAttachmentFormat;
};

Layout

struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 representativeFragmentTestEnable;
};

Layout

struct VkPipelineRobustnessCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkPipelineRobustnessBufferBehavior storageBuffers;
    (int) VkPipelineRobustnessBufferBehavior uniformBuffers;
    (int) VkPipelineRobustnessBufferBehavior vertexInputs;
    (int) VkPipelineRobustnessImageBehavior images;
};

Layout

struct VkPipelineSampleLocationsStateCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 sampleLocationsEnable;
    (struct VkSampleLocationsInfoEXT) VkSampleLocationsInfoEXT sampleLocationsInfo;
};

Layout

struct VkPipelineShaderStageCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineShaderStageCreateFlags flags;
    (int) VkShaderStageFlagBits stage;
    (uint64_t) VkShaderModule module;
    const char* pName;
    const VkSpecializationInfo* pSpecializationInfo;
};

Layout

struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t identifierSize;
    const uint8_t* pIdentifier;
};

Layout

struct VkPipelineShaderStageNodeCreateInfoAMDX {
    (int) VkStructureType sType;
    const void* pNext;
    const char* pName;
    uint32_t index;
};

Layout

struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t requiredSubgroupSize;
};

Layout

struct VkPipelineTessellationDomainOriginStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkTessellationDomainOrigin domainOrigin;
};

Layout

struct VkPipelineTessellationStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineTessellationStateCreateFlags flags;
    uint32_t patchControlPoints;
};

Layout

struct VkPipelineVertexInputDivisorStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t vertexBindingDivisorCount;
    const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors;
};

Layout

struct VkPipelineVertexInputStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineVertexInputStateCreateFlags flags;
    uint32_t vertexBindingDescriptionCount;
    const VkVertexInputBindingDescription* pVertexBindingDescriptions;
    uint32_t vertexAttributeDescriptionCount;
    const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
};

Layout

struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkCoarseSampleOrderTypeNV sampleOrderType;
    uint32_t customSampleOrderCount;
    const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
};

Layout

struct VkPipelineViewportDepthClampControlCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkDepthClampModeEXT depthClampMode;
    const VkDepthClampRangeEXT* pDepthClampRange;
};

Layout

struct VkPipelineViewportDepthClipControlCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 negativeOneToOne;
};

Layout

struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t exclusiveScissorCount;
    const VkRect2D* pExclusiveScissors;
};

Layout

struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 shadingRateImageEnable;
    uint32_t viewportCount;
    const VkShadingRatePaletteNV* pShadingRatePalettes;
};

Layout

struct VkPipelineViewportStateCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineViewportStateCreateFlags flags;
    uint32_t viewportCount;
    const VkViewport* pViewports;
    uint32_t scissorCount;
    const VkRect2D* pScissors;
};

Layout

struct VkPipelineViewportSwizzleStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineViewportSwizzleStateCreateFlagsNV flags;
    uint32_t viewportCount;
    const VkViewportSwizzleNV* pViewportSwizzles;
};

Layout

struct VkPipelineViewportWScalingStateCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 viewportWScalingEnable;
    uint32_t viewportCount;
    const VkViewportWScalingNV* pViewportWScalings;
};

Layout

struct VkPresentFrameTokenGGP {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) GgpFrameToken frameToken;
};

Layout

struct VkPresentIdKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const uint64_t* pPresentIds;
};
A buffer of VkPresentIdKHR.

Layout

struct VkPresentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreCount;
    const VkSemaphore* pWaitSemaphores;
    uint32_t swapchainCount;
    const VkSwapchainKHR* pSwapchains;
    const uint32_t* pImageIndices;
    VkResult* pResults;
};
A buffer of VkPresentInfoKHR.

Layout

struct VkPresentRegionKHR {
    uint32_t rectangleCount;
    const VkRectLayerKHR* pRectangles;
};
A buffer of VkPresentRegionKHR.

Layout

struct VkPresentRegionsKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const VkPresentRegionKHR* pRegions;
};
A buffer of VkPresentRegionsKHR.

Layout

struct VkPresentTimeGOOGLE {
    uint32_t presentID;
    uint64_t desiredPresentTime;
};
A buffer of VkPresentTimeGOOGLE.

Layout

struct VkPresentTimesInfoGOOGLE {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const VkPresentTimeGOOGLE* pTimes;
};

Layout

struct VkPrivateDataSlotCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPrivateDataSlotCreateFlags flags;
};

Layout

struct VkProtectedSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 protectedSubmit;
};

Layout

struct VkPushConstantRange {
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    uint32_t offset;
    uint32_t size;
};
A buffer of VkPushConstantRange.

Layout

struct VkPushConstantsInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkPipelineLayout layout;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    uint32_t offset;
    uint32_t size;
    const void* pValues;
};
A buffer of VkPushConstantsInfo.

Layout

struct VkPushDescriptorSetInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    (uint64_t) VkPipelineLayout layout;
    uint32_t set;
    uint32_t descriptorWriteCount;
    const VkWriteDescriptorSet* pDescriptorWrites;
};

Layout

struct VkPushDescriptorSetWithTemplateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDescriptorUpdateTemplate descriptorUpdateTemplate;
    (uint64_t) VkPipelineLayout layout;
    uint32_t set;
    const void* pData;
};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layout

struct VkQueryLowLatencySupportNV {
    (int) VkStructureType sType;
    const void* pNext;
    void* pQueriedLowLatencyData;
};

Layout

struct VkQueryPoolCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkQueryPoolCreateFlags flags;
    (int) VkQueryType queryType;
    uint32_t queryCount;
    ((uint32_t) VkFlags) VkQueryPipelineStatisticFlags pipelineStatistics;
};

Layout

struct VkQueryPoolPerformanceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t queueFamilyIndex;
    uint32_t counterIndexCount;
    const uint32_t* pCounterIndices;
};

Layout

struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkQueryPoolSamplingModeINTEL performanceCountersSampling;
};

Layout

struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags;
};
Wraps a Vulkan queue handle.

Layout

struct VkQueueFamilyCheckpointProperties2NV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 checkpointExecutionStageMask;
};

Layout

struct VkQueueFamilyCheckpointPropertiesNV {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkPipelineStageFlags checkpointExecutionStageMask;
};

Layout

struct VkQueueFamilyGlobalPriorityProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t priorityCount;
    (int) VkQueueGlobalPriority priorities[16];
};

Layout

struct VkQueueFamilyProperties {
    ((uint32_t) VkFlags) VkQueueFlags queueFlags;
    uint32_t queueCount;
    uint32_t timestampValidBits;
    (struct VkExtent3D) VkExtent3D minImageTransferGranularity;
};

Layout

struct VkQueueFamilyProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkQueueFamilyProperties) VkQueueFamilyProperties queueFamilyProperties;
};

Layout

struct VkQueueFamilyQueryResultStatusPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 queryResultStatusSupport;
};

Layout

struct VkQueueFamilyVideoPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoCodecOperationFlagsKHR videoCodecOperations;
};

Layout

struct VkRayTracingPipelineCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCreateFlags flags;
    uint32_t stageCount;
    const VkPipelineShaderStageCreateInfo* pStages;
    uint32_t groupCount;
    const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
    uint32_t maxPipelineRayRecursionDepth;
    const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
    const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
    const VkPipelineDynamicStateCreateInfo* pDynamicState;
    (uint64_t) VkPipelineLayout layout;
    (uint64_t) VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
};

Layout

struct VkRayTracingPipelineCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPipelineCreateFlags flags;
    uint32_t stageCount;
    const VkPipelineShaderStageCreateInfo* pStages;
    uint32_t groupCount;
    const VkRayTracingShaderGroupCreateInfoNV* pGroups;
    uint32_t maxRecursionDepth;
    (uint64_t) VkPipelineLayout layout;
    (uint64_t) VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
};

Layout

struct VkRayTracingPipelineInterfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxPipelineRayPayloadSize;
    uint32_t maxPipelineRayHitAttributeSize;
};

Layout

struct VkRayTracingShaderGroupCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkRayTracingShaderGroupTypeKHR type;
    uint32_t generalShader;
    uint32_t closestHitShader;
    uint32_t anyHitShader;
    uint32_t intersectionShader;
    const void* pShaderGroupCaptureReplayHandle;
};

Layout

struct VkRayTracingShaderGroupCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkRayTracingShaderGroupTypeKHR type;
    uint32_t generalShader;
    uint32_t closestHitShader;
    uint32_t anyHitShader;
    uint32_t intersectionShader;
};
typedef void* (*VkReallocationFunction)(void* pUserData, void* pOriginal, size_t size, size_t alignment, (int) VkSystemAllocationScope allocationScope);

Layout

struct VkRect2D {
    (struct VkOffset2D) VkOffset2D offset;
    (struct VkExtent2D) VkExtent2D extent;
};
A buffer of VkRect2D.

Layout

struct VkRectLayerKHR {
    (struct VkOffset2D) VkOffset2D offset;
    (struct VkExtent2D) VkExtent2D extent;
    uint32_t layer;
};
A buffer of VkRectLayerKHR.

Layout

struct VkRefreshCycleDurationGOOGLE {
    uint64_t refreshDuration;
};

Layout

struct VkRefreshObjectKHR {
    (int) VkObjectType objectType;
    uint64_t objectHandle;
    ((uint32_t) VkFlags) VkRefreshObjectFlagsKHR flags;
};
A buffer of VkRefreshObjectKHR.

Layout

struct VkRefreshObjectListKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t objectCount;
    const VkRefreshObjectKHR* pObjects;
};

Layout

struct VkReleaseCapturedPipelineDataInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkPipeline pipeline;
};

Layout

struct VkReleaseSwapchainImagesInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSwapchainKHR swapchain;
    uint32_t imageIndexCount;
    const uint32_t* pImageIndices;
};

Layout

struct VkRenderingAreaInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t viewMask;
    uint32_t colorAttachmentCount;
    const VkFormat* pColorAttachmentFormats;
    (int) VkFormat depthAttachmentFormat;
    (int) VkFormat stencilAttachmentFormat;
};
A buffer of VkRenderingAreaInfo.

Layout

struct VkRenderingAttachmentInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView imageView;
    (int) VkImageLayout imageLayout;
    (int) VkResolveModeFlagBits resolveMode;
    (uint64_t) VkImageView resolveImageView;
    (int) VkImageLayout resolveImageLayout;
    (int) VkAttachmentLoadOp loadOp;
    (int) VkAttachmentStoreOp storeOp;
    (union VkClearValue) VkClearValue clearValue;
};

Layout

struct VkRenderingAttachmentLocationInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t colorAttachmentCount;
    const uint32_t* pColorAttachmentLocations;
};

Layout

struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView imageView;
    (int) VkImageLayout imageLayout;
};

Layout

struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView imageView;
    (int) VkImageLayout imageLayout;
    (struct VkExtent2D) VkExtent2D shadingRateAttachmentTexelSize;
};

Layout

struct VkRenderingInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkRenderingFlags flags;
    (struct VkRect2D) VkRect2D renderArea;
    uint32_t layerCount;
    uint32_t viewMask;
    uint32_t colorAttachmentCount;
    const VkRenderingAttachmentInfo* pColorAttachments;
    const VkRenderingAttachmentInfo* pDepthAttachment;
    const VkRenderingAttachmentInfo* pStencilAttachment;
};
A buffer of VkRenderingInfo.

Layout

struct VkRenderingInputAttachmentIndexInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t colorAttachmentCount;
    const uint32_t* pColorAttachmentInputIndices;
    const uint32_t* pDepthInputAttachmentIndex;
    const uint32_t* pStencilInputAttachmentIndex;
};

Layout

struct VkRenderPassAttachmentBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t attachmentCount;
    const VkImageView* pAttachments;
};

Layout

struct VkRenderPassBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkRenderPass renderPass;
    (uint64_t) VkFramebuffer framebuffer;
    (struct VkRect2D) VkRect2D renderArea;
    uint32_t clearValueCount;
    const VkClearValue* pClearValues;
};

Layout

struct VkRenderPassCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkRenderPassCreateFlags flags;
    uint32_t attachmentCount;
    const VkAttachmentDescription* pAttachments;
    uint32_t subpassCount;
    const VkSubpassDescription* pSubpasses;
    uint32_t dependencyCount;
    const VkSubpassDependency* pDependencies;
};

Layout

struct VkRenderPassCreateInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkRenderPassCreateFlags flags;
    uint32_t attachmentCount;
    const VkAttachmentDescription2* pAttachments;
    uint32_t subpassCount;
    const VkSubpassDescription2* pSubpasses;
    uint32_t dependencyCount;
    const VkSubpassDependency2* pDependencies;
    uint32_t correlatedViewMaskCount;
    const uint32_t* pCorrelatedViewMasks;
};

Layout

struct VkRenderPassCreationControlEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 disallowMerging;
};

Layout

struct VkRenderPassCreationFeedbackCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
};

Layout

struct VkRenderPassCreationFeedbackInfoEXT {
    uint32_t postMergeSubpassCount;
};

Layout

struct VkRenderPassFragmentDensityMapCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkAttachmentReference) VkAttachmentReference fragmentDensityMapAttachment;
};

Layout

struct VkRenderPassInputAttachmentAspectCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t aspectReferenceCount;
    const VkInputAttachmentAspectReference* pAspectReferences;
};

Layout

struct VkRenderPassMultiviewCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t subpassCount;
    const uint32_t* pViewMasks;
    uint32_t dependencyCount;
    const int32_t* pViewOffsets;
    uint32_t correlationMaskCount;
    const uint32_t* pCorrelationMasks;
};

Layout

struct VkRenderPassSampleLocationsBeginInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t attachmentInitialSampleLocationsCount;
    const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
    uint32_t postSubpassSampleLocationsCount;
    const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
};

Layout

struct VkRenderPassStripeBeginInfoARM {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stripeInfoCount;
    const VkRenderPassStripeInfoARM* pStripeInfos;
};

Layout

struct VkRenderPassStripeInfoARM {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkRect2D) VkRect2D stripeArea;
};

Layout

struct VkRenderPassStripeSubmitInfoARM {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stripeSemaphoreInfoCount;
    const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos;
};

Layout

struct VkRenderPassSubpassFeedbackCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
};

Layout

struct VkRenderPassSubpassFeedbackInfoEXT {
    (int) VkSubpassMergeStatusEXT subpassMergeStatus;
    char description[256];
    uint32_t postMergeIndex;
};

Layout

struct VkRenderPassTransformBeginInfoQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkSurfaceTransformFlagBitsKHR transform;
};

Layout

struct VkResolveImageInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImage srcImage;
    (int) VkImageLayout srcImageLayout;
    (uint64_t) VkImage dstImage;
    (int) VkImageLayout dstImageLayout;
    uint32_t regionCount;
    const VkImageResolve2* pRegions;
};
A buffer of VkResolveImageInfo2.

Layout

struct VkSampleLocationEXT {
    float x;
    float y;
};
A buffer of VkSampleLocationEXT.

Layout

struct VkSampleLocationsInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSampleCountFlagBits sampleLocationsPerPixel;
    (struct VkExtent2D) VkExtent2D sampleLocationGridSize;
    uint32_t sampleLocationsCount;
    const VkSampleLocationEXT* pSampleLocations;
};

Layout

struct VkSamplerBlockMatchWindowCreateInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkExtent2D) VkExtent2D windowExtent;
    (int) VkBlockMatchWindowCompareModeQCOM windowCompareMode;
};

Layout

struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkComponentMapping) VkComponentMapping components;
    (uint32_t) VkBool32 srgb;
};

Layout

struct VkSamplerCaptureDescriptorDataInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSampler sampler;
};

Layout

struct VkSamplerCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSamplerCreateFlags flags;
    (int) VkFilter magFilter;
    (int) VkFilter minFilter;
    (int) VkSamplerMipmapMode mipmapMode;
    (int) VkSamplerAddressMode addressModeU;
    (int) VkSamplerAddressMode addressModeV;
    (int) VkSamplerAddressMode addressModeW;
    float mipLodBias;
    (uint32_t) VkBool32 anisotropyEnable;
    float maxAnisotropy;
    (uint32_t) VkBool32 compareEnable;
    (int) VkCompareOp compareOp;
    float minLod;
    float maxLod;
    (int) VkBorderColor borderColor;
    (uint32_t) VkBool32 unnormalizedCoordinates;
};
A buffer of VkSamplerCreateInfo.

Layout

struct VkSamplerCubicWeightsCreateInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkCubicFilterWeightsQCOM cubicWeights;
};

Layout

struct VkSamplerCustomBorderColorCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (union VkClearColorValue) VkClearColorValue customBorderColor;
    (int) VkFormat format;
};

Layout

struct VkSamplerReductionModeCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSamplerReductionMode reductionMode;
};

Layout

struct VkSamplerYcbcrConversionCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkFormat format;
    (int) VkSamplerYcbcrModelConversion ycbcrModel;
    (int) VkSamplerYcbcrRange ycbcrRange;
    (struct VkComponentMapping) VkComponentMapping components;
    (int) VkChromaLocation xChromaOffset;
    (int) VkChromaLocation yChromaOffset;
    (int) VkFilter chromaFilter;
    (uint32_t) VkBool32 forceExplicitReconstruction;
};

Layout

struct VkSamplerYcbcrConversionImageFormatProperties {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t combinedImageSamplerDescriptorCount;
};

Layout

struct VkSamplerYcbcrConversionInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSamplerYcbcrConversion conversion;
};

Layout

struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 enableYDegamma;
    (uint32_t) VkBool32 enableCbCrDegamma;
};

Layout

struct VkSciSyncAttributesInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSciSyncClientTypeNV clientType;
    (int) VkSciSyncPrimitiveTypeNV primitiveType;
};

Layout

struct VkScreenBufferFormatPropertiesQNX {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat format;
    uint64_t externalFormat;
    uint64_t screenUsage;
    ((uint32_t) VkFlags) VkFormatFeatureFlags formatFeatures;
    (struct VkComponentMapping) VkComponentMapping samplerYcbcrConversionComponents;
    (int) VkSamplerYcbcrModelConversion suggestedYcbcrModel;
    (int) VkSamplerYcbcrRange suggestedYcbcrRange;
    (int) VkChromaLocation suggestedXChromaOffset;
    (int) VkChromaLocation suggestedYChromaOffset;
};

Layout

struct VkScreenBufferPropertiesQNX {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize allocationSize;
    uint32_t memoryTypeBits;
};

Layout

struct VkScreenSurfaceCreateInfoQNX {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkScreenSurfaceCreateFlagsQNX flags;
    struct _screen_context * context;
    struct _screen_window * window;
};
 

Layout

struct VkSemaphoreCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSemaphoreCreateFlags flags;
};

Layout

struct VkSemaphoreGetFdInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
};

Layout

struct VkSemaphoreGetSciSyncInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
};

Layout

struct VkSemaphoreGetWin32HandleInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
};

Layout

struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    (int) VkExternalSemaphoreHandleTypeFlagBits handleType;
};

Layout

struct VkSemaphoreSciSyncCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphoreSciSyncPoolNV semaphorePool;
    const NvSciSyncFence* pFence;
};

Layout

struct VkSemaphoreSciSyncPoolCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (struct NvSciSyncObjRec *) NvSciSyncObj handle;
};

Layout

struct VkSemaphoreSignalInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    uint64_t value;
};

Layout

struct VkSemaphoreSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkSemaphore semaphore;
    uint64_t value;
    ((uint64_t) VkFlags64) VkPipelineStageFlags2 stageMask;
    uint32_t deviceIndex;
};

Layout

struct VkSemaphoreTypeCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSemaphoreType semaphoreType;
    uint64_t initialValue;
};

Layout

struct VkSemaphoreWaitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSemaphoreWaitFlags flags;
    uint32_t semaphoreCount;
    const VkSemaphore* pSemaphores;
    const uint64_t* pValues;
};
A buffer of VkSemaphoreWaitInfo.

Layout

struct VkSetDescriptorBufferOffsetsInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderStageFlags stageFlags;
    (uint64_t) VkPipelineLayout layout;
    uint32_t firstSet;
    uint32_t setCount;
    const uint32_t* pBufferIndices;
    const VkDeviceSize* pOffsets;
};

Layout

struct VkSetLatencyMarkerInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t presentID;
    (int) VkLatencyMarkerNV marker;
};

Layout

struct VkSetStateFlagsIndirectCommandNV {
    uint32_t data;
};

Layout

struct VkShaderCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderCreateFlagsEXT flags;
    (int) VkShaderStageFlagBits stage;
    ((uint32_t) VkFlags) VkShaderStageFlags nextStage;
    (int) VkShaderCodeTypeEXT codeType;
    size_t codeSize;
    const void* pCode;
    const char* pName;
    uint32_t setLayoutCount;
    const VkDescriptorSetLayout* pSetLayouts;
    uint32_t pushConstantRangeCount;
    const VkPushConstantRange* pPushConstantRanges;
    const VkSpecializationInfo* pSpecializationInfo;
};

Layout

struct VkShaderModuleCreateInfo {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkShaderModuleCreateFlags flags;
    size_t codeSize;
    const uint32_t* pCode;
};

Layout

struct VkShaderModuleIdentifierEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t identifierSize;
    uint8_t identifier[32];
};

Layout

struct VkShaderModuleValidationCacheCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkValidationCacheEXT validationCache;
};

Layout

struct VkShaderResourceUsageAMD {
    uint32_t numUsedVgprs;
    uint32_t numUsedSgprs;
    uint32_t ldsSizePerLocalWorkGroup;
    size_t ldsUsageSizeInBytes;
    size_t scratchMemUsageInBytes;
};

Layout

struct VkShaderStatisticsInfoAMD {
    ((uint32_t) VkFlags) VkShaderStageFlags shaderStageMask;
    (struct VkShaderResourceUsageAMD) VkShaderResourceUsageAMD resourceUsage;
    uint32_t numPhysicalVgprs;
    uint32_t numPhysicalSgprs;
    uint32_t numAvailableVgprs;
    uint32_t numAvailableSgprs;
    uint32_t computeWorkGroupSize[3];
};

Layout

struct VkShadingRatePaletteNV {
    uint32_t shadingRatePaletteEntryCount;
    const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
};

Layout

struct VkSharedPresentSurfaceCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkImageUsageFlags sharedPresentSupportedUsageFlags;
};

Layout

struct VkSparseBufferMemoryBindInfo {
    (uint64_t) VkBuffer buffer;
    uint32_t bindCount;
    const VkSparseMemoryBind* pBinds;
};

Layout

struct VkSparseImageFormatProperties {
    ((uint32_t) VkFlags) VkImageAspectFlags aspectMask;
    (struct VkExtent3D) VkExtent3D imageGranularity;
    ((uint32_t) VkFlags) VkSparseImageFormatFlags flags;
};

Layout

struct VkSparseImageFormatProperties2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkSparseImageFormatProperties) VkSparseImageFormatProperties properties;
};

Layout

struct VkSparseImageMemoryBind {
    (struct VkImageSubresource) VkImageSubresource subresource;
    (struct VkOffset3D) VkOffset3D offset;
    (struct VkExtent3D) VkExtent3D extent;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
    ((uint32_t) VkFlags) VkSparseMemoryBindFlags flags;
};

Layout

struct VkSparseImageMemoryBindInfo {
    (uint64_t) VkImage image;
    uint32_t bindCount;
    const VkSparseImageMemoryBind* pBinds;
};

Layout

struct VkSparseImageMemoryRequirements {
    (struct VkSparseImageFormatProperties) VkSparseImageFormatProperties formatProperties;
    uint32_t imageMipTailFirstLod;
    (uint64_t) VkDeviceSize imageMipTailSize;
    (uint64_t) VkDeviceSize imageMipTailOffset;
    (uint64_t) VkDeviceSize imageMipTailStride;
};

Layout

struct VkSparseImageMemoryRequirements2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkSparseImageMemoryRequirements) VkSparseImageMemoryRequirements memoryRequirements;
};

Layout

struct VkSparseImageOpaqueMemoryBindInfo {
    (uint64_t) VkImage image;
    uint32_t bindCount;
    const VkSparseMemoryBind* pBinds;
};

Layout

struct VkSparseMemoryBind {
    (uint64_t) VkDeviceSize resourceOffset;
    (uint64_t) VkDeviceSize size;
    (uint64_t) VkDeviceMemory memory;
    (uint64_t) VkDeviceSize memoryOffset;
    ((uint32_t) VkFlags) VkSparseMemoryBindFlags flags;
};
A buffer of VkSparseMemoryBind.

Layout

struct VkSpecializationInfo {
    uint32_t mapEntryCount;
    const VkSpecializationMapEntry* pMapEntries;
    size_t dataSize;
    const void* pData;
};

Layout

struct VkSpecializationMapEntry {
    uint32_t constantID;
    uint32_t offset;
    size_t size;
};

Layout

struct VkSRTDataNV {
    float sx;
    float a;
    float b;
    float pvx;
    float sy;
    float c;
    float pvy;
    float sz;
    float pvz;
    float qx;
    float qy;
    float qz;
    float qw;
    float tx;
    float ty;
    float tz;
};
A buffer of VkSRTDataNV.

Layout

struct VkStencilOpState {
    (int) VkStencilOp failOp;
    (int) VkStencilOp passOp;
    (int) VkStencilOp depthFailOp;
    (int) VkCompareOp compareOp;
    uint32_t compareMask;
    uint32_t writeMask;
    uint32_t reference;
};
A buffer of VkStencilOpState.

Layout

struct VkStreamDescriptorSurfaceCreateInfoGGP {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkStreamDescriptorSurfaceCreateFlagsGGP flags;
    (uint32_t) GgpStreamDescriptor streamDescriptor;
};

Layout

struct VkStridedDeviceAddressRegionKHR {
    (uint64_t) VkDeviceAddress deviceAddress;
    (uint64_t) VkDeviceSize stride;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreCount;
    const VkSemaphore* pWaitSemaphores;
    const VkPipelineStageFlags* pWaitDstStageMask;
    uint32_t commandBufferCount;
    const VkCommandBuffer* pCommandBuffers;
    uint32_t signalSemaphoreCount;
    const VkSemaphore* pSignalSemaphores;
};
A buffer of VkSubmitInfo.

Layout

struct VkSubmitInfo2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSubmitFlags flags;
    uint32_t waitSemaphoreInfoCount;
    const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
    uint32_t commandBufferInfoCount;
    const VkCommandBufferSubmitInfo* pCommandBufferInfos;
    uint32_t signalSemaphoreInfoCount;
    const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
};
A buffer of VkSubmitInfo2.

Layout

struct VkSubpassBeginInfo {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkSubpassContents contents;
};
A buffer of VkSubpassBeginInfo.

Layout

struct VkSubpassDependency {
    uint32_t srcSubpass;
    uint32_t dstSubpass;
    ((uint32_t) VkFlags) VkPipelineStageFlags srcStageMask;
    ((uint32_t) VkFlags) VkPipelineStageFlags dstStageMask;
    ((uint32_t) VkFlags) VkAccessFlags srcAccessMask;
    ((uint32_t) VkFlags) VkAccessFlags dstAccessMask;
    ((uint32_t) VkFlags) VkDependencyFlags dependencyFlags;
};
A buffer of VkSubpassDependency.

Layout

struct VkSubpassDependency2 {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t srcSubpass;
    uint32_t dstSubpass;
    ((uint32_t) VkFlags) VkPipelineStageFlags srcStageMask;
    ((uint32_t) VkFlags) VkPipelineStageFlags dstStageMask;
    ((uint32_t) VkFlags) VkAccessFlags srcAccessMask;
    ((uint32_t) VkFlags) VkAccessFlags dstAccessMask;
    ((uint32_t) VkFlags) VkDependencyFlags dependencyFlags;
    int32_t viewOffset;
};

Layout

struct VkSubpassDescription {
    ((uint32_t) VkFlags) VkSubpassDescriptionFlags flags;
    (int) VkPipelineBindPoint pipelineBindPoint;
    uint32_t inputAttachmentCount;
    const VkAttachmentReference* pInputAttachments;
    uint32_t colorAttachmentCount;
    const VkAttachmentReference* pColorAttachments;
    const VkAttachmentReference* pResolveAttachments;
    const VkAttachmentReference* pDepthStencilAttachment;
    uint32_t preserveAttachmentCount;
    const uint32_t* pPreserveAttachments;
};

Layout

struct VkSubpassDescription2 {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSubpassDescriptionFlags flags;
    (int) VkPipelineBindPoint pipelineBindPoint;
    uint32_t viewMask;
    uint32_t inputAttachmentCount;
    const VkAttachmentReference2* pInputAttachments;
    uint32_t colorAttachmentCount;
    const VkAttachmentReference2* pColorAttachments;
    const VkAttachmentReference2* pResolveAttachments;
    const VkAttachmentReference2* pDepthStencilAttachment;
    uint32_t preserveAttachmentCount;
    const uint32_t* pPreserveAttachments;
};

Layout

struct VkSubpassDescriptionDepthStencilResolve {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkResolveModeFlagBits depthResolveMode;
    (int) VkResolveModeFlagBits stencilResolveMode;
    const VkAttachmentReference2* pDepthStencilResolveAttachment;
};

Layout

struct VkSubpassEndInfo {
    (int) VkStructureType sType;
    const void* pNext;
};
A buffer of VkSubpassEndInfo.

Layout

struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t fragmentDensityOffsetCount;
    const VkOffset2D* pFragmentDensityOffsets;
};

Layout

struct VkSubpassResolvePerformanceQueryEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 optimal;
};

Layout

struct VkSubpassSampleLocationsEXT {
    uint32_t subpassIndex;
    (struct VkSampleLocationsInfoEXT) VkSampleLocationsInfoEXT sampleLocationsInfo;
};

Layout

struct VkSubpassShadingPipelineCreateInfoHUAWEI {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkRenderPass renderPass;
    uint32_t subpass;
};

Layout

struct VkSubresourceHostMemcpySize {
    (int) VkStructureType sType;
    void* pNext;
    (uint64_t) VkDeviceSize size;
};

Layout

struct VkSubresourceLayout {
    (uint64_t) VkDeviceSize offset;
    (uint64_t) VkDeviceSize size;
    (uint64_t) VkDeviceSize rowPitch;
    (uint64_t) VkDeviceSize arrayPitch;
    (uint64_t) VkDeviceSize depthPitch;
};
A buffer of VkSubresourceLayout.

Layout

struct VkSubresourceLayout2 {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkSubresourceLayout) VkSubresourceLayout subresourceLayout;
};

Layout

struct VkSurfaceCapabilities2EXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t minImageCount;
    uint32_t maxImageCount;
    (struct VkExtent2D) VkExtent2D currentExtent;
    (struct VkExtent2D) VkExtent2D minImageExtent;
    (struct VkExtent2D) VkExtent2D maxImageExtent;
    uint32_t maxImageArrayLayers;
    ((uint32_t) VkFlags) VkSurfaceTransformFlagsKHR supportedTransforms;
    (int) VkSurfaceTransformFlagBitsKHR currentTransform;
    ((uint32_t) VkFlags) VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
    ((uint32_t) VkFlags) VkImageUsageFlags supportedUsageFlags;
    ((uint32_t) VkFlags) VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
};

Layout

struct VkSurfaceCapabilities2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkSurfaceCapabilitiesKHR) VkSurfaceCapabilitiesKHR surfaceCapabilities;
};

Layout

struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 fullScreenExclusiveSupported;
};

Layout

struct VkSurfaceCapabilitiesKHR {
    uint32_t minImageCount;
    uint32_t maxImageCount;
    (struct VkExtent2D) VkExtent2D currentExtent;
    (struct VkExtent2D) VkExtent2D minImageExtent;
    (struct VkExtent2D) VkExtent2D maxImageExtent;
    uint32_t maxImageArrayLayers;
    ((uint32_t) VkFlags) VkSurfaceTransformFlagsKHR supportedTransforms;
    (int) VkSurfaceTransformFlagBitsKHR currentTransform;
    ((uint32_t) VkFlags) VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
    ((uint32_t) VkFlags) VkImageUsageFlags supportedUsageFlags;
};

Layout

struct VkSurfaceCapabilitiesPresentBarrierNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentBarrierSupported;
};

Layout

struct VkSurfaceFormat2KHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkSurfaceFormatKHR) VkSurfaceFormatKHR surfaceFormat;
};
A buffer of VkSurfaceFormat2KHR.

Layout

struct VkSurfaceFormatKHR {
    (int) VkFormat format;
    (int) VkColorSpaceKHR colorSpace;
};
A buffer of VkSurfaceFormatKHR.

Layout

struct VkSurfaceFullScreenExclusiveInfoEXT {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFullScreenExclusiveEXT fullScreenExclusive;
};

Layout

struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    (void*) HMONITOR hmonitor;
};

Layout

struct VkSurfacePresentModeCompatibilityEXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t presentModeCount;
    VkPresentModeKHR* pPresentModes;
};

Layout

struct VkSurfacePresentModeEXT {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkPresentModeKHR presentMode;
};

Layout

struct VkSurfacePresentScalingCapabilitiesEXT {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkPresentScalingFlagsEXT supportedPresentScaling;
    ((uint32_t) VkFlags) VkPresentGravityFlagsEXT supportedPresentGravityX;
    ((uint32_t) VkFlags) VkPresentGravityFlagsEXT supportedPresentGravityY;
    (struct VkExtent2D) VkExtent2D minScaledImageExtent;
    (struct VkExtent2D) VkExtent2D maxScaledImageExtent;
};

Layout

struct VkSurfaceProtectedCapabilitiesKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 supportsProtected;
};

Layout

struct VkSwapchainCounterCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSurfaceCounterFlagsEXT surfaceCounters;
};

Layout

struct VkSwapchainCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSwapchainCreateFlagsKHR flags;
    (uint64_t) VkSurfaceKHR surface;
    uint32_t minImageCount;
    (int) VkFormat imageFormat;
    (int) VkColorSpaceKHR imageColorSpace;
    (struct VkExtent2D) VkExtent2D imageExtent;
    uint32_t imageArrayLayers;
    ((uint32_t) VkFlags) VkImageUsageFlags imageUsage;
    (int) VkSharingMode imageSharingMode;
    uint32_t queueFamilyIndexCount;
    const uint32_t* pQueueFamilyIndices;
    (int) VkSurfaceTransformFlagBitsKHR preTransform;
    (int) VkCompositeAlphaFlagBitsKHR compositeAlpha;
    (int) VkPresentModeKHR presentMode;
    (uint32_t) VkBool32 clipped;
    (uint64_t) VkSwapchainKHR oldSwapchain;
};

Layout

struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 localDimmingEnable;
};

Layout

struct VkSwapchainImageCreateInfoANDROID {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkSwapchainImageUsageFlagsANDROID usage;
};

Layout

struct VkSwapchainLatencyCreateInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 latencyModeEnable;
};

Layout

struct VkSwapchainPresentBarrierCreateInfoNV {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 presentBarrierEnable;
};

Layout

struct VkSwapchainPresentFenceInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const VkFence* pFences;
};

Layout

struct VkSwapchainPresentModeInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const VkPresentModeKHR* pPresentModes;
};

Layout

struct VkSwapchainPresentModesCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t presentModeCount;
    const VkPresentModeKHR* pPresentModes;
};

Layout

struct VkSwapchainPresentScalingCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkPresentScalingFlagsEXT scalingBehavior;
    ((uint32_t) VkFlags) VkPresentGravityFlagsEXT presentGravityX;
    ((uint32_t) VkFlags) VkPresentGravityFlagsEXT presentGravityY;
};

Layout

struct VkSysmemColorSpaceFUCHSIA {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t colorSpace;
};

Layout

struct VkTextureLODGatherFormatPropertiesAMD {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 supportsTextureGatherLODBiasAMD;
};

Layout

struct VkTilePropertiesQCOM {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent3D) VkExtent3D tileSize;
    (struct VkExtent2D) VkExtent2D apronSize;
    (struct VkOffset2D) VkOffset2D origin;
};

Layout

struct VkTimelineSemaphoreSubmitInfo {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t waitSemaphoreValueCount;
    const uint64_t* pWaitSemaphoreValues;
    uint32_t signalSemaphoreValueCount;
    const uint64_t* pSignalSemaphoreValues;
};

Layout

struct VkTraceRaysIndirectCommand2KHR {
    (uint64_t) VkDeviceAddress raygenShaderRecordAddress;
    (uint64_t) VkDeviceSize raygenShaderRecordSize;
    (uint64_t) VkDeviceAddress missShaderBindingTableAddress;
    (uint64_t) VkDeviceSize missShaderBindingTableSize;
    (uint64_t) VkDeviceSize missShaderBindingTableStride;
    (uint64_t) VkDeviceAddress hitShaderBindingTableAddress;
    (uint64_t) VkDeviceSize hitShaderBindingTableSize;
    (uint64_t) VkDeviceSize hitShaderBindingTableStride;
    (uint64_t) VkDeviceAddress callableShaderBindingTableAddress;
    (uint64_t) VkDeviceSize callableShaderBindingTableSize;
    (uint64_t) VkDeviceSize callableShaderBindingTableStride;
    uint32_t width;
    uint32_t height;
    uint32_t depth;
};

Layout

struct VkTraceRaysIndirectCommandKHR {
    uint32_t width;
    uint32_t height;
    uint32_t depth;
};

Layout

struct VkTransformMatrixKHR {
    float matrix[3][4];
};

Layout

struct VkValidationCacheCreateInfoEXT {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkValidationCacheCreateFlagsEXT flags;
    size_t initialDataSize;
    const void* pInitialData;
};

Layout

struct VkValidationFeaturesEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t enabledValidationFeatureCount;
    const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
    uint32_t disabledValidationFeatureCount;
    const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
};

Layout

struct VkValidationFlagsEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t disabledValidationCheckCount;
    const VkValidationCheckEXT* pDisabledValidationChecks;
};
 
 
 

Layout

struct VkVertexInputAttributeDescription {
    uint32_t location;
    uint32_t binding;
    (int) VkFormat format;
    uint32_t offset;
};

Layout

struct VkVertexInputAttributeDescription2EXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t location;
    uint32_t binding;
    (int) VkFormat format;
    uint32_t offset;
};

Layout

struct VkVertexInputBindingDescription {
    uint32_t binding;
    uint32_t stride;
    (int) VkVertexInputRate inputRate;
};

Layout

struct VkVertexInputBindingDescription2EXT {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t binding;
    uint32_t stride;
    (int) VkVertexInputRate inputRate;
    uint32_t divisor;
};

Layout

struct VkVertexInputBindingDivisorDescription {
    uint32_t binding;
    uint32_t divisor;
};

Layout

struct VkVideoBeginCodingInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoBeginCodingFlagsKHR flags;
    (uint64_t) VkVideoSessionKHR videoSession;
    (uint64_t) VkVideoSessionParametersKHR videoSessionParameters;
    uint32_t referenceSlotCount;
    const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
};

Layout

struct VkVideoCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoCapabilityFlagsKHR flags;
    (uint64_t) VkDeviceSize minBitstreamBufferOffsetAlignment;
    (uint64_t) VkDeviceSize minBitstreamBufferSizeAlignment;
    (struct VkExtent2D) VkExtent2D pictureAccessGranularity;
    (struct VkExtent2D) VkExtent2D minCodedExtent;
    (struct VkExtent2D) VkExtent2D maxCodedExtent;
    uint32_t maxDpbSlots;
    uint32_t maxActiveReferencePictures;
    (struct VkExtensionProperties) VkExtensionProperties stdHeaderVersion;
};

Layout

struct VkVideoCodingControlInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoCodingControlFlagsKHR flags;
};

Layout

struct VkVideoDecodeAV1CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) StdVideoAV1Level maxLevel;
};

Layout

struct VkVideoDecodeAV1DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoDecodeAV1InlineSessionParametersInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoAV1SequenceHeader* pStdSequenceHeader;
};

Layout

struct VkVideoDecodeAV1PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeAV1PictureInfo* pStdPictureInfo;
    int32_t referenceNameSlotIndices[7];
    uint32_t frameHeaderOffset;
    uint32_t tileCount;
    const uint32_t* pTileOffsets;
    const uint32_t* pTileSizes;
};

Layout

struct VkVideoDecodeAV1ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoAV1Profile stdProfile;
    (uint32_t) VkBool32 filmGrainSupport;
};

Layout

struct VkVideoDecodeAV1SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoAV1SequenceHeader* pStdSequenceHeader;
};

Layout

struct VkVideoDecodeCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoDecodeCapabilityFlagsKHR flags;
};

Layout

struct VkVideoDecodeH264CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) StdVideoH264LevelIdc maxLevelIdc;
    (struct VkOffset2D) VkOffset2D fieldOffsetGranularity;
};

Layout

struct VkVideoDecodeH264DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoDecodeH264InlineSessionParametersInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoH264SequenceParameterSet* pStdSPS;
    const StdVideoH264PictureParameterSet* pStdPPS;
};

Layout

struct VkVideoDecodeH264PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeH264PictureInfo* pStdPictureInfo;
    uint32_t sliceCount;
    const uint32_t* pSliceOffsets;
};

Layout

struct VkVideoDecodeH264ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoH264ProfileIdc stdProfileIdc;
    (int) VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout;
};

Layout

struct VkVideoDecodeH264SessionParametersAddInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stdSPSCount;
    const StdVideoH264SequenceParameterSet* pStdSPSs;
    uint32_t stdPPSCount;
    const StdVideoH264PictureParameterSet* pStdPPSs;
};

Layout

struct VkVideoDecodeH264SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxStdSPSCount;
    uint32_t maxStdPPSCount;
    const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
};

Layout

struct VkVideoDecodeH265CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) StdVideoH265LevelIdc maxLevelIdc;
};

Layout

struct VkVideoDecodeH265DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoDecodeH265InlineSessionParametersInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoH265VideoParameterSet* pStdVPS;
    const StdVideoH265SequenceParameterSet* pStdSPS;
    const StdVideoH265PictureParameterSet* pStdPPS;
};

Layout

struct VkVideoDecodeH265PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeH265PictureInfo* pStdPictureInfo;
    uint32_t sliceSegmentCount;
    const uint32_t* pSliceSegmentOffsets;
};

Layout

struct VkVideoDecodeH265ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoH265ProfileIdc stdProfileIdc;
};

Layout

struct VkVideoDecodeH265SessionParametersAddInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stdVPSCount;
    const StdVideoH265VideoParameterSet* pStdVPSs;
    uint32_t stdSPSCount;
    const StdVideoH265SequenceParameterSet* pStdSPSs;
    uint32_t stdPPSCount;
    const StdVideoH265PictureParameterSet* pStdPPSs;
};

Layout

struct VkVideoDecodeH265SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxStdVPSCount;
    uint32_t maxStdSPSCount;
    uint32_t maxStdPPSCount;
    const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
};

Layout

struct VkVideoDecodeInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoDecodeFlagsKHR flags;
    (uint64_t) VkBuffer srcBuffer;
    (uint64_t) VkDeviceSize srcBufferOffset;
    (uint64_t) VkDeviceSize srcBufferRange;
    (struct VkVideoPictureResourceInfoKHR) VkVideoPictureResourceInfoKHR dstPictureResource;
    const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
    uint32_t referenceSlotCount;
    const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
};

Layout

struct VkVideoDecodeUsageInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoDecodeUsageFlagsKHR videoUsageHints;
};

Layout

struct VkVideoEncodeAV1CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeAV1CapabilityFlagsKHR flags;
    (int) StdVideoAV1Level maxLevel;
    (struct VkExtent2D) VkExtent2D codedPictureAlignment;
    (struct VkExtent2D) VkExtent2D maxTiles;
    (struct VkExtent2D) VkExtent2D minTileSize;
    (struct VkExtent2D) VkExtent2D maxTileSize;
    ((uint32_t) VkFlags) VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes;
    uint32_t maxSingleReferenceCount;
    uint32_t singleReferenceNameMask;
    uint32_t maxUnidirectionalCompoundReferenceCount;
    uint32_t maxUnidirectionalCompoundGroup1ReferenceCount;
    uint32_t unidirectionalCompoundReferenceNameMask;
    uint32_t maxBidirectionalCompoundReferenceCount;
    uint32_t maxBidirectionalCompoundGroup1ReferenceCount;
    uint32_t maxBidirectionalCompoundGroup2ReferenceCount;
    uint32_t bidirectionalCompoundReferenceNameMask;
    uint32_t maxTemporalLayerCount;
    uint32_t maxSpatialLayerCount;
    uint32_t maxOperatingPoints;
    uint32_t minQIndex;
    uint32_t maxQIndex;
    (uint32_t) VkBool32 prefersGopRemainingFrames;
    (uint32_t) VkBool32 requiresGopRemainingFrames;
    ((uint32_t) VkFlags) VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags;
};

Layout

struct VkVideoEncodeAV1DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoEncodeAV1FrameSizeKHR {
    uint32_t intraFrameSize;
    uint32_t predictiveFrameSize;
    uint32_t bipredictiveFrameSize;
};

Layout

struct VkVideoEncodeAV1GopRemainingFrameInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useGopRemainingFrames;
    uint32_t gopRemainingIntra;
    uint32_t gopRemainingPredictive;
    uint32_t gopRemainingBipredictive;
};

Layout

struct VkVideoEncodeAV1PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkVideoEncodeAV1PredictionModeKHR predictionMode;
    (int) VkVideoEncodeAV1RateControlGroupKHR rateControlGroup;
    uint32_t constantQIndex;
    const StdVideoEncodeAV1PictureInfo* pStdPictureInfo;
    int32_t referenceNameSlotIndices[7];
    (uint32_t) VkBool32 primaryReferenceCdfOnly;
    (uint32_t) VkBool32 generateObuExtensionHeader;
};

Layout

struct VkVideoEncodeAV1ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoAV1Profile stdProfile;
};

Layout

struct VkVideoEncodeAV1QIndexKHR {
    uint32_t intraQIndex;
    uint32_t predictiveQIndex;
    uint32_t bipredictiveQIndex;
};

Layout

struct VkVideoEncodeAV1QualityLevelPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags;
    uint32_t preferredGopFrameCount;
    uint32_t preferredKeyFramePeriod;
    uint32_t preferredConsecutiveBipredictiveFrameCount;
    uint32_t preferredTemporalLayerCount;
    (struct VkVideoEncodeAV1QIndexKHR) VkVideoEncodeAV1QIndexKHR preferredConstantQIndex;
    uint32_t preferredMaxSingleReferenceCount;
    uint32_t preferredSingleReferenceNameMask;
    uint32_t preferredMaxUnidirectionalCompoundReferenceCount;
    uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount;
    uint32_t preferredUnidirectionalCompoundReferenceNameMask;
    uint32_t preferredMaxBidirectionalCompoundReferenceCount;
    uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount;
    uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount;
    uint32_t preferredBidirectionalCompoundReferenceNameMask;
};

Layout

struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    int32_t minQIndexDelta;
    int32_t maxQIndexDelta;
};

Layout

struct VkVideoEncodeAV1RateControlInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeAV1RateControlFlagsKHR flags;
    uint32_t gopFrameCount;
    uint32_t keyFramePeriod;
    uint32_t consecutiveBipredictiveFrameCount;
    uint32_t temporalLayerCount;
};

Layout

struct VkVideoEncodeAV1RateControlLayerInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMinQIndex;
    (struct VkVideoEncodeAV1QIndexKHR) VkVideoEncodeAV1QIndexKHR minQIndex;
    (uint32_t) VkBool32 useMaxQIndex;
    (struct VkVideoEncodeAV1QIndexKHR) VkVideoEncodeAV1QIndexKHR maxQIndex;
    (uint32_t) VkBool32 useMaxFrameSize;
    (struct VkVideoEncodeAV1FrameSizeKHR) VkVideoEncodeAV1FrameSizeKHR maxFrameSize;
};

Layout

struct VkVideoEncodeAV1SessionCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMaxLevel;
    (int) StdVideoAV1Level maxLevel;
};

Layout

struct VkVideoEncodeAV1SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoAV1SequenceHeader* pStdSequenceHeader;
    const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo;
    uint32_t stdOperatingPointCount;
    const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints;
};

Layout

struct VkVideoEncodeCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeCapabilityFlagsKHR flags;
    ((uint32_t) VkFlags) VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
    uint32_t maxRateControlLayers;
    uint64_t maxBitrate;
    uint32_t maxQualityLevels;
    (struct VkExtent2D) VkExtent2D encodeInputPictureGranularity;
    ((uint32_t) VkFlags) VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags;
};

Layout

struct VkVideoEncodeH264CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH264CapabilityFlagsKHR flags;
    (int) StdVideoH264LevelIdc maxLevelIdc;
    uint32_t maxSliceCount;
    uint32_t maxPPictureL0ReferenceCount;
    uint32_t maxBPictureL0ReferenceCount;
    uint32_t maxL1ReferenceCount;
    uint32_t maxTemporalLayerCount;
    (uint32_t) VkBool32 expectDyadicTemporalLayerPattern;
    int32_t minQp;
    int32_t maxQp;
    (uint32_t) VkBool32 prefersGopRemainingFrames;
    (uint32_t) VkBool32 requiresGopRemainingFrames;
    ((uint32_t) VkFlags) VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags;
};

Layout

struct VkVideoEncodeH264DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoEncodeH264FrameSizeKHR {
    uint32_t frameISize;
    uint32_t framePSize;
    uint32_t frameBSize;
};

Layout

struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useGopRemainingFrames;
    uint32_t gopRemainingI;
    uint32_t gopRemainingP;
    uint32_t gopRemainingB;
};

Layout

struct VkVideoEncodeH264NaluSliceInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    int32_t constantQp;
    const StdVideoEncodeH264SliceHeader* pStdSliceHeader;
};

Layout

struct VkVideoEncodeH264PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t naluSliceEntryCount;
    const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries;
    const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
    (uint32_t) VkBool32 generatePrefixNalu;
};

Layout

struct VkVideoEncodeH264ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoH264ProfileIdc stdProfileIdc;
};

Layout

struct VkVideoEncodeH264QpKHR {
    int32_t qpI;
    int32_t qpP;
    int32_t qpB;
};

Layout

struct VkVideoEncodeH264QualityLevelPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags;
    uint32_t preferredGopFrameCount;
    uint32_t preferredIdrPeriod;
    uint32_t preferredConsecutiveBFrameCount;
    uint32_t preferredTemporalLayerCount;
    (struct VkVideoEncodeH264QpKHR) VkVideoEncodeH264QpKHR preferredConstantQp;
    uint32_t preferredMaxL0ReferenceCount;
    uint32_t preferredMaxL1ReferenceCount;
    (uint32_t) VkBool32 preferredStdEntropyCodingModeFlag;
};

Layout

struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    int32_t minQpDelta;
    int32_t maxQpDelta;
};

Layout

struct VkVideoEncodeH264RateControlInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH264RateControlFlagsKHR flags;
    uint32_t gopFrameCount;
    uint32_t idrPeriod;
    uint32_t consecutiveBFrameCount;
    uint32_t temporalLayerCount;
};

Layout

struct VkVideoEncodeH264RateControlLayerInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMinQp;
    (struct VkVideoEncodeH264QpKHR) VkVideoEncodeH264QpKHR minQp;
    (uint32_t) VkBool32 useMaxQp;
    (struct VkVideoEncodeH264QpKHR) VkVideoEncodeH264QpKHR maxQp;
    (uint32_t) VkBool32 useMaxFrameSize;
    (struct VkVideoEncodeH264FrameSizeKHR) VkVideoEncodeH264FrameSizeKHR maxFrameSize;
};

Layout

struct VkVideoEncodeH264SessionCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMaxLevelIdc;
    (int) StdVideoH264LevelIdc maxLevelIdc;
};

Layout

struct VkVideoEncodeH264SessionParametersAddInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stdSPSCount;
    const StdVideoH264SequenceParameterSet* pStdSPSs;
    uint32_t stdPPSCount;
    const StdVideoH264PictureParameterSet* pStdPPSs;
};

Layout

struct VkVideoEncodeH264SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxStdSPSCount;
    uint32_t maxStdPPSCount;
    const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
};

Layout

struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hasStdSPSOverrides;
    (uint32_t) VkBool32 hasStdPPSOverrides;
};

Layout

struct VkVideoEncodeH264SessionParametersGetInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 writeStdSPS;
    (uint32_t) VkBool32 writeStdPPS;
    uint32_t stdSPSId;
    uint32_t stdPPSId;
};

Layout

struct VkVideoEncodeH265CapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH265CapabilityFlagsKHR flags;
    (int) StdVideoH265LevelIdc maxLevelIdc;
    uint32_t maxSliceSegmentCount;
    (struct VkExtent2D) VkExtent2D maxTiles;
    ((uint32_t) VkFlags) VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes;
    ((uint32_t) VkFlags) VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes;
    uint32_t maxPPictureL0ReferenceCount;
    uint32_t maxBPictureL0ReferenceCount;
    uint32_t maxL1ReferenceCount;
    uint32_t maxSubLayerCount;
    (uint32_t) VkBool32 expectDyadicTemporalSubLayerPattern;
    int32_t minQp;
    int32_t maxQp;
    (uint32_t) VkBool32 prefersGopRemainingFrames;
    (uint32_t) VkBool32 requiresGopRemainingFrames;
    ((uint32_t) VkFlags) VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags;
};

Layout

struct VkVideoEncodeH265DpbSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo;
};

Layout

struct VkVideoEncodeH265FrameSizeKHR {
    uint32_t frameISize;
    uint32_t framePSize;
    uint32_t frameBSize;
};

Layout

struct VkVideoEncodeH265GopRemainingFrameInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useGopRemainingFrames;
    uint32_t gopRemainingI;
    uint32_t gopRemainingP;
    uint32_t gopRemainingB;
};

Layout

struct VkVideoEncodeH265NaluSliceSegmentInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    int32_t constantQp;
    const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader;
};

Layout

struct VkVideoEncodeH265PictureInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t naluSliceSegmentEntryCount;
    const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries;
    const StdVideoEncodeH265PictureInfo* pStdPictureInfo;
};

Layout

struct VkVideoEncodeH265ProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) StdVideoH265ProfileIdc stdProfileIdc;
};

Layout

struct VkVideoEncodeH265QpKHR {
    int32_t qpI;
    int32_t qpP;
    int32_t qpB;
};

Layout

struct VkVideoEncodeH265QualityLevelPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags;
    uint32_t preferredGopFrameCount;
    uint32_t preferredIdrPeriod;
    uint32_t preferredConsecutiveBFrameCount;
    uint32_t preferredSubLayerCount;
    (struct VkVideoEncodeH265QpKHR) VkVideoEncodeH265QpKHR preferredConstantQp;
    uint32_t preferredMaxL0ReferenceCount;
    uint32_t preferredMaxL1ReferenceCount;
};

Layout

struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    int32_t minQpDelta;
    int32_t maxQpDelta;
};

Layout

struct VkVideoEncodeH265RateControlInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH265RateControlFlagsKHR flags;
    uint32_t gopFrameCount;
    uint32_t idrPeriod;
    uint32_t consecutiveBFrameCount;
    uint32_t subLayerCount;
};

Layout

struct VkVideoEncodeH265RateControlLayerInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMinQp;
    (struct VkVideoEncodeH265QpKHR) VkVideoEncodeH265QpKHR minQp;
    (uint32_t) VkBool32 useMaxQp;
    (struct VkVideoEncodeH265QpKHR) VkVideoEncodeH265QpKHR maxQp;
    (uint32_t) VkBool32 useMaxFrameSize;
    (struct VkVideoEncodeH265FrameSizeKHR) VkVideoEncodeH265FrameSizeKHR maxFrameSize;
};

Layout

struct VkVideoEncodeH265SessionCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 useMaxLevelIdc;
    (int) StdVideoH265LevelIdc maxLevelIdc;
};

Layout

struct VkVideoEncodeH265SessionParametersAddInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t stdVPSCount;
    const StdVideoH265VideoParameterSet* pStdVPSs;
    uint32_t stdSPSCount;
    const StdVideoH265SequenceParameterSet* pStdSPSs;
    uint32_t stdPPSCount;
    const StdVideoH265PictureParameterSet* pStdPPSs;
};

Layout

struct VkVideoEncodeH265SessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t maxStdVPSCount;
    uint32_t maxStdSPSCount;
    uint32_t maxStdPPSCount;
    const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
};

Layout

struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hasStdVPSOverrides;
    (uint32_t) VkBool32 hasStdSPSOverrides;
    (uint32_t) VkBool32 hasStdPPSOverrides;
};

Layout

struct VkVideoEncodeH265SessionParametersGetInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint32_t) VkBool32 writeStdVPS;
    (uint32_t) VkBool32 writeStdSPS;
    (uint32_t) VkBool32 writeStdPPS;
    uint32_t stdVPSId;
    uint32_t stdSPSId;
    uint32_t stdPPSId;
};

Layout

struct VkVideoEncodeInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeFlagsKHR flags;
    (uint64_t) VkBuffer dstBuffer;
    (uint64_t) VkDeviceSize dstBufferOffset;
    (uint64_t) VkDeviceSize dstBufferRange;
    (struct VkVideoPictureResourceInfoKHR) VkVideoPictureResourceInfoKHR srcPictureResource;
    const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
    uint32_t referenceSlotCount;
    const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
    uint32_t precedingExternallyEncodedBytes;
};

Layout

struct VkVideoEncodeQualityLevelInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t qualityLevel;
};

Layout

struct VkVideoEncodeQualityLevelPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode;
    uint32_t preferredRateControlLayerCount;
};

Layout

struct VkVideoEncodeQuantizationMapCapabilitiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D maxQuantizationMapExtent;
};

Layout

struct VkVideoEncodeQuantizationMapInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkImageView quantizationMap;
    (struct VkExtent2D) VkExtent2D quantizationMapExtent;
};

Layout

struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkExtent2D) VkExtent2D quantizationMapTexelSize;
};

Layout

struct VkVideoEncodeRateControlInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeRateControlFlagsKHR flags;
    (int) VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;
    uint32_t layerCount;
    const VkVideoEncodeRateControlLayerInfoKHR* pLayers;
    uint32_t virtualBufferSizeInMs;
    uint32_t initialVirtualBufferSizeInMs;
};

Layout

struct VkVideoEncodeRateControlLayerInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint64_t averageBitrate;
    uint64_t maxBitrate;
    uint32_t frameRateNumerator;
    uint32_t frameRateDenominator;
};

Layout

struct VkVideoEncodeSessionParametersFeedbackInfoKHR {
    (int) VkStructureType sType;
    void* pNext;
    (uint32_t) VkBool32 hasOverrides;
};

Layout

struct VkVideoEncodeSessionParametersGetInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkVideoSessionParametersKHR videoSessionParameters;
};

Layout

struct VkVideoEncodeUsageInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeUsageFlagsKHR videoUsageHints;
    ((uint32_t) VkFlags) VkVideoEncodeContentFlagsKHR videoContentHints;
    (int) VkVideoEncodeTuningModeKHR tuningMode;
};

Layout

struct VkVideoEndCodingInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoEndCodingFlagsKHR flags;
};

Layout

struct VkVideoFormatAV1QuantizationMapPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes;
};

Layout

struct VkVideoFormatH265QuantizationMapPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    ((uint32_t) VkFlags) VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes;
};

Layout

struct VkVideoFormatPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (int) VkFormat format;
    (struct VkComponentMapping) VkComponentMapping componentMapping;
    ((uint32_t) VkFlags) VkImageCreateFlags imageCreateFlags;
    (int) VkImageType imageType;
    (int) VkImageTiling imageTiling;
    ((uint32_t) VkFlags) VkImageUsageFlags imageUsageFlags;
};

Layout

struct VkVideoFormatQuantizationMapPropertiesKHR {
    (int) VkStructureType sType;
    void* pNext;
    (struct VkExtent2D) VkExtent2D quantizationMapTexelSize;
};

Layout

struct VkVideoInlineQueryInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkQueryPool queryPool;
    uint32_t firstQuery;
    uint32_t queryCount;
};

Layout

struct VkVideoPictureResourceInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (struct VkOffset2D) VkOffset2D codedOffset;
    (struct VkExtent2D) VkExtent2D codedExtent;
    uint32_t baseArrayLayer;
    (uint64_t) VkImageView imageViewBinding;
};

Layout

struct VkVideoProfileInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    (int) VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
    ((uint32_t) VkFlags) VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
    ((uint32_t) VkFlags) VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
    ((uint32_t) VkFlags) VkVideoComponentBitDepthFlagsKHR chromaBitDepth;
};

Layout

struct VkVideoProfileListInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t profileCount;
    const VkVideoProfileInfoKHR* pProfiles;
};

Layout

struct VkVideoReferenceSlotInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    int32_t slotIndex;
    const VkVideoPictureResourceInfoKHR* pPictureResource;
};

Layout

struct VkVideoSessionCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t queueFamilyIndex;
    ((uint32_t) VkFlags) VkVideoSessionCreateFlagsKHR flags;
    const VkVideoProfileInfoKHR* pVideoProfile;
    (int) VkFormat pictureFormat;
    (struct VkExtent2D) VkExtent2D maxCodedExtent;
    (int) VkFormat referencePictureFormat;
    uint32_t maxDpbSlots;
    uint32_t maxActiveReferencePictures;
    const VkExtensionProperties* pStdHeaderVersion;
};

Layout

struct VkVideoSessionMemoryRequirementsKHR {
    (int) VkStructureType sType;
    void* pNext;
    uint32_t memoryBindIndex;
    (struct VkMemoryRequirements) VkMemoryRequirements memoryRequirements;
};

Layout

struct VkVideoSessionParametersCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkVideoSessionParametersCreateFlagsKHR flags;
    (uint64_t) VkVideoSessionParametersKHR videoSessionParametersTemplate;
    (uint64_t) VkVideoSessionKHR videoSession;
};

Layout

struct VkVideoSessionParametersUpdateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t updateSequenceCount;
};

Layout

struct VkViewport {
    float x;
    float y;
    float width;
    float height;
    float minDepth;
    float maxDepth;
};
A buffer of VkViewport.

Layout

struct VkViewportSwizzleNV {
    (int) VkViewportCoordinateSwizzleNV x;
    (int) VkViewportCoordinateSwizzleNV y;
    (int) VkViewportCoordinateSwizzleNV z;
    (int) VkViewportCoordinateSwizzleNV w;
};
A buffer of VkViewportSwizzleNV.

Layout

struct VkViewportWScalingNV {
    float xcoeff;
    float ycoeff;
};

Layout

struct VkViSurfaceCreateInfoNN {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkViSurfaceCreateFlagsNN flags;
    void* window;
};
typedef void (*VkVoidFunction)();

Layout

struct VkWaylandSurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkWaylandSurfaceCreateFlagsKHR flags;
    struct wl_display * display;
    struct wl_surface * surface;
};

Layout

struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t acquireCount;
    const VkDeviceMemory* pAcquireSyncs;
    const uint64_t* pAcquireKeys;
    const uint32_t* pAcquireTimeouts;
    uint32_t releaseCount;
    const VkDeviceMemory* pReleaseSyncs;
    const uint64_t* pReleaseKeys;
};

Layout

struct VkWin32KeyedMutexAcquireReleaseInfoNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t acquireCount;
    const VkDeviceMemory* pAcquireSyncs;
    const uint64_t* pAcquireKeys;
    const uint32_t* pAcquireTimeoutMilliseconds;
    uint32_t releaseCount;
    const VkDeviceMemory* pReleaseSyncs;
    const uint64_t* pReleaseKeys;
};

Layout

struct VkWin32SurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkWin32SurfaceCreateFlagsKHR flags;
    (void*) HINSTANCE hinstance;
    (void*) HWND hwnd;
};

Layout

struct VkWriteDescriptorSet {
    (int) VkStructureType sType;
    const void* pNext;
    (uint64_t) VkDescriptorSet dstSet;
    uint32_t dstBinding;
    uint32_t dstArrayElement;
    uint32_t descriptorCount;
    (int) VkDescriptorType descriptorType;
    const VkDescriptorImageInfo* pImageInfo;
    const VkDescriptorBufferInfo* pBufferInfo;
    const VkBufferView* pTexelBufferView;
};

Layout

struct VkWriteDescriptorSetAccelerationStructureKHR {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t accelerationStructureCount;
    const VkAccelerationStructureKHR* pAccelerationStructures;
};

Layout

struct VkWriteDescriptorSetAccelerationStructureNV {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t accelerationStructureCount;
    const VkAccelerationStructureNV* pAccelerationStructures;
};

Layout

struct VkWriteDescriptorSetInlineUniformBlock {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t dataSize;
    const void* pData;
};

Layout

struct VkWriteIndirectExecutionSetPipelineEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t index;
    (uint64_t) VkPipeline pipeline;
};

Layout

struct VkWriteIndirectExecutionSetShaderEXT {
    (int) VkStructureType sType;
    const void* pNext;
    uint32_t index;
    (uint64_t) VkShaderEXT shader;
};

Layout

struct VkXcbSurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkXcbSurfaceCreateFlagsKHR flags;
    xcb_connection_t* connection;
    (uint32_t) xcb_window_t window;
};

Layout

struct VkXlibSurfaceCreateInfoKHR {
    (int) VkStructureType sType;
    const void* pNext;
    ((uint32_t) VkFlags) VkXlibSurfaceCreateFlagsKHR flags;
    Display* dpy;
    ((unsigned long) XID) Window window;
};

Layout

struct VkXYColorEXT {
    float x;
    float y;
};
A buffer of VkXYColorEXT.