1 /* 2 * Copyright 2024 Valve Corporation 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #pragma once 7 8 #include "libcl.h" 9 10 typedef enum VkQueryType { 11 VK_QUERY_TYPE_OCCLUSION = 0, 12 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 13 VK_QUERY_TYPE_TIMESTAMP = 2, 14 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 15 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 16 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 17 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 18 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 19 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 20 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 21 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 22 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 23 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 24 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 25 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 26 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 27 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 28 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 29 } VkQueryType; 30 31 typedef enum VkQueryResultFlagBits { 32 VK_QUERY_RESULT_64_BIT = 0x00000001, 33 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 34 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 35 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 36 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 37 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 38 } VkQueryResultFlagBits; 39 40 typedef struct VkDrawIndexedIndirectCommand { 41 uint32_t indexCount; 42 uint32_t instanceCount; 43 uint32_t firstIndex; 44 int32_t vertexOffset; 45 uint32_t firstInstance; 46 } VkDrawIndexedIndirectCommand __attribute__((aligned(4))); 47 48 typedef struct VkDrawIndirectCommand { 49 uint32_t vertexCount; 50 uint32_t instanceCount; 51 uint32_t firstVertex; 52 uint32_t firstInstance; 53 } VkDrawIndirectCommand __attribute__((aligned(4))); 54