WIP: Partially upgrade to vulkan v0.221.0
TODO, make use of: - VkPhysicalDeviceFeatures.drawIndirectFirstInstance, - VkPhysicalDeviceFeatures.inheritedQueries - VkPhysicalDeviceLimits.timestampComputeAndGraphics - VkSubmitInfo.pWaitDstStageMask - VkSubresourceLayout.arrayPitch - VkSamplerCreateInfo.anisotropyEnable
This commit is contained in:

committed by
Jason Ekstrand

parent
8ce2b0e140
commit
102c74277f
@@ -41,7 +41,7 @@ extern "C" {
|
|||||||
((major << 22) | (minor << 12) | patch)
|
((major << 22) | (minor << 12) | patch)
|
||||||
|
|
||||||
// Vulkan API version supported by this file
|
// Vulkan API version supported by this file
|
||||||
#define VK_API_VERSION VK_MAKE_VERSION(0, 210, 1)
|
#define VK_API_VERSION VK_MAKE_VERSION(0, 221, 0)
|
||||||
|
|
||||||
|
|
||||||
#define VK_NULL_HANDLE 0
|
#define VK_NULL_HANDLE 0
|
||||||
@@ -107,6 +107,14 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
|
|||||||
#define VK_MAX_DESCRIPTION_SIZE 256
|
#define VK_MAX_DESCRIPTION_SIZE 256
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum VkPipelineCacheHeaderVersion {
|
||||||
|
VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
|
||||||
|
VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
|
||||||
|
VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
|
||||||
|
VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),
|
||||||
|
VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} VkPipelineCacheHeaderVersion;
|
||||||
|
|
||||||
typedef enum VkResult {
|
typedef enum VkResult {
|
||||||
VK_SUCCESS = 0,
|
VK_SUCCESS = 0,
|
||||||
VK_NOT_READY = 1,
|
VK_NOT_READY = 1,
|
||||||
@@ -130,6 +138,7 @@ typedef enum VkResult {
|
|||||||
VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
|
VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
|
||||||
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
|
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
|
||||||
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000008000,
|
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000008000,
|
||||||
|
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
|
||||||
VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED,
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED,
|
||||||
VK_RESULT_END_RANGE = VK_INCOMPLETE,
|
VK_RESULT_END_RANGE = VK_INCOMPLETE,
|
||||||
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1),
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1),
|
||||||
@@ -190,6 +199,13 @@ typedef enum VkStructureType {
|
|||||||
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
|
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
|
||||||
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
|
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
|
||||||
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
|
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
|
||||||
|
VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
|
||||||
|
VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
|
||||||
|
VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
|
||||||
|
VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,
|
||||||
|
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
|
||||||
|
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
|
||||||
|
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000,
|
||||||
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
|
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
|
||||||
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
|
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
|
||||||
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
|
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
|
||||||
@@ -846,6 +862,27 @@ typedef enum VkMemoryHeapFlagBits {
|
|||||||
typedef VkFlags VkMemoryHeapFlags;
|
typedef VkFlags VkMemoryHeapFlags;
|
||||||
typedef VkFlags VkDeviceCreateFlags;
|
typedef VkFlags VkDeviceCreateFlags;
|
||||||
typedef VkFlags VkDeviceQueueCreateFlags;
|
typedef VkFlags VkDeviceQueueCreateFlags;
|
||||||
|
|
||||||
|
typedef enum VkPipelineStageFlagBits {
|
||||||
|
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
|
||||||
|
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
|
||||||
|
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
|
||||||
|
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
|
||||||
|
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
|
||||||
|
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
|
||||||
|
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
|
||||||
|
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
|
||||||
|
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
|
||||||
|
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
|
||||||
|
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
|
||||||
|
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
|
||||||
|
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
|
||||||
|
VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
|
||||||
|
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
|
||||||
|
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
|
||||||
|
} VkPipelineStageFlagBits;
|
||||||
|
typedef VkFlags VkPipelineStageFlags;
|
||||||
typedef VkFlags VkMemoryMapFlags;
|
typedef VkFlags VkMemoryMapFlags;
|
||||||
|
|
||||||
typedef enum VkImageAspectFlagBits {
|
typedef enum VkImageAspectFlagBits {
|
||||||
@@ -892,7 +929,6 @@ typedef enum VkQueryPipelineStatisticFlagBits {
|
|||||||
typedef VkFlags VkQueryPipelineStatisticFlags;
|
typedef VkFlags VkQueryPipelineStatisticFlags;
|
||||||
|
|
||||||
typedef enum VkQueryResultFlagBits {
|
typedef enum VkQueryResultFlagBits {
|
||||||
VK_QUERY_RESULT_DEFAULT = 0,
|
|
||||||
VK_QUERY_RESULT_64_BIT = 0x00000001,
|
VK_QUERY_RESULT_64_BIT = 0x00000001,
|
||||||
VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
|
VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
|
||||||
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
|
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
|
||||||
@@ -944,7 +980,7 @@ typedef enum VkShaderStageFlagBits {
|
|||||||
} VkShaderStageFlagBits;
|
} VkShaderStageFlagBits;
|
||||||
typedef VkFlags VkPipelineVertexInputStateCreateFlags;
|
typedef VkFlags VkPipelineVertexInputStateCreateFlags;
|
||||||
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
|
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
|
||||||
typedef VkFlags VkPipelineTesselationStateCreateFlags;
|
typedef VkFlags VkPipelineTessellationStateCreateFlags;
|
||||||
typedef VkFlags VkPipelineViewportStateCreateFlags;
|
typedef VkFlags VkPipelineViewportStateCreateFlags;
|
||||||
typedef VkFlags VkPipelineRasterizationStateCreateFlags;
|
typedef VkFlags VkPipelineRasterizationStateCreateFlags;
|
||||||
|
|
||||||
@@ -986,26 +1022,6 @@ typedef enum VkAttachmentDescriptionFlagBits {
|
|||||||
typedef VkFlags VkAttachmentDescriptionFlags;
|
typedef VkFlags VkAttachmentDescriptionFlags;
|
||||||
typedef VkFlags VkSubpassDescriptionFlags;
|
typedef VkFlags VkSubpassDescriptionFlags;
|
||||||
|
|
||||||
typedef enum VkPipelineStageFlagBits {
|
|
||||||
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
|
|
||||||
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
|
|
||||||
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
|
|
||||||
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
|
|
||||||
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
|
|
||||||
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
|
|
||||||
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
|
|
||||||
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
|
|
||||||
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
|
|
||||||
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
|
|
||||||
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
|
|
||||||
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
|
|
||||||
VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
|
|
||||||
VK_PIPELINE_STAGE_HOST_BIT = 0x00002000,
|
|
||||||
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00004000,
|
|
||||||
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00008000,
|
|
||||||
} VkPipelineStageFlagBits;
|
|
||||||
typedef VkFlags VkPipelineStageFlags;
|
|
||||||
|
|
||||||
typedef enum VkAccessFlagBits {
|
typedef enum VkAccessFlagBits {
|
||||||
VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
|
VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
|
||||||
VK_ACCESS_INDEX_READ_BIT = 0x00000002,
|
VK_ACCESS_INDEX_READ_BIT = 0x00000002,
|
||||||
@@ -1061,7 +1077,6 @@ typedef enum VkCommandBufferResetFlagBits {
|
|||||||
typedef VkFlags VkCommandBufferResetFlags;
|
typedef VkFlags VkCommandBufferResetFlags;
|
||||||
|
|
||||||
typedef enum VkStencilFaceFlagBits {
|
typedef enum VkStencilFaceFlagBits {
|
||||||
VK_STENCIL_FACE_NONE = 0,
|
|
||||||
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
|
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
|
||||||
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
|
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
|
||||||
VK_STENCIL_FRONT_AND_BACK = 0x3,
|
VK_STENCIL_FRONT_AND_BACK = 0x3,
|
||||||
@@ -1140,6 +1155,7 @@ typedef struct VkPhysicalDeviceFeatures {
|
|||||||
VkBool32 dualSrcBlend;
|
VkBool32 dualSrcBlend;
|
||||||
VkBool32 logicOp;
|
VkBool32 logicOp;
|
||||||
VkBool32 multiDrawIndirect;
|
VkBool32 multiDrawIndirect;
|
||||||
|
VkBool32 drawIndirectFirstInstance;
|
||||||
VkBool32 depthClamp;
|
VkBool32 depthClamp;
|
||||||
VkBool32 depthBiasClamp;
|
VkBool32 depthBiasClamp;
|
||||||
VkBool32 fillModeNonSolid;
|
VkBool32 fillModeNonSolid;
|
||||||
@@ -1183,6 +1199,7 @@ typedef struct VkPhysicalDeviceFeatures {
|
|||||||
VkBool32 sparseResidency16Samples;
|
VkBool32 sparseResidency16Samples;
|
||||||
VkBool32 sparseResidencyAliased;
|
VkBool32 sparseResidencyAliased;
|
||||||
VkBool32 variableMultisampleRate;
|
VkBool32 variableMultisampleRate;
|
||||||
|
VkBool32 inheritedQueries;
|
||||||
} VkPhysicalDeviceFeatures;
|
} VkPhysicalDeviceFeatures;
|
||||||
|
|
||||||
typedef struct VkFormatProperties {
|
typedef struct VkFormatProperties {
|
||||||
@@ -1297,6 +1314,7 @@ typedef struct VkPhysicalDeviceLimits {
|
|||||||
VkSampleCountFlags sampledImageStencilSampleCounts;
|
VkSampleCountFlags sampledImageStencilSampleCounts;
|
||||||
VkSampleCountFlags storageImageSampleCounts;
|
VkSampleCountFlags storageImageSampleCounts;
|
||||||
uint32_t maxSampleMaskWords;
|
uint32_t maxSampleMaskWords;
|
||||||
|
VkBool32 timestampComputeAndGraphics;
|
||||||
float timestampPeriod;
|
float timestampPeriod;
|
||||||
uint32_t maxClipDistances;
|
uint32_t maxClipDistances;
|
||||||
uint32_t maxCullDistances;
|
uint32_t maxCullDistances;
|
||||||
@@ -1396,6 +1414,7 @@ typedef struct VkSubmitInfo {
|
|||||||
const void* pNext;
|
const void* pNext;
|
||||||
uint32_t waitSemaphoreCount;
|
uint32_t waitSemaphoreCount;
|
||||||
const VkSemaphore* pWaitSemaphores;
|
const VkSemaphore* pWaitSemaphores;
|
||||||
|
const VkPipelineStageFlags* pWaitDstStageMask;
|
||||||
uint32_t commandBufferCount;
|
uint32_t commandBufferCount;
|
||||||
const VkCommandBuffer* pCommandBuffers;
|
const VkCommandBuffer* pCommandBuffers;
|
||||||
uint32_t signalSemaphoreCount;
|
uint32_t signalSemaphoreCount;
|
||||||
@@ -1431,7 +1450,7 @@ typedef struct VkSparseImageFormatProperties {
|
|||||||
|
|
||||||
typedef struct VkSparseImageMemoryRequirements {
|
typedef struct VkSparseImageMemoryRequirements {
|
||||||
VkSparseImageFormatProperties formatProperties;
|
VkSparseImageFormatProperties formatProperties;
|
||||||
uint32_t imageMipTailStartLod;
|
uint32_t imageMipTailFirstLod;
|
||||||
VkDeviceSize imageMipTailSize;
|
VkDeviceSize imageMipTailSize;
|
||||||
VkDeviceSize imageMipTailOffset;
|
VkDeviceSize imageMipTailOffset;
|
||||||
VkDeviceSize imageMipTailStride;
|
VkDeviceSize imageMipTailStride;
|
||||||
@@ -1569,6 +1588,7 @@ typedef struct VkSubresourceLayout {
|
|||||||
VkDeviceSize offset;
|
VkDeviceSize offset;
|
||||||
VkDeviceSize size;
|
VkDeviceSize size;
|
||||||
VkDeviceSize rowPitch;
|
VkDeviceSize rowPitch;
|
||||||
|
VkDeviceSize arrayPitch;
|
||||||
VkDeviceSize depthPitch;
|
VkDeviceSize depthPitch;
|
||||||
} VkSubresourceLayout;
|
} VkSubresourceLayout;
|
||||||
|
|
||||||
@@ -1671,7 +1691,7 @@ typedef struct VkPipelineInputAssemblyStateCreateInfo {
|
|||||||
typedef struct VkPipelineTessellationStateCreateInfo {
|
typedef struct VkPipelineTessellationStateCreateInfo {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkPipelineTesselationStateCreateFlags flags;
|
VkPipelineTessellationStateCreateFlags flags;
|
||||||
uint32_t patchControlPoints;
|
uint32_t patchControlPoints;
|
||||||
} VkPipelineTessellationStateCreateInfo;
|
} VkPipelineTessellationStateCreateInfo;
|
||||||
|
|
||||||
@@ -1851,6 +1871,7 @@ typedef struct VkSamplerCreateInfo {
|
|||||||
VkSamplerAddressMode addressModeV;
|
VkSamplerAddressMode addressModeV;
|
||||||
VkSamplerAddressMode addressModeW;
|
VkSamplerAddressMode addressModeW;
|
||||||
float mipLodBias;
|
float mipLodBias;
|
||||||
|
VkBool32 anisotropyEnable;
|
||||||
float maxAnisotropy;
|
float maxAnisotropy;
|
||||||
VkBool32 compareEnable;
|
VkBool32 compareEnable;
|
||||||
VkCompareOp compareOp;
|
VkCompareOp compareOp;
|
||||||
@@ -1873,7 +1894,7 @@ typedef struct VkDescriptorSetLayoutCreateInfo {
|
|||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkDescriptorSetLayoutCreateFlags flags;
|
VkDescriptorSetLayoutCreateFlags flags;
|
||||||
uint32_t bindingCount;
|
uint32_t bindingCount;
|
||||||
const VkDescriptorSetLayoutBinding* pBinding;
|
const VkDescriptorSetLayoutBinding* pBindings;
|
||||||
} VkDescriptorSetLayoutCreateInfo;
|
} VkDescriptorSetLayoutCreateInfo;
|
||||||
|
|
||||||
typedef struct VkDescriptorPoolSize {
|
typedef struct VkDescriptorPoolSize {
|
||||||
@@ -2214,7 +2235,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
|
|||||||
typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
|
typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
|
typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
|
typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
|
typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
|
||||||
@@ -2259,8 +2280,8 @@ typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBu
|
|||||||
typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
|
typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
|
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
|
typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
|
||||||
@@ -2270,7 +2291,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBu
|
|||||||
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
|
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
|
typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
|
typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
|
typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
|
typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
|
||||||
@@ -2294,9 +2315,9 @@ typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uin
|
|||||||
typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const void* const* ppMemoryBarriers);
|
typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const void* const* ppMemoryBarriers);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t entry, VkQueryControlFlags flags);
|
typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t entry, VkQueryControlFlags flags);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t entry);
|
typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t entry);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount);
|
typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t entry);
|
typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t entry);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
|
typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
|
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
|
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
|
||||||
@@ -2562,7 +2583,7 @@ VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
|
|||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
|
||||||
VkDevice device,
|
VkDevice device,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount,
|
uint32_t queryCount,
|
||||||
size_t dataSize,
|
size_t dataSize,
|
||||||
void* pData,
|
void* pData,
|
||||||
@@ -2813,11 +2834,13 @@ VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
|
|||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
|
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t firstViewport,
|
||||||
uint32_t viewportCount,
|
uint32_t viewportCount,
|
||||||
const VkViewport* pViewports);
|
const VkViewport* pViewports);
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
|
VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t firstScissor,
|
||||||
uint32_t scissorCount,
|
uint32_t scissorCount,
|
||||||
const VkRect2D* pScissors);
|
const VkRect2D* pScissors);
|
||||||
|
|
||||||
@@ -2873,7 +2896,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
|
|||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
|
VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
uint32_t startBinding,
|
uint32_t firstBinding,
|
||||||
uint32_t bindingCount,
|
uint32_t bindingCount,
|
||||||
const VkBuffer* pBuffers,
|
const VkBuffer* pBuffers,
|
||||||
const VkDeviceSize* pOffsets);
|
const VkDeviceSize* pOffsets);
|
||||||
@@ -3047,7 +3070,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
|
|||||||
VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
|
VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount);
|
uint32_t queryCount);
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
|
VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
|
||||||
@@ -3059,7 +3082,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
|
|||||||
VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
|
VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount,
|
uint32_t queryCount,
|
||||||
VkBuffer dstBuffer,
|
VkBuffer dstBuffer,
|
||||||
VkDeviceSize dstOffset,
|
VkDeviceSize dstOffset,
|
||||||
@@ -3095,8 +3118,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
|
|||||||
#define VK_KHR_surface 1
|
#define VK_KHR_surface 1
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
|
||||||
|
|
||||||
#define VK_KHR_SURFACE_REVISION 24
|
#define VK_KHR_SURFACE_SPEC_VERSION 24
|
||||||
#define VK_KHR_SURFACE_EXTENSION_NUMBER 1
|
|
||||||
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
|
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
|
||||||
|
|
||||||
|
|
||||||
@@ -3121,7 +3143,7 @@ typedef enum VkPresentModeKHR {
|
|||||||
|
|
||||||
|
|
||||||
typedef enum VkSurfaceTransformFlagBitsKHR {
|
typedef enum VkSurfaceTransformFlagBitsKHR {
|
||||||
VK_SURFACE_TRANSFORM_NONE_BIT_KHR = 0x00000001,
|
VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
|
||||||
VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
|
VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
|
||||||
VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
|
VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
|
||||||
VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
|
VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
|
||||||
@@ -3199,8 +3221,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
|
|||||||
#define VK_KHR_swapchain 1
|
#define VK_KHR_swapchain 1
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
|
||||||
|
|
||||||
#define VK_KHR_SWAPCHAIN_REVISION 67
|
#define VK_KHR_SWAPCHAIN_SPEC_VERSION 67
|
||||||
#define VK_KHR_SWAPCHAIN_EXTENSION_NUMBER 2
|
|
||||||
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
|
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
|
||||||
|
|
||||||
typedef VkFlags VkSwapchainCreateFlagsKHR;
|
typedef VkFlags VkSwapchainCreateFlagsKHR;
|
||||||
@@ -3279,8 +3300,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
|
|||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
|
||||||
|
|
||||||
#define VK_KHR_DISPLAY_REVISION 21
|
#define VK_KHR_DISPLAY_SPEC_VERSION 21
|
||||||
#define VK_KHR_DISPLAY_EXTENSION_NUMBER 3
|
|
||||||
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
|
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
|
||||||
|
|
||||||
|
|
||||||
@@ -3403,8 +3423,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define VK_KHR_display_swapchain 1
|
#define VK_KHR_display_swapchain 1
|
||||||
#define VK_KHR_DISPLAY_SWAPCHAIN_REVISION 9
|
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
|
||||||
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NUMBER 4
|
|
||||||
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
|
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
|
||||||
|
|
||||||
typedef struct VkDisplayPresentInfoKHR {
|
typedef struct VkDisplayPresentInfoKHR {
|
||||||
@@ -3431,18 +3450,27 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
|
|||||||
#define VK_KHR_xlib_surface 1
|
#define VK_KHR_xlib_surface 1
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
#define VK_KHR_XLIB_SURFACE_REVISION 5
|
#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
|
||||||
#define VK_KHR_XLIB_SURFACE_EXTENSION_NUMBER 5
|
|
||||||
#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
|
#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, Display* dpy, Window window, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkXlibSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkXlibSurfaceCreateFlagsKHR flags;
|
||||||
|
Display* dpy;
|
||||||
|
Window window;
|
||||||
|
} VkXlibSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
Display* dpy,
|
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
Window window,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
@@ -3458,18 +3486,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
|
|||||||
#define VK_KHR_xcb_surface 1
|
#define VK_KHR_xcb_surface 1
|
||||||
#include <xcb/xcb.h>
|
#include <xcb/xcb.h>
|
||||||
|
|
||||||
#define VK_KHR_XCB_SURFACE_REVISION 5
|
#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
|
||||||
#define VK_KHR_XCB_SURFACE_EXTENSION_NUMBER 6
|
|
||||||
#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
|
#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, xcb_connection_t* connection, xcb_window_t window, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkXcbSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkXcbSurfaceCreateFlagsKHR flags;
|
||||||
|
xcb_connection_t* connection;
|
||||||
|
xcb_window_t window;
|
||||||
|
} VkXcbSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
xcb_connection_t* connection,
|
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
xcb_window_t window,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
@@ -3485,18 +3522,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
|
|||||||
#define VK_KHR_wayland_surface 1
|
#define VK_KHR_wayland_surface 1
|
||||||
#include <wayland-client.h>
|
#include <wayland-client.h>
|
||||||
|
|
||||||
#define VK_KHR_WAYLAND_SURFACE_REVISION 4
|
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 5
|
||||||
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NUMBER 7
|
|
||||||
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, struct wl_display* display, struct wl_surface* surface, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkWaylandSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkWaylandSurfaceCreateFlagsKHR flags;
|
||||||
|
struct wl_display* display;
|
||||||
|
struct wl_surface* surface;
|
||||||
|
} VkWaylandSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
struct wl_display* display,
|
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
struct wl_surface* surface,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
@@ -3511,18 +3557,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
|
|||||||
#define VK_KHR_mir_surface 1
|
#define VK_KHR_mir_surface 1
|
||||||
#include <mir_toolkit/client_types.h>
|
#include <mir_toolkit/client_types.h>
|
||||||
|
|
||||||
#define VK_KHR_MIR_SURFACE_REVISION 4
|
#define VK_KHR_MIR_SURFACE_SPEC_VERSION 4
|
||||||
#define VK_KHR_MIR_SURFACE_EXTENSION_NUMBER 8
|
|
||||||
#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"
|
#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, MirConnection* connection, MirSurface* mirSurface, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkMirSurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkMirSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkMirSurfaceCreateFlagsKHR flags;
|
||||||
|
MirConnection* connection;
|
||||||
|
MirSurface* mirSurface;
|
||||||
|
} VkMirSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
MirConnection* connection,
|
const VkMirSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
MirSurface* mirSurface,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
@@ -3537,16 +3592,25 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(
|
|||||||
#define VK_KHR_android_surface 1
|
#define VK_KHR_android_surface 1
|
||||||
#include <android/native_window.h>
|
#include <android/native_window.h>
|
||||||
|
|
||||||
#define VK_KHR_ANDROID_SURFACE_REVISION 4
|
#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 5
|
||||||
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NUMBER 9
|
|
||||||
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
|
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, ANativeWindow* window, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkAndroidSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAndroidSurfaceCreateFlagsKHR flags;
|
||||||
|
ANativeWindow* window;
|
||||||
|
} VkAndroidSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
ANativeWindow* window,
|
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
#endif
|
#endif
|
||||||
@@ -3556,18 +3620,27 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
|||||||
#define VK_KHR_win32_surface 1
|
#define VK_KHR_win32_surface 1
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
#define VK_KHR_WIN32_SURFACE_REVISION 4
|
#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 5
|
||||||
#define VK_KHR_WIN32_SURFACE_EXTENSION_NUMBER 10
|
|
||||||
#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
|
#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, HINSTANCE hinstance, HWND hwnd, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
|
||||||
|
|
||||||
|
typedef struct VkWin32SurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkWin32SurfaceCreateFlagsKHR flags;
|
||||||
|
HINSTANCE hinstance;
|
||||||
|
HWND hwnd;
|
||||||
|
} VkWin32SurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
|
||||||
|
|
||||||
#ifdef VK_PROTOTYPES
|
#ifdef VK_PROTOTYPES
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
|
||||||
VkInstance instance,
|
VkInstance instance,
|
||||||
HINSTANCE hinstance,
|
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
|
||||||
HWND hwnd,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
|
@@ -377,13 +377,14 @@ void anv_CmdBindPipeline(
|
|||||||
|
|
||||||
void anv_CmdSetViewport(
|
void anv_CmdSetViewport(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t firstViewport,
|
||||||
uint32_t viewportCount,
|
uint32_t viewportCount,
|
||||||
const VkViewport* pViewports)
|
const VkViewport* pViewports)
|
||||||
{
|
{
|
||||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||||
|
|
||||||
cmd_buffer->state.dynamic.viewport.count = viewportCount;
|
cmd_buffer->state.dynamic.viewport.count = viewportCount;
|
||||||
memcpy(cmd_buffer->state.dynamic.viewport.viewports,
|
memcpy(cmd_buffer->state.dynamic.viewport.viewports + firstViewport,
|
||||||
pViewports, viewportCount * sizeof(*pViewports));
|
pViewports, viewportCount * sizeof(*pViewports));
|
||||||
|
|
||||||
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_VIEWPORT;
|
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_VIEWPORT;
|
||||||
@@ -391,13 +392,14 @@ void anv_CmdSetViewport(
|
|||||||
|
|
||||||
void anv_CmdSetScissor(
|
void anv_CmdSetScissor(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t firstScissor,
|
||||||
uint32_t scissorCount,
|
uint32_t scissorCount,
|
||||||
const VkRect2D* pScissors)
|
const VkRect2D* pScissors)
|
||||||
{
|
{
|
||||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||||
|
|
||||||
cmd_buffer->state.dynamic.scissor.count = scissorCount;
|
cmd_buffer->state.dynamic.scissor.count = scissorCount;
|
||||||
memcpy(cmd_buffer->state.dynamic.scissor.scissors,
|
memcpy(cmd_buffer->state.dynamic.scissor.scissors + firstScissor,
|
||||||
pScissors, scissorCount * sizeof(*pScissors));
|
pScissors, scissorCount * sizeof(*pScissors));
|
||||||
|
|
||||||
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_SCISSOR;
|
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_SCISSOR;
|
||||||
@@ -558,7 +560,7 @@ void anv_CmdBindDescriptorSets(
|
|||||||
|
|
||||||
void anv_CmdBindVertexBuffers(
|
void anv_CmdBindVertexBuffers(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
uint32_t startBinding,
|
uint32_t firstBinding,
|
||||||
uint32_t bindingCount,
|
uint32_t bindingCount,
|
||||||
const VkBuffer* pBuffers,
|
const VkBuffer* pBuffers,
|
||||||
const VkDeviceSize* pOffsets)
|
const VkDeviceSize* pOffsets)
|
||||||
@@ -569,11 +571,11 @@ void anv_CmdBindVertexBuffers(
|
|||||||
/* We have to defer setting up vertex buffer since we need the buffer
|
/* We have to defer setting up vertex buffer since we need the buffer
|
||||||
* stride from the pipeline. */
|
* stride from the pipeline. */
|
||||||
|
|
||||||
assert(startBinding + bindingCount < MAX_VBS);
|
assert(firstBinding + bindingCount < MAX_VBS);
|
||||||
for (uint32_t i = 0; i < bindingCount; i++) {
|
for (uint32_t i = 0; i < bindingCount; i++) {
|
||||||
vb[startBinding + i].buffer = anv_buffer_from_handle(pBuffers[i]);
|
vb[firstBinding + i].buffer = anv_buffer_from_handle(pBuffers[i]);
|
||||||
vb[startBinding + i].offset = pOffsets[i];
|
vb[firstBinding + i].offset = pOffsets[i];
|
||||||
cmd_buffer->state.vb_dirty |= 1 << (startBinding + i);
|
cmd_buffer->state.vb_dirty |= 1 << (firstBinding + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -47,9 +47,9 @@ VkResult anv_CreateDescriptorSetLayout(
|
|||||||
uint32_t max_binding = 0;
|
uint32_t max_binding = 0;
|
||||||
uint32_t immutable_sampler_count = 0;
|
uint32_t immutable_sampler_count = 0;
|
||||||
for (uint32_t j = 0; j < pCreateInfo->bindingCount; j++) {
|
for (uint32_t j = 0; j < pCreateInfo->bindingCount; j++) {
|
||||||
max_binding = MAX2(max_binding, pCreateInfo->pBinding[j].binding);
|
max_binding = MAX2(max_binding, pCreateInfo->pBindings[j].binding);
|
||||||
if (pCreateInfo->pBinding[j].pImmutableSamplers)
|
if (pCreateInfo->pBindings[j].pImmutableSamplers)
|
||||||
immutable_sampler_count += pCreateInfo->pBinding[j].descriptorCount;
|
immutable_sampler_count += pCreateInfo->pBindings[j].descriptorCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size = sizeof(struct anv_descriptor_set_layout) +
|
size_t size = sizeof(struct anv_descriptor_set_layout) +
|
||||||
@@ -86,7 +86,7 @@ VkResult anv_CreateDescriptorSetLayout(
|
|||||||
uint32_t dynamic_offset_count = 0;
|
uint32_t dynamic_offset_count = 0;
|
||||||
|
|
||||||
for (uint32_t j = 0; j < pCreateInfo->bindingCount; j++) {
|
for (uint32_t j = 0; j < pCreateInfo->bindingCount; j++) {
|
||||||
const VkDescriptorSetLayoutBinding *binding = &pCreateInfo->pBinding[j];
|
const VkDescriptorSetLayoutBinding *binding = &pCreateInfo->pBindings[j];
|
||||||
uint32_t b = binding->binding;
|
uint32_t b = binding->binding;
|
||||||
|
|
||||||
assert(binding->descriptorCount > 0);
|
assert(binding->descriptorCount > 0);
|
||||||
|
@@ -290,7 +290,7 @@ anv_device_init_meta_blit_state(struct anv_device *device)
|
|||||||
VkDescriptorSetLayoutCreateInfo ds_layout_info = {
|
VkDescriptorSetLayoutCreateInfo ds_layout_info = {
|
||||||
.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
|
.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
|
||||||
.bindingCount = 1,
|
.bindingCount = 1,
|
||||||
.pBinding = (VkDescriptorSetLayoutBinding[]) {
|
.pBindings = (VkDescriptorSetLayoutBinding[]) {
|
||||||
{
|
{
|
||||||
.binding = 0,
|
.binding = 0,
|
||||||
.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
|
.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
|
||||||
@@ -637,7 +637,7 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
|
VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
anv_CmdSetViewport(anv_cmd_buffer_to_handle(cmd_buffer), 1,
|
anv_CmdSetViewport(anv_cmd_buffer_to_handle(cmd_buffer), 0, 1,
|
||||||
&(VkViewport) {
|
&(VkViewport) {
|
||||||
.x = 0.0f,
|
.x = 0.0f,
|
||||||
.y = 0.0f,
|
.y = 0.0f,
|
||||||
|
@@ -338,7 +338,7 @@ emit_load_color_clear(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
.depth_stencil_attachment = VK_ATTACHMENT_UNUSED,
|
.depth_stencil_attachment = VK_ATTACHMENT_UNUSED,
|
||||||
});
|
});
|
||||||
|
|
||||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 1,
|
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 0, 1,
|
||||||
(VkViewport[]) {
|
(VkViewport[]) {
|
||||||
{
|
{
|
||||||
.x = 0,
|
.x = 0,
|
||||||
@@ -350,7 +350,7 @@ emit_load_color_clear(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
ANV_CALL(CmdSetScissor)(cmd_buffer_h, 1,
|
ANV_CALL(CmdSetScissor)(cmd_buffer_h, 0, 1,
|
||||||
(VkRect2D[]) {
|
(VkRect2D[]) {
|
||||||
{
|
{
|
||||||
.offset = { 0, 0 },
|
.offset = { 0, 0 },
|
||||||
@@ -506,7 +506,7 @@ emit_load_depthstencil_clear(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
.depth_stencil_attachment = attachment,
|
.depth_stencil_attachment = attachment,
|
||||||
});
|
});
|
||||||
|
|
||||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 1,
|
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 0, 1,
|
||||||
(VkViewport[]) {
|
(VkViewport[]) {
|
||||||
{
|
{
|
||||||
.x = 0,
|
.x = 0,
|
||||||
@@ -520,7 +520,7 @@ emit_load_depthstencil_clear(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
ANV_CALL(CmdSetScissor)(cmd_buffer_h, 1,
|
ANV_CALL(CmdSetScissor)(cmd_buffer_h, 0, 1,
|
||||||
(VkRect2D[]) {
|
(VkRect2D[]) {
|
||||||
{
|
{
|
||||||
.offset = { 0, 0 },
|
.offset = { 0, 0 },
|
||||||
|
@@ -95,7 +95,7 @@ void anv_DestroyQueryPool(
|
|||||||
VkResult anv_GetQueryPoolResults(
|
VkResult anv_GetQueryPoolResults(
|
||||||
VkDevice _device,
|
VkDevice _device,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount,
|
uint32_t queryCount,
|
||||||
size_t dataSize,
|
size_t dataSize,
|
||||||
void* pData,
|
void* pData,
|
||||||
@@ -129,14 +129,14 @@ VkResult anv_GetQueryPoolResults(
|
|||||||
for (uint32_t i = 0; i < queryCount; i++) {
|
for (uint32_t i = 0; i < queryCount; i++) {
|
||||||
switch (pool->type) {
|
switch (pool->type) {
|
||||||
case VK_QUERY_TYPE_OCCLUSION: {
|
case VK_QUERY_TYPE_OCCLUSION: {
|
||||||
result = slot[startQuery + i].end - slot[startQuery + i].begin;
|
result = slot[firstQuery + i].end - slot[firstQuery + i].begin;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_QUERY_TYPE_PIPELINE_STATISTICS:
|
case VK_QUERY_TYPE_PIPELINE_STATISTICS:
|
||||||
/* Not yet implemented */
|
/* Not yet implemented */
|
||||||
break;
|
break;
|
||||||
case VK_QUERY_TYPE_TIMESTAMP: {
|
case VK_QUERY_TYPE_TIMESTAMP: {
|
||||||
result = slot[startQuery + i].begin;
|
result = slot[firstQuery + i].begin;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -147,14 +147,14 @@ VkResult anv_GetQueryPoolResults(
|
|||||||
uint64_t *dst = pData;
|
uint64_t *dst = pData;
|
||||||
dst[0] = result;
|
dst[0] = result;
|
||||||
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
||||||
dst[1] = slot[startQuery + i].available;
|
dst[1] = slot[firstQuery + i].available;
|
||||||
} else {
|
} else {
|
||||||
uint32_t *dst = pData;
|
uint32_t *dst = pData;
|
||||||
if (result > UINT32_MAX)
|
if (result > UINT32_MAX)
|
||||||
result = UINT32_MAX;
|
result = UINT32_MAX;
|
||||||
dst[0] = result;
|
dst[0] = result;
|
||||||
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
||||||
dst[1] = slot[startQuery + i].available;
|
dst[1] = slot[firstQuery + i].available;
|
||||||
}
|
}
|
||||||
|
|
||||||
pData += stride;
|
pData += stride;
|
||||||
@@ -168,7 +168,7 @@ VkResult anv_GetQueryPoolResults(
|
|||||||
void anv_CmdResetQueryPool(
|
void anv_CmdResetQueryPool(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount)
|
uint32_t queryCount)
|
||||||
{
|
{
|
||||||
ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
|
ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
|
||||||
@@ -178,7 +178,7 @@ void anv_CmdResetQueryPool(
|
|||||||
case VK_QUERY_TYPE_OCCLUSION:
|
case VK_QUERY_TYPE_OCCLUSION:
|
||||||
case VK_QUERY_TYPE_TIMESTAMP: {
|
case VK_QUERY_TYPE_TIMESTAMP: {
|
||||||
struct anv_query_pool_slot *slot = pool->bo.map;
|
struct anv_query_pool_slot *slot = pool->bo.map;
|
||||||
slot[startQuery + i].available = 0;
|
slot[firstQuery + i].available = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@@ -351,8 +351,8 @@ wsi_wl_surface_get_capabilities(struct anv_wsi_surface *surface,
|
|||||||
caps->currentExtent = (VkExtent2D) { -1, -1 };
|
caps->currentExtent = (VkExtent2D) { -1, -1 };
|
||||||
caps->minImageExtent = (VkExtent2D) { 1, 1 };
|
caps->minImageExtent = (VkExtent2D) { 1, 1 };
|
||||||
caps->maxImageExtent = (VkExtent2D) { INT16_MAX, INT16_MAX };
|
caps->maxImageExtent = (VkExtent2D) { INT16_MAX, INT16_MAX };
|
||||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
caps->supportedTransforms = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||||
caps->currentTransform = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
caps->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||||
caps->maxImageArrayLayers = 1;
|
caps->maxImageArrayLayers = 1;
|
||||||
|
|
||||||
caps->supportedCompositeAlpha =
|
caps->supportedCompositeAlpha =
|
||||||
@@ -432,11 +432,12 @@ wsi_wl_surface_create_swapchain(struct anv_wsi_surface *surface,
|
|||||||
|
|
||||||
VkResult anv_CreateWaylandSurfaceKHR(
|
VkResult anv_CreateWaylandSurfaceKHR(
|
||||||
VkInstance _instance,
|
VkInstance _instance,
|
||||||
struct wl_display* wl_display,
|
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
struct wl_surface* wl_surface,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface)
|
VkSurfaceKHR* pSurface)
|
||||||
{
|
{
|
||||||
|
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR);
|
||||||
|
|
||||||
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
||||||
struct wsi_wl_surface *surface;
|
struct wsi_wl_surface *surface;
|
||||||
|
|
||||||
@@ -445,8 +446,8 @@ VkResult anv_CreateWaylandSurfaceKHR(
|
|||||||
if (surface == NULL)
|
if (surface == NULL)
|
||||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||||
|
|
||||||
surface->display = wl_display;
|
surface->display = pCreateInfo->display;
|
||||||
surface->surface = wl_surface;
|
surface->surface = pCreateInfo->surface;
|
||||||
|
|
||||||
surface->base.instance = instance;
|
surface->base.instance = instance;
|
||||||
surface->base.destroy = wsi_wl_surface_destroy;
|
surface->base.destroy = wsi_wl_surface_destroy;
|
||||||
|
@@ -83,8 +83,8 @@ x11_surface_get_capabilities(struct anv_wsi_surface *wsi_surface,
|
|||||||
|
|
||||||
caps->minImageCount = 2;
|
caps->minImageCount = 2;
|
||||||
caps->maxImageCount = 4;
|
caps->maxImageCount = 4;
|
||||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
caps->supportedTransforms = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||||
caps->currentTransform = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
caps->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||||
caps->maxImageArrayLayers = 1;
|
caps->maxImageArrayLayers = 1;
|
||||||
caps->supportedCompositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
|
caps->supportedCompositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
|
||||||
caps->supportedUsageFlags =
|
caps->supportedUsageFlags =
|
||||||
@@ -146,11 +146,12 @@ x11_surface_create_swapchain(struct anv_wsi_surface *surface,
|
|||||||
|
|
||||||
VkResult anv_CreateXcbSurfaceKHR(
|
VkResult anv_CreateXcbSurfaceKHR(
|
||||||
VkInstance _instance,
|
VkInstance _instance,
|
||||||
xcb_connection_t* connection,
|
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
xcb_window_t window,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
const VkAllocationCallbacks* pAllocator,
|
||||||
VkSurfaceKHR* pSurface)
|
VkSurfaceKHR* pSurface)
|
||||||
{
|
{
|
||||||
|
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR);
|
||||||
|
|
||||||
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
||||||
struct x11_surface *surface;
|
struct x11_surface *surface;
|
||||||
|
|
||||||
@@ -159,8 +160,8 @@ VkResult anv_CreateXcbSurfaceKHR(
|
|||||||
if (surface == NULL)
|
if (surface == NULL)
|
||||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||||
|
|
||||||
surface->connection = connection;
|
surface->connection = pCreateInfo->connection;
|
||||||
surface->window = window;
|
surface->window = pCreateInfo->window;
|
||||||
|
|
||||||
surface->base.instance = instance;
|
surface->base.instance = instance;
|
||||||
surface->base.destroy = x11_surface_destroy;
|
surface->base.destroy = x11_surface_destroy;
|
||||||
|
@@ -1041,7 +1041,7 @@ store_query_result(struct anv_batch *batch, uint32_t reg,
|
|||||||
void genX(CmdCopyQueryPoolResults)(
|
void genX(CmdCopyQueryPoolResults)(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkQueryPool queryPool,
|
VkQueryPool queryPool,
|
||||||
uint32_t startQuery,
|
uint32_t firstQuery,
|
||||||
uint32_t queryCount,
|
uint32_t queryCount,
|
||||||
VkBuffer destBuffer,
|
VkBuffer destBuffer,
|
||||||
VkDeviceSize destOffset,
|
VkDeviceSize destOffset,
|
||||||
@@ -1061,7 +1061,7 @@ void genX(CmdCopyQueryPoolResults)(
|
|||||||
dst_offset = buffer->offset + destOffset;
|
dst_offset = buffer->offset + destOffset;
|
||||||
for (uint32_t i = 0; i < queryCount; i++) {
|
for (uint32_t i = 0; i < queryCount; i++) {
|
||||||
|
|
||||||
slot_offset = (startQuery + i) * sizeof(struct anv_query_pool_slot);
|
slot_offset = (firstQuery + i) * sizeof(struct anv_query_pool_slot);
|
||||||
switch (pool->type) {
|
switch (pool->type) {
|
||||||
case VK_QUERY_TYPE_OCCLUSION:
|
case VK_QUERY_TYPE_OCCLUSION:
|
||||||
emit_load_alu_reg_u64(&cmd_buffer->batch,
|
emit_load_alu_reg_u64(&cmd_buffer->batch,
|
||||||
|
Reference in New Issue
Block a user