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)
|
||||
|
||||
// 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
|
||||
@@ -107,6 +107,14 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
|
||||
#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 {
|
||||
VK_SUCCESS = 0,
|
||||
VK_NOT_READY = 1,
|
||||
@@ -130,6 +138,7 @@ typedef enum VkResult {
|
||||
VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
|
||||
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
|
||||
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_END_RANGE = VK_INCOMPLETE,
|
||||
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_SURFACE_CREATE_INFO_KHR = 1000002001,
|
||||
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_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),
|
||||
@@ -846,6 +862,27 @@ typedef enum VkMemoryHeapFlagBits {
|
||||
typedef VkFlags VkMemoryHeapFlags;
|
||||
typedef VkFlags VkDeviceCreateFlags;
|
||||
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 enum VkImageAspectFlagBits {
|
||||
@@ -892,7 +929,6 @@ typedef enum VkQueryPipelineStatisticFlagBits {
|
||||
typedef VkFlags VkQueryPipelineStatisticFlags;
|
||||
|
||||
typedef enum VkQueryResultFlagBits {
|
||||
VK_QUERY_RESULT_DEFAULT = 0,
|
||||
VK_QUERY_RESULT_64_BIT = 0x00000001,
|
||||
VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
|
||||
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
|
||||
@@ -944,7 +980,7 @@ typedef enum VkShaderStageFlagBits {
|
||||
} VkShaderStageFlagBits;
|
||||
typedef VkFlags VkPipelineVertexInputStateCreateFlags;
|
||||
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
|
||||
typedef VkFlags VkPipelineTesselationStateCreateFlags;
|
||||
typedef VkFlags VkPipelineTessellationStateCreateFlags;
|
||||
typedef VkFlags VkPipelineViewportStateCreateFlags;
|
||||
typedef VkFlags VkPipelineRasterizationStateCreateFlags;
|
||||
|
||||
@@ -986,26 +1022,6 @@ typedef enum VkAttachmentDescriptionFlagBits {
|
||||
typedef VkFlags VkAttachmentDescriptionFlags;
|
||||
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 {
|
||||
VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
|
||||
VK_ACCESS_INDEX_READ_BIT = 0x00000002,
|
||||
@@ -1061,7 +1077,6 @@ typedef enum VkCommandBufferResetFlagBits {
|
||||
typedef VkFlags VkCommandBufferResetFlags;
|
||||
|
||||
typedef enum VkStencilFaceFlagBits {
|
||||
VK_STENCIL_FACE_NONE = 0,
|
||||
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
|
||||
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
|
||||
VK_STENCIL_FRONT_AND_BACK = 0x3,
|
||||
@@ -1140,6 +1155,7 @@ typedef struct VkPhysicalDeviceFeatures {
|
||||
VkBool32 dualSrcBlend;
|
||||
VkBool32 logicOp;
|
||||
VkBool32 multiDrawIndirect;
|
||||
VkBool32 drawIndirectFirstInstance;
|
||||
VkBool32 depthClamp;
|
||||
VkBool32 depthBiasClamp;
|
||||
VkBool32 fillModeNonSolid;
|
||||
@@ -1183,6 +1199,7 @@ typedef struct VkPhysicalDeviceFeatures {
|
||||
VkBool32 sparseResidency16Samples;
|
||||
VkBool32 sparseResidencyAliased;
|
||||
VkBool32 variableMultisampleRate;
|
||||
VkBool32 inheritedQueries;
|
||||
} VkPhysicalDeviceFeatures;
|
||||
|
||||
typedef struct VkFormatProperties {
|
||||
@@ -1297,6 +1314,7 @@ typedef struct VkPhysicalDeviceLimits {
|
||||
VkSampleCountFlags sampledImageStencilSampleCounts;
|
||||
VkSampleCountFlags storageImageSampleCounts;
|
||||
uint32_t maxSampleMaskWords;
|
||||
VkBool32 timestampComputeAndGraphics;
|
||||
float timestampPeriod;
|
||||
uint32_t maxClipDistances;
|
||||
uint32_t maxCullDistances;
|
||||
@@ -1396,6 +1414,7 @@ typedef struct VkSubmitInfo {
|
||||
const void* pNext;
|
||||
uint32_t waitSemaphoreCount;
|
||||
const VkSemaphore* pWaitSemaphores;
|
||||
const VkPipelineStageFlags* pWaitDstStageMask;
|
||||
uint32_t commandBufferCount;
|
||||
const VkCommandBuffer* pCommandBuffers;
|
||||
uint32_t signalSemaphoreCount;
|
||||
@@ -1431,7 +1450,7 @@ typedef struct VkSparseImageFormatProperties {
|
||||
|
||||
typedef struct VkSparseImageMemoryRequirements {
|
||||
VkSparseImageFormatProperties formatProperties;
|
||||
uint32_t imageMipTailStartLod;
|
||||
uint32_t imageMipTailFirstLod;
|
||||
VkDeviceSize imageMipTailSize;
|
||||
VkDeviceSize imageMipTailOffset;
|
||||
VkDeviceSize imageMipTailStride;
|
||||
@@ -1569,6 +1588,7 @@ typedef struct VkSubresourceLayout {
|
||||
VkDeviceSize offset;
|
||||
VkDeviceSize size;
|
||||
VkDeviceSize rowPitch;
|
||||
VkDeviceSize arrayPitch;
|
||||
VkDeviceSize depthPitch;
|
||||
} VkSubresourceLayout;
|
||||
|
||||
@@ -1671,7 +1691,7 @@ typedef struct VkPipelineInputAssemblyStateCreateInfo {
|
||||
typedef struct VkPipelineTessellationStateCreateInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkPipelineTesselationStateCreateFlags flags;
|
||||
VkPipelineTessellationStateCreateFlags flags;
|
||||
uint32_t patchControlPoints;
|
||||
} VkPipelineTessellationStateCreateInfo;
|
||||
|
||||
@@ -1851,6 +1871,7 @@ typedef struct VkSamplerCreateInfo {
|
||||
VkSamplerAddressMode addressModeV;
|
||||
VkSamplerAddressMode addressModeW;
|
||||
float mipLodBias;
|
||||
VkBool32 anisotropyEnable;
|
||||
float maxAnisotropy;
|
||||
VkBool32 compareEnable;
|
||||
VkCompareOp compareOp;
|
||||
@@ -1873,7 +1894,7 @@ typedef struct VkDescriptorSetLayoutCreateInfo {
|
||||
const void* pNext;
|
||||
VkDescriptorSetLayoutCreateFlags flags;
|
||||
uint32_t bindingCount;
|
||||
const VkDescriptorSetLayoutBinding* pBinding;
|
||||
const VkDescriptorSetLayoutBinding* pBindings;
|
||||
} VkDescriptorSetLayoutCreateInfo;
|
||||
|
||||
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_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 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 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);
|
||||
@@ -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_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
|
||||
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_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
|
||||
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 firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
|
||||
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_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_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_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_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);
|
||||
@@ -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_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_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_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_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, 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(
|
||||
VkDevice device,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount,
|
||||
size_t dataSize,
|
||||
void* pData,
|
||||
@@ -2813,11 +2834,13 @@ VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstViewport,
|
||||
uint32_t viewportCount,
|
||||
const VkViewport* pViewports);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstScissor,
|
||||
uint32_t scissorCount,
|
||||
const VkRect2D* pScissors);
|
||||
|
||||
@@ -2873,7 +2896,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t startBinding,
|
||||
uint32_t firstBinding,
|
||||
uint32_t bindingCount,
|
||||
const VkBuffer* pBuffers,
|
||||
const VkDeviceSize* pOffsets);
|
||||
@@ -3047,7 +3070,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
|
||||
@@ -3059,7 +3082,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount,
|
||||
VkBuffer dstBuffer,
|
||||
VkDeviceSize dstOffset,
|
||||
@@ -3095,8 +3118,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
|
||||
#define VK_KHR_surface 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
|
||||
|
||||
#define VK_KHR_SURFACE_REVISION 24
|
||||
#define VK_KHR_SURFACE_EXTENSION_NUMBER 1
|
||||
#define VK_KHR_SURFACE_SPEC_VERSION 24
|
||||
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
|
||||
|
||||
|
||||
@@ -3121,7 +3143,7 @@ typedef enum VkPresentModeKHR {
|
||||
|
||||
|
||||
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_180_BIT_KHR = 0x00000004,
|
||||
VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
|
||||
@@ -3199,8 +3221,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
|
||||
#define VK_KHR_swapchain 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
|
||||
|
||||
#define VK_KHR_SWAPCHAIN_REVISION 67
|
||||
#define VK_KHR_SWAPCHAIN_EXTENSION_NUMBER 2
|
||||
#define VK_KHR_SWAPCHAIN_SPEC_VERSION 67
|
||||
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
|
||||
|
||||
typedef VkFlags VkSwapchainCreateFlagsKHR;
|
||||
@@ -3279,8 +3300,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
|
||||
|
||||
#define VK_KHR_DISPLAY_REVISION 21
|
||||
#define VK_KHR_DISPLAY_EXTENSION_NUMBER 3
|
||||
#define VK_KHR_DISPLAY_SPEC_VERSION 21
|
||||
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
|
||||
|
||||
|
||||
@@ -3403,8 +3423,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
|
||||
#endif
|
||||
|
||||
#define VK_KHR_display_swapchain 1
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_REVISION 9
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NUMBER 4
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
|
||||
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
|
||||
|
||||
typedef struct VkDisplayPresentInfoKHR {
|
||||
@@ -3431,18 +3450,27 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
|
||||
#define VK_KHR_xlib_surface 1
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define VK_KHR_XLIB_SURFACE_REVISION 5
|
||||
#define VK_KHR_XLIB_SURFACE_EXTENSION_NUMBER 5
|
||||
#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
|
||||
#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);
|
||||
|
||||
#ifdef VK_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
|
||||
VkInstance instance,
|
||||
Display* dpy,
|
||||
Window window,
|
||||
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
|
||||
@@ -3458,18 +3486,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
|
||||
#define VK_KHR_xcb_surface 1
|
||||
#include <xcb/xcb.h>
|
||||
|
||||
#define VK_KHR_XCB_SURFACE_REVISION 5
|
||||
#define VK_KHR_XCB_SURFACE_EXTENSION_NUMBER 6
|
||||
#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
|
||||
#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);
|
||||
|
||||
#ifdef VK_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
|
||||
VkInstance instance,
|
||||
xcb_connection_t* connection,
|
||||
xcb_window_t window,
|
||||
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
|
||||
@@ -3485,18 +3522,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
|
||||
#define VK_KHR_wayland_surface 1
|
||||
#include <wayland-client.h>
|
||||
|
||||
#define VK_KHR_WAYLAND_SURFACE_REVISION 4
|
||||
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NUMBER 7
|
||||
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 5
|
||||
#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);
|
||||
|
||||
#ifdef VK_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
|
||||
VkInstance instance,
|
||||
struct wl_display* display,
|
||||
struct wl_surface* surface,
|
||||
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
|
||||
@@ -3511,18 +3557,27 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
|
||||
#define VK_KHR_mir_surface 1
|
||||
#include <mir_toolkit/client_types.h>
|
||||
|
||||
#define VK_KHR_MIR_SURFACE_REVISION 4
|
||||
#define VK_KHR_MIR_SURFACE_EXTENSION_NUMBER 8
|
||||
#define VK_KHR_MIR_SURFACE_SPEC_VERSION 4
|
||||
#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);
|
||||
|
||||
#ifdef VK_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
|
||||
VkInstance instance,
|
||||
MirConnection* connection,
|
||||
MirSurface* mirSurface,
|
||||
const VkMirSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
|
||||
@@ -3537,16 +3592,25 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(
|
||||
#define VK_KHR_android_surface 1
|
||||
#include <android/native_window.h>
|
||||
|
||||
#define VK_KHR_ANDROID_SURFACE_REVISION 4
|
||||
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NUMBER 9
|
||||
#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 5
|
||||
#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
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
||||
VkInstance instance,
|
||||
ANativeWindow* window,
|
||||
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
#endif
|
||||
@@ -3556,18 +3620,27 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
||||
#define VK_KHR_win32_surface 1
|
||||
#include <windows.h>
|
||||
|
||||
#define VK_KHR_WIN32_SURFACE_REVISION 4
|
||||
#define VK_KHR_WIN32_SURFACE_EXTENSION_NUMBER 10
|
||||
#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 5
|
||||
#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);
|
||||
|
||||
#ifdef VK_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
|
||||
VkInstance instance,
|
||||
HINSTANCE hinstance,
|
||||
HWND hwnd,
|
||||
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
|
||||
|
@@ -377,13 +377,14 @@ void anv_CmdBindPipeline(
|
||||
|
||||
void anv_CmdSetViewport(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstViewport,
|
||||
uint32_t viewportCount,
|
||||
const VkViewport* pViewports)
|
||||
{
|
||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
||||
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));
|
||||
|
||||
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_VIEWPORT;
|
||||
@@ -391,13 +392,14 @@ void anv_CmdSetViewport(
|
||||
|
||||
void anv_CmdSetScissor(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstScissor,
|
||||
uint32_t scissorCount,
|
||||
const VkRect2D* pScissors)
|
||||
{
|
||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
||||
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));
|
||||
|
||||
cmd_buffer->state.dirty |= ANV_CMD_DIRTY_DYNAMIC_SCISSOR;
|
||||
@@ -558,7 +560,7 @@ void anv_CmdBindDescriptorSets(
|
||||
|
||||
void anv_CmdBindVertexBuffers(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t startBinding,
|
||||
uint32_t firstBinding,
|
||||
uint32_t bindingCount,
|
||||
const VkBuffer* pBuffers,
|
||||
const VkDeviceSize* pOffsets)
|
||||
@@ -569,11 +571,11 @@ void anv_CmdBindVertexBuffers(
|
||||
/* We have to defer setting up vertex buffer since we need the buffer
|
||||
* stride from the pipeline. */
|
||||
|
||||
assert(startBinding + bindingCount < MAX_VBS);
|
||||
assert(firstBinding + bindingCount < MAX_VBS);
|
||||
for (uint32_t i = 0; i < bindingCount; i++) {
|
||||
vb[startBinding + i].buffer = anv_buffer_from_handle(pBuffers[i]);
|
||||
vb[startBinding + i].offset = pOffsets[i];
|
||||
cmd_buffer->state.vb_dirty |= 1 << (startBinding + i);
|
||||
vb[firstBinding + i].buffer = anv_buffer_from_handle(pBuffers[i]);
|
||||
vb[firstBinding + i].offset = pOffsets[i];
|
||||
cmd_buffer->state.vb_dirty |= 1 << (firstBinding + i);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -47,9 +47,9 @@ VkResult anv_CreateDescriptorSetLayout(
|
||||
uint32_t max_binding = 0;
|
||||
uint32_t immutable_sampler_count = 0;
|
||||
for (uint32_t j = 0; j < pCreateInfo->bindingCount; j++) {
|
||||
max_binding = MAX2(max_binding, pCreateInfo->pBinding[j].binding);
|
||||
if (pCreateInfo->pBinding[j].pImmutableSamplers)
|
||||
immutable_sampler_count += pCreateInfo->pBinding[j].descriptorCount;
|
||||
max_binding = MAX2(max_binding, pCreateInfo->pBindings[j].binding);
|
||||
if (pCreateInfo->pBindings[j].pImmutableSamplers)
|
||||
immutable_sampler_count += pCreateInfo->pBindings[j].descriptorCount;
|
||||
}
|
||||
|
||||
size_t size = sizeof(struct anv_descriptor_set_layout) +
|
||||
@@ -86,7 +86,7 @@ VkResult anv_CreateDescriptorSetLayout(
|
||||
uint32_t dynamic_offset_count = 0;
|
||||
|
||||
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;
|
||||
|
||||
assert(binding->descriptorCount > 0);
|
||||
|
@@ -290,7 +290,7 @@ anv_device_init_meta_blit_state(struct anv_device *device)
|
||||
VkDescriptorSetLayoutCreateInfo ds_layout_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
|
||||
.bindingCount = 1,
|
||||
.pBinding = (VkDescriptorSetLayoutBinding[]) {
|
||||
.pBindings = (VkDescriptorSetLayoutBinding[]) {
|
||||
{
|
||||
.binding = 0,
|
||||
.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);
|
||||
}
|
||||
|
||||
anv_CmdSetViewport(anv_cmd_buffer_to_handle(cmd_buffer), 1,
|
||||
anv_CmdSetViewport(anv_cmd_buffer_to_handle(cmd_buffer), 0, 1,
|
||||
&(VkViewport) {
|
||||
.x = 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,
|
||||
});
|
||||
|
||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 1,
|
||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 0, 1,
|
||||
(VkViewport[]) {
|
||||
{
|
||||
.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[]) {
|
||||
{
|
||||
.offset = { 0, 0 },
|
||||
@@ -506,7 +506,7 @@ emit_load_depthstencil_clear(struct anv_cmd_buffer *cmd_buffer,
|
||||
.depth_stencil_attachment = attachment,
|
||||
});
|
||||
|
||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 1,
|
||||
ANV_CALL(CmdSetViewport)(cmd_buffer_h, 0, 1,
|
||||
(VkViewport[]) {
|
||||
{
|
||||
.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[]) {
|
||||
{
|
||||
.offset = { 0, 0 },
|
||||
|
@@ -95,7 +95,7 @@ void anv_DestroyQueryPool(
|
||||
VkResult anv_GetQueryPoolResults(
|
||||
VkDevice _device,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount,
|
||||
size_t dataSize,
|
||||
void* pData,
|
||||
@@ -129,14 +129,14 @@ VkResult anv_GetQueryPoolResults(
|
||||
for (uint32_t i = 0; i < queryCount; i++) {
|
||||
switch (pool->type) {
|
||||
case VK_QUERY_TYPE_OCCLUSION: {
|
||||
result = slot[startQuery + i].end - slot[startQuery + i].begin;
|
||||
result = slot[firstQuery + i].end - slot[firstQuery + i].begin;
|
||||
break;
|
||||
}
|
||||
case VK_QUERY_TYPE_PIPELINE_STATISTICS:
|
||||
/* Not yet implemented */
|
||||
break;
|
||||
case VK_QUERY_TYPE_TIMESTAMP: {
|
||||
result = slot[startQuery + i].begin;
|
||||
result = slot[firstQuery + i].begin;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -147,14 +147,14 @@ VkResult anv_GetQueryPoolResults(
|
||||
uint64_t *dst = pData;
|
||||
dst[0] = result;
|
||||
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
||||
dst[1] = slot[startQuery + i].available;
|
||||
dst[1] = slot[firstQuery + i].available;
|
||||
} else {
|
||||
uint32_t *dst = pData;
|
||||
if (result > UINT32_MAX)
|
||||
result = UINT32_MAX;
|
||||
dst[0] = result;
|
||||
if (flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
||||
dst[1] = slot[startQuery + i].available;
|
||||
dst[1] = slot[firstQuery + i].available;
|
||||
}
|
||||
|
||||
pData += stride;
|
||||
@@ -168,7 +168,7 @@ VkResult anv_GetQueryPoolResults(
|
||||
void anv_CmdResetQueryPool(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount)
|
||||
{
|
||||
ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
|
||||
@@ -178,7 +178,7 @@ void anv_CmdResetQueryPool(
|
||||
case VK_QUERY_TYPE_OCCLUSION:
|
||||
case VK_QUERY_TYPE_TIMESTAMP: {
|
||||
struct anv_query_pool_slot *slot = pool->bo.map;
|
||||
slot[startQuery + i].available = 0;
|
||||
slot[firstQuery + i].available = 0;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@@ -351,8 +351,8 @@ wsi_wl_surface_get_capabilities(struct anv_wsi_surface *surface,
|
||||
caps->currentExtent = (VkExtent2D) { -1, -1 };
|
||||
caps->minImageExtent = (VkExtent2D) { 1, 1 };
|
||||
caps->maxImageExtent = (VkExtent2D) { INT16_MAX, INT16_MAX };
|
||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
||||
caps->currentTransform = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||
caps->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||
caps->maxImageArrayLayers = 1;
|
||||
|
||||
caps->supportedCompositeAlpha =
|
||||
@@ -432,11 +432,12 @@ wsi_wl_surface_create_swapchain(struct anv_wsi_surface *surface,
|
||||
|
||||
VkResult anv_CreateWaylandSurfaceKHR(
|
||||
VkInstance _instance,
|
||||
struct wl_display* wl_display,
|
||||
struct wl_surface* wl_surface,
|
||||
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface)
|
||||
{
|
||||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR);
|
||||
|
||||
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
||||
struct wsi_wl_surface *surface;
|
||||
|
||||
@@ -445,8 +446,8 @@ VkResult anv_CreateWaylandSurfaceKHR(
|
||||
if (surface == NULL)
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
surface->display = wl_display;
|
||||
surface->surface = wl_surface;
|
||||
surface->display = pCreateInfo->display;
|
||||
surface->surface = pCreateInfo->surface;
|
||||
|
||||
surface->base.instance = instance;
|
||||
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->maxImageCount = 4;
|
||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
||||
caps->currentTransform = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
|
||||
caps->supportedTransforms = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||
caps->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
|
||||
caps->maxImageArrayLayers = 1;
|
||||
caps->supportedCompositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
|
||||
caps->supportedUsageFlags =
|
||||
@@ -146,11 +146,12 @@ x11_surface_create_swapchain(struct anv_wsi_surface *surface,
|
||||
|
||||
VkResult anv_CreateXcbSurfaceKHR(
|
||||
VkInstance _instance,
|
||||
xcb_connection_t* connection,
|
||||
xcb_window_t window,
|
||||
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface)
|
||||
{
|
||||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR);
|
||||
|
||||
ANV_FROM_HANDLE(anv_instance, instance, _instance);
|
||||
struct x11_surface *surface;
|
||||
|
||||
@@ -159,8 +160,8 @@ VkResult anv_CreateXcbSurfaceKHR(
|
||||
if (surface == NULL)
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
surface->connection = connection;
|
||||
surface->window = window;
|
||||
surface->connection = pCreateInfo->connection;
|
||||
surface->window = pCreateInfo->window;
|
||||
|
||||
surface->base.instance = instance;
|
||||
surface->base.destroy = x11_surface_destroy;
|
||||
|
@@ -1041,7 +1041,7 @@ store_query_result(struct anv_batch *batch, uint32_t reg,
|
||||
void genX(CmdCopyQueryPoolResults)(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t startQuery,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount,
|
||||
VkBuffer destBuffer,
|
||||
VkDeviceSize destOffset,
|
||||
@@ -1061,7 +1061,7 @@ void genX(CmdCopyQueryPoolResults)(
|
||||
dst_offset = buffer->offset + destOffset;
|
||||
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) {
|
||||
case VK_QUERY_TYPE_OCCLUSION:
|
||||
emit_load_alu_reg_u64(&cmd_buffer->batch,
|
||||
|
Reference in New Issue
Block a user