From: Courtney Goeltzenleuchter Date: Wed, 15 Apr 2015 21:29:59 +0000 (-0600) Subject: vulkan: Consistent naming scheme for resources in XGL X-Git-Tag: upstream/1.1.92~5759 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42a078dd1f61f895c0be38972154181a33d920b4;p=platform%2Fupstream%2FVulkan-Tools.git vulkan: Consistent naming scheme for resources in XGL Bug 13230 header: 0.78.0 includes review feedback. v2: replace VK_FORMAT_IMAGE_COPY_BIT by VK_FORMAT_COLOR_ATTACHMENT_BIT for now (olv) --- diff --git a/demos/cube.c b/demos/cube.c index 2fcc207..c5250a9 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -351,12 +351,12 @@ static void demo_set_image_layout( if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL) { /* Make sure anything that was copying from this image has completed */ - image_memory_barrier.inputMask = VK_MEMORY_INPUT_COPY_BIT; + image_memory_barrier.inputMask = VK_MEMORY_INPUT_TRANSFER_BIT; } if (new_image_layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { /* Make sure any Copy or CPU writes to image are flushed */ - image_memory_barrier.outputMask = VK_MEMORY_OUTPUT_COPY_BIT | VK_MEMORY_OUTPUT_CPU_WRITE_BIT; + image_memory_barrier.outputMask = VK_MEMORY_OUTPUT_CPU_WRITE_BIT | VK_MEMORY_OUTPUT_TRANSFER_BIT; } VkImageMemoryBarrier *pmemory_barrier = &image_memory_barrier; @@ -990,11 +990,11 @@ static void demo_prepare_textures(struct demo *demo) for (i = 0; i < DEMO_TEXTURE_COUNT; i++) { - if (props.linearTilingFeatures & VK_FORMAT_IMAGE_SHADER_READ_BIT && !demo->use_staging_buffer) { + if (props.linearTilingFeatures & VK_FORMAT_SAMPLED_IMAGE_BIT && !demo->use_staging_buffer) { /* Device can texture using linear textures */ demo_prepare_texture_image(demo, tex_files[i], &demo->textures[i], VK_LINEAR_TILING, VK_MEMORY_PROPERTY_CPU_VISIBLE_BIT); - } else if (props.optimalTilingFeatures & VK_FORMAT_IMAGE_SHADER_READ_BIT) { + } else if (props.optimalTilingFeatures & VK_FORMAT_SAMPLED_IMAGE_BIT) { /* Must use staging buffer to copy linear texture to optimized */ struct texture_object staging_texture; @@ -1132,7 +1132,7 @@ void demo_prepare_cube_data_buffer(struct demo *demo) memset(&buf_info, 0, sizeof(buf_info)); buf_info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; buf_info.size = sizeof(data); - buf_info.usage = VK_BUFFER_USAGE_UNIFORM_READ_BIT; + buf_info.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; err = vkCreateBuffer(demo->device, &buf_info, &demo->uniform_data.buf); assert(!err); @@ -1196,7 +1196,7 @@ static void demo_prepare_descriptor_layout(struct demo *demo) .pImmutableSamplers = NULL, }, [1] = { - .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE, + .descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, .count = DEMO_TEXTURE_COUNT, .stageFlags = VK_SHADER_STAGE_FLAGS_FRAGMENT_BIT, .pImmutableSamplers = NULL, @@ -1508,7 +1508,7 @@ static void demo_prepare_descriptor_pool(struct demo *demo) .count = 1, }, [1] = { - .type = VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE, + .type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, .count = DEMO_TEXTURE_COUNT, }, }; diff --git a/demos/tri.c b/demos/tri.c index 005532d..671c1bb 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -179,12 +179,12 @@ static void demo_set_image_layout( if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL) { /* Make sure anything that was copying from this image has completed */ - image_memory_barrier.inputMask = VK_MEMORY_INPUT_COPY_BIT; + image_memory_barrier.inputMask = VK_MEMORY_INPUT_TRANSFER_BIT; } if (new_image_layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { /* Make sure any Copy or CPU writes to image are flushed */ - image_memory_barrier.outputMask = VK_MEMORY_OUTPUT_COPY_BIT | VK_MEMORY_OUTPUT_CPU_WRITE_BIT; + image_memory_barrier.outputMask = VK_MEMORY_OUTPUT_TRANSFER_BIT | VK_MEMORY_OUTPUT_CPU_WRITE_BIT; } VkImageMemoryBarrier *pmemory_barrier = &image_memory_barrier; @@ -633,11 +633,11 @@ static void demo_prepare_textures(struct demo *demo) assert(!err); for (i = 0; i < DEMO_TEXTURE_COUNT; i++) { - if ((props.linearTilingFeatures & VK_FORMAT_IMAGE_SHADER_READ_BIT) && !demo->use_staging_buffer) { + if ((props.linearTilingFeatures & VK_FORMAT_SAMPLED_IMAGE_BIT) && !demo->use_staging_buffer) { /* Device can texture using linear textures */ demo_prepare_texture_image(demo, tex_colors[i], &demo->textures[i], VK_LINEAR_TILING, VK_MEMORY_PROPERTY_CPU_VISIBLE_BIT); - } else if (props.optimalTilingFeatures & VK_FORMAT_IMAGE_SHADER_READ_BIT){ + } else if (props.optimalTilingFeatures & VK_FORMAT_SAMPLED_IMAGE_BIT){ /* Must use staging buffer to copy linear texture to optimized */ struct texture_object staging_texture; @@ -739,7 +739,7 @@ static void demo_prepare_vertices(struct demo *demo) .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, .pNext = NULL, .size = sizeof(vb), - .usage = VK_BUFFER_USAGE_VERTEX_FETCH_BIT, + .usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, .flags = 0, }; VkMemoryAllocBufferInfo buf_alloc = { @@ -829,7 +829,7 @@ static void demo_prepare_vertices(struct demo *demo) static void demo_prepare_descriptor_layout(struct demo *demo) { const VkDescriptorSetLayoutBinding layout_binding = { - .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE, + .descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, .count = DEMO_TEXTURE_COUNT, .stageFlags = VK_SHADER_STAGE_FLAGS_FRAGMENT_BIT, .pImmutableSamplers = NULL, @@ -1078,7 +1078,7 @@ static void demo_prepare_dynamic_states(struct demo *demo) static void demo_prepare_descriptor_pool(struct demo *demo) { const VkDescriptorTypeCount type_count = { - .type = VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE, + .type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, .count = DEMO_TEXTURE_COUNT, }; const VkDescriptorPoolCreateInfo descriptor_pool = { diff --git a/demos/vulkaninfo.c b/demos/vulkaninfo.c index 47edf53..01d7745 100644 --- a/demos/vulkaninfo.c +++ b/demos/vulkaninfo.c @@ -487,17 +487,19 @@ static void app_dev_dump_format_props(const struct app_dev *dev, VkFormat fmt) continue; printf("\t%s tiling image =%s%s%s\n", tilings[i].name, - (tilings[i].flags & VK_FORMAT_IMAGE_SHADER_READ_BIT) ? " read" : "", - (tilings[i].flags & VK_FORMAT_IMAGE_SHADER_WRITE_BIT) ? " write" : "", - (tilings[i].flags & VK_FORMAT_IMAGE_COPY_BIT) ? " copy" : ""); - printf("\t%s tiling memory =%s\n", tilings[i].name, - (tilings[i].flags & VK_FORMAT_MEMORY_SHADER_ACCESS_BIT) ? " access" : ""); - printf("\t%s tiling attachment =%s%s%s%s%s\n", tilings[i].name, - (tilings[i].flags & VK_FORMAT_COLOR_ATTACHMENT_WRITE_BIT) ? " color" : "", + (tilings[i].flags & VK_FORMAT_SAMPLED_IMAGE_BIT) ? " sampled" : "", + (tilings[i].flags & VK_FORMAT_STORAGE_IMAGE_BIT) ? " storage" : "", + (tilings[i].flags & VK_FORMAT_STORAGE_IMAGE_ATOMIC_BIT) ? " atomic" : ""); + printf("\t%s tiling texel =%s%s%s\n", tilings[i].name, + (tilings[i].flags & VK_FORMAT_UNIFORM_TEXEL_BUFFER_BIT) ? " TBO" : "", + (tilings[i].flags & VK_FORMAT_STORAGE_TEXEL_BUFFER_BIT) ? " IBO" : "", + (tilings[i].flags & VK_FORMAT_STORAGE_TEXEL_BUFFER_ATOMIC_BIT) ? " atomic" : ""); + printf("\t%s tiling attachment =%s%s%s\n", tilings[i].name, + (tilings[i].flags & VK_FORMAT_COLOR_ATTACHMENT_BIT) ? " color" : "", (tilings[i].flags & VK_FORMAT_COLOR_ATTACHMENT_BLEND_BIT) ? " blend" : "", - (tilings[i].flags & VK_FORMAT_DEPTH_ATTACHMENT_BIT) ? " depth" : "", - (tilings[i].flags & VK_FORMAT_STENCIL_ATTACHMENT_BIT) ? " stencil" : "", - (tilings[i].flags & VK_FORMAT_MSAA_ATTACHMENT_BIT) ? " msaa" : ""); + (tilings[i].flags & VK_FORMAT_DEPTH_STENCIL_ATTACHMENT_BIT) ? " depth/stencil" : ""); + printf("\t%s tiling vertex = %u\n", tilings[i].name, + (bool) (tilings[i].flags & VK_FORMAT_VERTEX_BUFFER_BIT)); printf("\t%s tiling conversion = %u\n", tilings[i].name, (bool) (tilings[i].flags & VK_FORMAT_CONVERSION_BIT)); } diff --git a/include/vulkan.h b/include/vulkan.h index 0c85cb1..a7a33f7 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -33,7 +33,7 @@ #include "vk_platform.h" // Vulkan API version supported by this file -#define VK_API_VERSION VK_MAKE_VERSION(0, 72, 0) +#define VK_API_VERSION VK_MAKE_VERSION(0, 78, 0) #ifdef __cplusplus extern "C" @@ -176,7 +176,7 @@ typedef enum VkMemoryOutputFlags_ VK_MEMORY_OUTPUT_SHADER_WRITE_BIT = 0x00000002, // Controls output coherency of generic shader writes VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT = 0x00000004, // Controls output coherency of color attachment writes VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000008, // Controls output coherency of depth/stencil attachment writes - VK_MEMORY_OUTPUT_COPY_BIT = 0x00000010, // Controls output coherency of copy operations + VK_MEMORY_OUTPUT_TRANSFER_BIT = 0x00000010, // Controls output coherency of transfer operations VK_MAX_ENUM(VkMemoryOutputFlags) } VkMemoryOutputFlags; @@ -190,7 +190,7 @@ typedef enum VkMemoryInputFlags_ VK_MEMORY_INPUT_SHADER_READ_BIT = 0x00000020, // Controls input coherency of generic shader reads VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT = 0x00000040, // Controls input coherency of color attachment reads VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000080, // Controls input coherency of depth/stencil attachment reads - VK_MEMORY_INPUT_COPY_BIT = 0x00000100, // Controls input coherency of copy operations + VK_MEMORY_INPUT_TRANSFER_BIT = 0x00000100, // Controls input coherency of transfer operations VK_MAX_ENUM(VkMemoryInputFlags) } VkMemoryInputFlags; @@ -284,18 +284,18 @@ typedef enum VkChannelSwizzle_ typedef enum VkDescriptorType_ { VK_DESCRIPTOR_TYPE_SAMPLER = 0x00000000, - VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE = 0x00000001, - VK_DESCRIPTOR_TYPE_TEXTURE = 0x00000002, - VK_DESCRIPTOR_TYPE_TEXTURE_BUFFER = 0x00000003, - VK_DESCRIPTOR_TYPE_IMAGE = 0x00000004, - VK_DESCRIPTOR_TYPE_IMAGE_BUFFER = 0x00000005, + VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 0x00000001, + VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 0x00000002, + VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 0x00000003, + VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 0x00000004, + VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 0x00000005, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 0x00000006, - VK_DESCRIPTOR_TYPE_SHADER_STORAGE_BUFFER = 0x00000007, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 0x00000007, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 0x00000008, - VK_DESCRIPTOR_TYPE_SHADER_STORAGE_BUFFER_DYNAMIC = 0x00000009, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 0x00000009, VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER, - VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_SHADER_STORAGE_BUFFER_DYNAMIC, + VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, VK_NUM_DESCRIPTOR_TYPE = (VK_DESCRIPTOR_TYPE_END_RANGE - VK_DESCRIPTOR_TYPE_BEGIN_RANGE + 1), VK_MAX_ENUM(VkDescriptorType) } VkDescriptorType; @@ -1125,19 +1125,16 @@ typedef enum VkMemoryType_ // Buffer and buffer allocation usage flags typedef enum VkBufferUsageFlags_ { - VK_BUFFER_USAGE_GENERAL = 0x00000000, // no special usage - VK_BUFFER_USAGE_SHADER_ACCESS_READ_BIT = 0x00000001, // Shader read (e.g. TBO, image buffer, UBO, SSBO) - VK_BUFFER_USAGE_SHADER_ACCESS_WRITE_BIT = 0x00000002, // Shader write (e.g. image buffer, SSBO) - VK_BUFFER_USAGE_SHADER_ACCESS_ATOMIC_BIT = 0x00000004, // Shader atomic operations (e.g. image buffer, SSBO) - VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT = 0x00000008, // used as a source for copies - VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT = 0x00000010, // used as a destination for copies - VK_BUFFER_USAGE_UNIFORM_READ_BIT = 0x00000020, // Uniform read (UBO) - VK_BUFFER_USAGE_INDEX_FETCH_BIT = 0x00000040, // Fixed function index fetch (index buffer) - VK_BUFFER_USAGE_VERTEX_FETCH_BIT = 0x00000080, // Fixed function vertex fetch (VBO) - VK_BUFFER_USAGE_SHADER_STORAGE_BIT = 0x00000100, // Shader storage buffer (SSBO) - VK_BUFFER_USAGE_INDIRECT_PARAMETER_FETCH_BIT = 0x00000200, // Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer) - VK_BUFFER_USAGE_TEXTURE_BUFFER_BIT = 0x00000400, // texture buffer (TBO) - VK_BUFFER_USAGE_IMAGE_BUFFER_BIT = 0x00000800, // image buffer (load/store) + VK_BUFFER_USAGE_GENERAL = 0x00000000, // No special usage + VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT = 0x00000001, // Can be used as a source of transfer operations + VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT = 0x00000002, // Can be used as a destination of transfer operations + VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, // Can be used as TBO + VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, // Can be used as IBO + VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, // Can be used as UBO + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, // Can be used as SSBO + VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, // Can be used as source of fixed function index fetch (index buffer) + VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, // Can be used as source of fixed function vertex fetch (VBO) + VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, // Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer) VK_MAX_ENUM(VkBufferUsageFlags) } VkBufferUsageFlags; @@ -1151,11 +1148,11 @@ typedef enum VkBufferCreateFlags_ typedef enum VkBufferViewType_ { - VK_BUFFER_VIEW_RAW = 0x00000000, // Raw buffer without special structure (e.g. UBO, SSBO, indirect and parameter buffers) - VK_BUFFER_VIEW_TYPED = 0x00000001, // Typed buffer, format and channels are used (TBO, image buffer) + VK_BUFFER_VIEW_RAW = 0x00000000, // Raw buffer without special structure (UBO, SSBO) + VK_BUFFER_VIEW_FORMATTED = 0x00000001, // Buffer with format (TBO, IBO) VK_BUFFER_VIEW_TYPE_BEGIN_RANGE = VK_BUFFER_VIEW_RAW, - VK_BUFFER_VIEW_TYPE_END_RANGE = VK_BUFFER_VIEW_TYPED, + VK_BUFFER_VIEW_TYPE_END_RANGE = VK_BUFFER_VIEW_FORMATTED, VK_NUM_BUFFER_VIEW_TYPE = (VK_BUFFER_VIEW_TYPE_END_RANGE - VK_BUFFER_VIEW_TYPE_BEGIN_RANGE + 1), VK_MAX_ENUM(VkBufferViewType) } VkBufferViewType; @@ -1193,16 +1190,13 @@ typedef enum VkImageFormatClass_ typedef enum VkImageUsageFlags_ { VK_IMAGE_USAGE_GENERAL = 0x00000000, // no special usage - VK_IMAGE_USAGE_SHADER_ACCESS_READ_BIT = 0x00000001, // shader read (e.g. texture, image) - VK_IMAGE_USAGE_SHADER_ACCESS_WRITE_BIT = 0x00000002, // shader write (e.g. image) - VK_IMAGE_USAGE_SHADER_ACCESS_ATOMIC_BIT = 0x00000004, // shader atomic operations (e.g. image) - VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT = 0x00000008, // used as a source for copies - VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT = 0x00000010, // used as a destination for copies - VK_IMAGE_USAGE_TEXTURE_BIT = 0x00000020, // opaque texture (2d, 3d, etc.) - VK_IMAGE_USAGE_IMAGE_BIT = 0x00000040, // opaque image (2d, 3d, etc.) - VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000080, // framebuffer color attachment - VK_IMAGE_USAGE_DEPTH_STENCIL_BIT = 0x00000100, // framebuffer depth/stencil - VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000200, // image data not needed outside of rendering. + VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT = 0x00000001, // Can be used as a source of transfer operations + VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT = 0x00000002, // Can be used as a destination of transfer operations + VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, // Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) + VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, // Can be used as storage image (STORAGE_IMAGE descriptor type) + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, // Can be used as framebuffer color attachment + VK_IMAGE_USAGE_DEPTH_STENCIL_BIT = 0x00000020, // Can be used as framebuffer depth/stencil attachment + VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, // Image data not needed outside of rendering VK_MAX_ENUM(VkImageUsageFlags) } VkImageUsageFlags; @@ -1251,16 +1245,17 @@ typedef enum VkSemaphoreCreateFlags_ // Format capability flags typedef enum VkFormatFeatureFlags_ { - VK_FORMAT_IMAGE_SHADER_READ_BIT = 0x00000001, - VK_FORMAT_IMAGE_SHADER_WRITE_BIT = 0x00000002, - VK_FORMAT_IMAGE_COPY_BIT = 0x00000004, - VK_FORMAT_MEMORY_SHADER_ACCESS_BIT = 0x00000008, - VK_FORMAT_COLOR_ATTACHMENT_WRITE_BIT = 0x00000010, - VK_FORMAT_COLOR_ATTACHMENT_BLEND_BIT = 0x00000020, - VK_FORMAT_DEPTH_ATTACHMENT_BIT = 0x00000040, - VK_FORMAT_STENCIL_ATTACHMENT_BIT = 0x00000080, - VK_FORMAT_MSAA_ATTACHMENT_BIT = 0x00000100, - VK_FORMAT_CONVERSION_BIT = 0x00000200, + VK_FORMAT_SAMPLED_IMAGE_BIT = 0x00000001, // Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) + VK_FORMAT_STORAGE_IMAGE_BIT = 0x00000002, // Format can be used for storage images (STORAGE_IMAGE descriptor type) + VK_FORMAT_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, // Format supports atomic operations in case it's used for storage images + VK_FORMAT_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, // Format can be used for uniform texel buffers (TBOs) + VK_FORMAT_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, // Format can be used for storage texel buffers (IBOs) + VK_FORMAT_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, // Format supports atomic operations in case it's used for storage texel buffers + VK_FORMAT_VERTEX_BUFFER_BIT = 0x00000040, // Format can be used for vertex buffers (VBOs) + VK_FORMAT_COLOR_ATTACHMENT_BIT = 0x00000080, // Format can be used for color attachment images + VK_FORMAT_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, // Format supports blending in case it's used for color attachment images + VK_FORMAT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, // Format can be used for depth/stencil attachment images + VK_FORMAT_CONVERSION_BIT = 0x00000400, // Format can be used as the source or destination of format converting blits VK_MAX_ENUM(VkFormatFeatureFlags) } VkFormatFeatureFlags; @@ -1808,28 +1803,28 @@ typedef struct VkImageMemoryBindInfo_ typedef struct VkImageCopy_ { VkImageSubresource srcSubresource; - VkOffset3D srcOffset; + VkOffset3D srcOffset; // Specified in pixels for both compressed and uncompressed images VkImageSubresource destSubresource; - VkOffset3D destOffset; - VkExtent3D extent; + VkOffset3D destOffset; // Specified in pixels for both compressed and uncompressed images + VkExtent3D extent; // Specified in pixels for both compressed and uncompressed images } VkImageCopy; typedef struct VkImageBlit_ { VkImageSubresource srcSubresource; - VkOffset3D srcOffset; - VkExtent3D srcExtent; + VkOffset3D srcOffset; // Specified in pixels for both compressed and uncompressed images + VkExtent3D srcExtent; // Specified in pixels for both compressed and uncompressed images VkImageSubresource destSubresource; - VkOffset3D destOffset; - VkExtent3D destExtent; + VkOffset3D destOffset; // Specified in pixels for both compressed and uncompressed images + VkExtent3D destExtent; // Specified in pixels for both compressed and uncompressed images } VkImageBlit; typedef struct VkBufferImageCopy_ { VkGpuSize bufferOffset; // Specified in bytes VkImageSubresource imageSubresource; - VkOffset3D imageOffset; // Specified in pixels for both compressed and uncompressed images - VkExtent3D imageExtent; // Specified in pixels for both compressed and uncompressed images + VkOffset3D imageOffset; // Specified in pixels for both compressed and uncompressed images + VkExtent3D imageExtent; // Specified in pixels for both compressed and uncompressed images } VkBufferImageCopy; typedef struct VkImageResolve_ @@ -1925,7 +1920,7 @@ typedef struct VkComputePipelineCreateInfo_ typedef struct VkVertexInputBindingDescription_ { uint32_t binding; // Vertex buffer binding id - uint32_t strideInBytes; // Distance between vertices in bytes (0 = no advancement) + uint32_t strideInBytes; // Distance between vertices in bytes (0 = no advancement) VkVertexInputStepRate stepRate; // Rate at which binding is incremented } VkVertexInputBindingDescription; @@ -2851,7 +2846,7 @@ void VKAPI vkCmdBindDescriptorSets( uint32_t layoutChainSlot, uint32_t count, const VkDescriptorSet* pDescriptorSets, - const uint32_t * pUserData); + const uint32_t* pUserData); void VKAPI vkCmdBindIndexBuffer( VkCmdBuffer cmdBuffer, diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 1ad7c1d..18e2738 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -677,7 +677,7 @@ static bool32_t validateUpdateType(const LAYOUT_NODE* pLayout, const GENERIC_HEA actualType = VK_DESCRIPTOR_TYPE_SAMPLER; break; case VK_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES: - actualType = VK_DESCRIPTOR_TYPE_SAMPLER_TEXTURE; + actualType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; break; case VK_STRUCTURE_TYPE_UPDATE_IMAGES: actualType = ((VkUpdateImages*)pUpdateStruct)->descriptorType;