From f09c6b1fe893f0d378cfd3228b10df6a448e3a1c Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Sat, 15 Aug 2015 19:54:28 -0700 Subject: [PATCH] vulkan: apply 138.0..v138.2 changes to api file Change-Id: Icdadba710a2990e26ca13472f0efad55f66a403e (cherry picked from commit 38347619f9d99bb4756ccde83389242e0f3d8986) --- vulkan/api/templates/vulkan_h.tmpl | 4 +-- vulkan/api/vulkan.api | 61 +++++++++++++++++++++++++------------- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/vulkan/api/templates/vulkan_h.tmpl b/vulkan/api/templates/vulkan_h.tmpl index df0ae6f074..6747147082 100644 --- a/vulkan/api/templates/vulkan_h.tmpl +++ b/vulkan/api/templates/vulkan_h.tmpl @@ -70,8 +70,8 @@ extern "C" { #endif #define VK_DEFINE_NONDISP_HANDLE(obj) \ struct obj { \ - obj() {} \ - obj(uint64_t x) { handle = x; } \ + obj() : handle(0) { } \ + obj(uint64_t x) : handle(x) { } \ obj& operator=(uint64_t x) { \ handle = x; \ return *this; \ diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api index 8d269273ff..c014454ba1 100644 --- a/vulkan/api/vulkan.api +++ b/vulkan/api/vulkan.api @@ -28,7 +28,7 @@ import platform "platform.api" // API version (major.minor.patch) define VERSION_MAJOR 0 define VERSION_MINOR 138 -define VERSION_PATCH 0 +define VERSION_PATCH 2 // API limits define VK_MAX_PHYSICAL_DEVICE_NAME 256 @@ -583,22 +583,21 @@ enum VkStructureType { VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 32, VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO = 33, VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 34, - VK_STRUCTURE_TYPE_LAYER_CREATE_INFO = 35, - VK_STRUCTURE_TYPE_MEMORY_BARRIER = 36, - VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 37, - VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 38, - VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 39, - VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 40, - VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 41, - VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 42, - VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 43, - VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 44, - VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 45, - VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION = 46, - VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION = 47, - VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY = 48, - VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 49, - VK_STRUCTURE_TYPE_CMD_POOL_CREATE_INFO = 50, + VK_STRUCTURE_TYPE_MEMORY_BARRIER = 35, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 36, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 37, + VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 38, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 39, + VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 40, + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 41, + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 42, + VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 43, + VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 44, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION = 45, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION = 46, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY = 47, + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 48, + VK_STRUCTURE_TYPE_CMD_POOL_CREATE_INFO = 49, } enum VkRenderPassContents { @@ -1004,7 +1003,7 @@ class VkLayerProperties { char[VK_MAX_EXTENSION_NAME] layerName /// layer name u32 specVersion /// version of the layer specification implemented u32 implVersion /// build or release version of the layer's library - const char*[VK_MAX_DESCRIPTION] description /// Free-form description of the layer + char[VK_MAX_DESCRIPTION] description /// Free-form description of the layer } class VkApplicationInfo { @@ -1275,7 +1274,8 @@ class VkBufferCopy { } class VkSparseMemoryBindInfo { - platform.VkDeviceSize offset /// Specified in bytes + platform.VkDeviceSize rangeOffset /// Specified in bytes + platform.VkDeviceSize rangeSize /// Specified in bytes platform.VkDeviceSize memOffset /// Specified in bytes VkDeviceMemory mem VkSparseMemoryBindFlags flags @@ -1851,7 +1851,7 @@ class VkPhysicalDeviceLimits { u32 viewportSubPixelBits /// num bits of subpixel precision for viewport u32 minMemoryMapAlignment /// min required alignment of pointers returned by MapMemory (bytes) - u32 minTexelBufferOffsetAlignment /// min required alignment for texel buffer offsets (bytes) + u32 minTexelBufferOffsetAlignment /// min required alignment for texel buffer offsets (bytes) u32 minUniformBufferOffsetAlignment /// min required alignment for uniform buffer sizes and offsets (bytes) u32 minStorageBufferOffsetAlignment /// min required alignment for storage buffer offsets (bytes) @@ -3319,6 +3319,25 @@ cmd VkResult vkAllocDescriptorSets( return ? } +cmd VkResult vkFreeDescriptorSets( + VkDevice device, + VkDescriptorPool descriptorPool, + u32 count, + const VkDescriptorSet* pDescriptorSets) { + deviceObject := GetDevice(device) + descriptorPoolObject := GetDescriptorPool(descriptorPool) + + descriptorSets := pDescriptorSets[0:count] + for i in (0 .. count) { + descriptorSet := descriptorSets[i] + descriptorSetObject := GetDescriptorSet(descriptorSet) + assert(descriptorSetObject.device == device) + State.DescriptorSets[descriptorSet] = null + } + + return ? +} + cmd VkResult vkUpdateDescriptorSets( VkDevice device, u32 writeCount, @@ -4701,4 +4720,4 @@ macro ref!PipelineCacheObject GetPipelineCache(VkPipelineCache pipelineCache) { macro ref!CmdPoolObject GetCmdPool(VkCmdPool cmdPool) { assert(cmdPool in State.CmdPools) return State.CmdPools[cmdPool] -} \ No newline at end of file +} -- 2.11.0