Bug 13632 Header 84 Assorted questions and comments on vulkan.h
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 6c1de3b..a81ae89 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -39,8 +39,8 @@
m_stateDepthStencil( VK_NULL_HANDLE ),
m_width( 256.0 ), // default window width
m_height( 256.0 ), // default window height
- m_render_target_fmt( VK_FMT_R8G8B8A8_UNORM ),
- m_depth_stencil_fmt( VK_FMT_UNDEFINED ),
+ m_render_target_fmt( VK_FORMAT_R8G8B8A8_UNORM ),
+ m_depth_stencil_fmt( VK_FORMAT_UNDEFINED ),
m_depth_clear_color( 1.0 ),
m_stencil_clear_color( 0 )
{
@@ -114,7 +114,7 @@
{
VkResult err;
- m_render_target_fmt = VK_FMT_B8G8R8A8_UNORM;
+ m_render_target_fmt = VK_FORMAT_B8G8R8A8_UNORM;
// create a raster state (solid, back-face culling)
VkDynamicRsStateCreateInfo raster = {};
@@ -256,7 +256,7 @@
-VkDeviceObj::VkDeviceObj(uint32_t id, VkPhysicalGpu obj) :
+VkDeviceObj::VkDeviceObj(uint32_t id, VkPhysicalDevice obj) :
vk_testing::Device(obj), id(id)
{
init();
@@ -356,7 +356,7 @@
for (int i = 0; i < m_type_counts.size(); i++) {
bindings[i].descriptorType = m_type_counts[i].type;
bindings[i].count = m_type_counts[i].count;
- bindings[i].stageFlags = VK_SHADER_STAGE_FLAGS_ALL;
+ bindings[i].stageFlags = VK_SHADER_STAGE_ALL;
bindings[i].pImmutableSamplers = NULL;
}
@@ -428,18 +428,10 @@
VkImageMemoryBarrier *pmemory_barrier = &barrier;
- VkPipeEvent pipe_events[] = { VK_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
- VkPipelineBarrier pipeline_barrier = {};
- pipeline_barrier.sType = VK_STRUCTURE_TYPE_PIPELINE_BARRIER;
- pipeline_barrier.pNext = NULL;
- pipeline_barrier.eventCount = 1;
- pipeline_barrier.pEvents = pipe_events;
- pipeline_barrier.waitEvent = VK_WAIT_EVENT_TOP_OF_PIPE;
- pipeline_barrier.memBarrierCount = 1;
- pipeline_barrier.ppMemBarriers = (const void **)&pmemory_barrier;
+ VkPipeEvent pipe_events[] = { VK_PIPE_EVENT_COMMANDS_COMPLETE };
// write barrier to the command buffer
- vkCmdPipelineBarrier(cmd_buf->obj(), &pipeline_barrier);
+ vkCmdPipelineBarrier(cmd_buf->obj(), VK_WAIT_EVENT_TOP_OF_PIPE, 1, pipe_events, 1, (const void **)&pmemory_barrier);
}
void VkImageObj::SetLayout(VkCommandBufferObj *cmd_buf,
@@ -518,7 +510,7 @@
bool VkImageObj::IsCompatible(VkFlags usage, VkFlags features)
{
if ((usage & VK_IMAGE_USAGE_SAMPLED_BIT) &&
- !(features & VK_FORMAT_SAMPLED_IMAGE_BIT))
+ !(features & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT))
return false;
return true;
@@ -547,28 +539,28 @@
size = sizeof(image_fmt);
err = vkGetFormatInfo(m_device->obj(), fmt,
- VK_INFO_TYPE_FORMAT_PROPERTIES,
+ VK_FORMAT_INFO_TYPE_PROPERTIES,
&size, &image_fmt);
ASSERT_VK_SUCCESS(err);
- if (requested_tiling == VK_LINEAR_TILING) {
+ if (requested_tiling == VK_IMAGE_TILING_LINEAR) {
if (IsCompatible(usage, image_fmt.linearTilingFeatures)) {
- tiling = VK_LINEAR_TILING;
+ tiling = VK_IMAGE_TILING_LINEAR;
} else if (IsCompatible(usage, image_fmt.optimalTilingFeatures)) {
- tiling = VK_OPTIMAL_TILING;
+ tiling = VK_IMAGE_TILING_OPTIMAL;
} else {
ASSERT_TRUE(false) << "Error: Cannot find requested tiling configuration";
}
} else if (IsCompatible(usage, image_fmt.optimalTilingFeatures)) {
- tiling = VK_OPTIMAL_TILING;
+ tiling = VK_IMAGE_TILING_OPTIMAL;
} else if (IsCompatible(usage, image_fmt.linearTilingFeatures)) {
- tiling = VK_LINEAR_TILING;
+ tiling = VK_IMAGE_TILING_LINEAR;
} else {
ASSERT_TRUE(false) << "Error: Cannot find requested tiling configuration";
}
VkImageCreateInfo imageCreateInfo = vk_testing::Image::create_info();
- imageCreateInfo.imageType = VK_IMAGE_2D;
+ imageCreateInfo.imageType = VK_IMAGE_TYPE_2D;
imageCreateInfo.format = fmt;
imageCreateInfo.extent.width = w;
imageCreateInfo.extent.height = h;
@@ -653,13 +645,13 @@
:VkImageObj(device)
{
m_device = device;
- const VkFormat tex_format = VK_FMT_B8G8R8A8_UNORM;
+ const VkFormat tex_format = VK_FORMAT_B8G8R8A8_UNORM;
uint32_t tex_colors[2] = { 0xffff0000, 0xff00ff00 };
void *data;
int32_t x, y;
VkImageObj stagingImage(device);
- stagingImage.init(16, 16, tex_format, 0, VK_LINEAR_TILING);
+ stagingImage.init(16, 16, tex_format, 0, VK_IMAGE_TILING_LINEAR);
VkSubresourceLayout layout = stagingImage.subresource_layout(subresource(VK_IMAGE_ASPECT_COLOR, 0, 0));
if (colors == NULL)
@@ -673,7 +665,7 @@
view.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
view.pNext = NULL;
view.image = VK_NULL_HANDLE;
- view.viewType = VK_IMAGE_VIEW_2D;
+ view.viewType = VK_IMAGE_VIEW_TYPE_2D;
view.format = tex_format;
view.channels.r = VK_CHANNEL_SWIZZLE_R;
view.channels.g = VK_CHANNEL_SWIZZLE_G;
@@ -687,7 +679,7 @@
view.minLod = 0.0f;
/* create image */
- init(16, 16, tex_format, VK_IMAGE_USAGE_SAMPLED_BIT, VK_OPTIMAL_TILING);
+ init(16, 16, tex_format, VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_TILING_OPTIMAL);
/* create image view */
view.image = obj();
@@ -714,16 +706,16 @@
samplerCreateInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
samplerCreateInfo.magFilter = VK_TEX_FILTER_NEAREST;
samplerCreateInfo.minFilter = VK_TEX_FILTER_NEAREST;
- samplerCreateInfo.mipMode = VK_TEX_MIPMAP_BASE;
+ samplerCreateInfo.mipMode = VK_TEX_MIPMAP_MODE_BASE;
samplerCreateInfo.addressU = VK_TEX_ADDRESS_WRAP;
samplerCreateInfo.addressV = VK_TEX_ADDRESS_WRAP;
samplerCreateInfo.addressW = VK_TEX_ADDRESS_WRAP;
samplerCreateInfo.mipLodBias = 0.0;
samplerCreateInfo.maxAnisotropy = 0.0;
- samplerCreateInfo.compareFunc = VK_COMPARE_NEVER;
+ samplerCreateInfo.compareOp = VK_COMPARE_OP_NEVER;
samplerCreateInfo.minLod = 0.0;
samplerCreateInfo.maxLod = 0.0;
- samplerCreateInfo.borderColorType = VK_BORDER_COLOR_OPAQUE_WHITE;
+ samplerCreateInfo.borderColor = VK_BORDER_COLOR_OPAQUE_WHITE;
init(*m_device, samplerCreateInfo);
}
@@ -767,7 +759,7 @@
VkBufferViewCreateInfo view_info = {};
view_info.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
view_info.buffer = obj();
- view_info.viewType = VK_BUFFER_VIEW_RAW;
+ view_info.viewType = VK_BUFFER_VIEW_TYPE_RAW;
view_info.offset = 0;
view_info.range = allocationSize;
m_bufferView.init(*m_device, view_info);
@@ -776,7 +768,7 @@
this->m_bufferViewInfo.view = m_bufferView.obj();
}
-void VkConstantBufferObj::Bind(VkCmdBuffer cmdBuffer, VkGpuSize offset, uint32_t binding)
+void VkConstantBufferObj::Bind(VkCmdBuffer cmdBuffer, VkDeviceSize offset, uint32_t binding)
{
vkCmdBindVertexBuffers(cmdBuffer, binding, 1, &obj(), &offset);
}
@@ -827,17 +819,10 @@
buffer_memory_barrier(outputMask, inputMask, 0, m_numVertices * m_stride);
VkBufferMemoryBarrier *pmemory_barrier = &memory_barrier;
- VkPipeEvent set_events[] = { VK_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
- VkPipelineBarrier pipeline_barrier = {};
- pipeline_barrier.sType = VK_STRUCTURE_TYPE_PIPELINE_BARRIER;
- pipeline_barrier.eventCount = 1;
- pipeline_barrier.pEvents = set_events;
- pipeline_barrier.waitEvent = VK_WAIT_EVENT_TOP_OF_PIPE;
- pipeline_barrier.memBarrierCount = 1;
- pipeline_barrier.ppMemBarriers = (const void **)&pmemory_barrier;
+ VkPipeEvent set_events[] = { VK_PIPE_EVENT_COMMANDS_COMPLETE };
// write barrier to the command buffer
- m_commandBuffer->PipelineBarrier(&pipeline_barrier);
+ m_commandBuffer->PipelineBarrier(VK_WAIT_EVENT_TOP_OF_PIPE, 1, set_events, 1, (const void **)&pmemory_barrier);
// finish recording the command buffer
err = m_commandBuffer->EndCommandBuffer();
@@ -870,17 +855,17 @@
m_numVertices = numIndexes;
m_indexType = indexType;
switch (indexType) {
- case VK_INDEX_8:
+ case VK_INDEX_TYPE_UINT8:
m_stride = 1;
- viewFormat = VK_FMT_R8_UINT;
+ viewFormat = VK_FORMAT_R8_UINT;
break;
- case VK_INDEX_16:
+ case VK_INDEX_TYPE_UINT16:
m_stride = 2;
- viewFormat = VK_FMT_R16_UINT;
+ viewFormat = VK_FORMAT_R16_UINT;
break;
- case VK_INDEX_32:
+ case VK_INDEX_TYPE_UINT32:
m_stride = 4;
- viewFormat = VK_FMT_R32_UINT;
+ viewFormat = VK_FORMAT_R32_UINT;
break;
default:
assert(!"unknown index type");
@@ -898,7 +883,7 @@
VkBufferViewCreateInfo view_info = {};
view_info.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
view_info.buffer = obj();
- view_info.viewType = VK_BUFFER_VIEW_FORMATTED;
+ view_info.viewType = VK_BUFFER_VIEW_TYPE_FORMATTED;
view_info.format = viewFormat;
view_info.offset = 0;
view_info.range = allocationSize;
@@ -908,7 +893,7 @@
this->m_bufferViewInfo.view = m_bufferView.obj();
}
-void VkIndexBufferObj::Bind(VkCmdBuffer cmdBuffer, VkGpuSize offset)
+void VkIndexBufferObj::Bind(VkCmdBuffer cmdBuffer, VkDeviceSize offset)
{
vkCmdBindIndexBuffer(cmdBuffer, obj(), offset, m_indexType);
}
@@ -930,7 +915,7 @@
return stageInfo;
}
-VkShaderObj::VkShaderObj(VkDeviceObj *device, const char * shader_code, VkPipelineShaderStage stage, VkRenderFramework *framework)
+VkShaderObj::VkShaderObj(VkDeviceObj *device, const char * shader_code, VkShaderStage stage, VkRenderFramework *framework)
{
VkResult err = VK_SUCCESS;
std::vector<unsigned int> spv;
@@ -950,7 +935,7 @@
createInfo.pCode = malloc(createInfo.codeSize);
createInfo.flags = 0;
- /* try version 0 first: VkPipelineShaderStage followed by GLSL */
+ /* try version 0 first: VkShaderStage followed by GLSL */
((uint32_t *) createInfo.pCode)[0] = ICD_SPV_MAGIC;
((uint32_t *) createInfo.pCode)[1] = 0;
((uint32_t *) createInfo.pCode)[2] = stage;
@@ -981,7 +966,7 @@
m_ia_state.sType = VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO;
m_ia_state.pNext = VK_NULL_HANDLE;
- m_ia_state.topology = VK_TOPOLOGY_TRIANGLE_LIST;
+ m_ia_state.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
m_ia_state.disableVertexReuse = VK_FALSE;
m_ia_state.primitiveRestartEnable = VK_FALSE;
m_ia_state.primitiveRestartIndex = 0;
@@ -993,8 +978,8 @@
m_rs_state.programPointSize = VK_FALSE;
m_rs_state.pointOrigin = VK_COORDINATE_ORIGIN_UPPER_LEFT;
m_rs_state.provokingVertex = VK_PROVOKING_VERTEX_LAST;
- m_rs_state.fillMode = VK_FILL_SOLID;
- m_rs_state.cullMode = VK_CULL_NONE;
+ m_rs_state.fillMode = VK_FILL_MODE_SOLID;
+ m_rs_state.cullMode = VK_CULL_MODE_NONE;
m_rs_state.frontFace = VK_FRONT_FACE_CCW;
memset(&m_cb_state,0,sizeof(m_cb_state));
@@ -1013,21 +998,21 @@
m_ds_state.sType = VK_STRUCTURE_TYPE_PIPELINE_DS_STATE_CREATE_INFO;
m_ds_state.pNext = &m_ms_state,
- m_ds_state.format = VK_FMT_D32_SFLOAT;
+ m_ds_state.format = VK_FORMAT_D32_SFLOAT;
m_ds_state.depthTestEnable = VK_FALSE;
m_ds_state.depthWriteEnable = VK_FALSE;
m_ds_state.depthBoundsEnable = VK_FALSE;
- m_ds_state.depthFunc = VK_COMPARE_LESS_EQUAL;
+ m_ds_state.depthCompareOp = VK_COMPARE_OP_LESS_EQUAL;
m_ds_state.back.stencilDepthFailOp = VK_STENCIL_OP_KEEP;
m_ds_state.back.stencilFailOp = VK_STENCIL_OP_KEEP;
m_ds_state.back.stencilPassOp = VK_STENCIL_OP_KEEP;
- m_ds_state.back.stencilFunc = VK_COMPARE_ALWAYS;
+ m_ds_state.back.stencilCompareOp = VK_COMPARE_OP_ALWAYS;
m_ds_state.stencilTestEnable = VK_FALSE;
m_ds_state.front = m_ds_state.back;
VkPipelineCbAttachmentState att = {};
att.blendEnable = VK_FALSE;
- att.format = VK_FMT_B8G8R8A8_UNORM;
+ att.format = VK_FORMAT_B8G8R8A8_UNORM;
att.channelWriteMask = 0xf;
AddColorAttachment(0, &att);
@@ -1072,7 +1057,7 @@
m_ds_state.depthTestEnable = ds_state->depthTestEnable;
m_ds_state.depthWriteEnable = ds_state->depthWriteEnable;
m_ds_state.depthBoundsEnable = ds_state->depthBoundsEnable;
- m_ds_state.depthFunc = ds_state->depthFunc;
+ m_ds_state.depthCompareOp = ds_state->depthCompareOp;
m_ds_state.stencilTestEnable = ds_state->stencilTestEnable;
m_ds_state.back = ds_state->back;
m_ds_state.front = ds_state->front;
@@ -1110,9 +1095,9 @@
init(*m_device, info);
}
-vector<VkGpuMemory> VkMemoryRefManager::mem_refs() const
+vector<VkDeviceMemory> VkMemoryRefManager::mem_refs() const
{
- std::vector<VkGpuMemory> mems;
+ std::vector<VkDeviceMemory> mems;
if (this->mem_refs_.size()) {
mems.reserve(this->mem_refs_.size());
for (uint32_t i = 0; i < this->mem_refs_.size(); i++)
@@ -1124,11 +1109,11 @@
void VkMemoryRefManager::AddMemoryRefs(vk_testing::Object &vkObject)
{
- const std::vector<VkGpuMemory> mems = vkObject.memories();
+ const std::vector<VkDeviceMemory> mems = vkObject.memories();
AddMemoryRefs(mems);
}
-void VkMemoryRefManager::AddMemoryRefs(vector<VkGpuMemory> mem)
+void VkMemoryRefManager::AddMemoryRefs(vector<VkDeviceMemory> mem)
{
for (size_t i = 0; i < mem.size(); i++) {
if (mem[i] != NULL) {
@@ -1182,9 +1167,9 @@
return VK_SUCCESS;
}
-void VkCommandBufferObj::PipelineBarrier(VkPipelineBarrier *barrierPtr)
+void VkCommandBufferObj::PipelineBarrier(VkWaitEvent waitEvent, uint32_t pipeEventCount, const VkPipeEvent* pPipeEvents, uint32_t memBarrierCount, const void** ppMemBarriers)
{
- vkCmdPipelineBarrier(obj(), barrierPtr);
+ vkCmdPipelineBarrier(obj(), waitEvent, pipeEventCount, pPipeEvents, memBarrierCount, ppMemBarriers);
}
void VkCommandBufferObj::ClearAllBuffers(VkClearColor clear_color, float depth_clear_color, uint32_t stencil_clear_color,
@@ -1215,19 +1200,12 @@
memory_barrier.subresourceRange = srRange;
VkImageMemoryBarrier *pmemory_barrier = &memory_barrier;
- VkPipeEvent set_events[] = { VK_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
- VkPipelineBarrier pipeline_barrier = {};
- pipeline_barrier.sType = VK_STRUCTURE_TYPE_PIPELINE_BARRIER;
- pipeline_barrier.eventCount = 1;
- pipeline_barrier.pEvents = set_events;
- pipeline_barrier.waitEvent = VK_WAIT_EVENT_TOP_OF_PIPE;
- pipeline_barrier.memBarrierCount = 1;
- pipeline_barrier.ppMemBarriers = (const void **)&pmemory_barrier;
+ VkPipeEvent set_events[] = { VK_PIPE_EVENT_COMMANDS_COMPLETE };
for (i = 0; i < m_renderTargets.size(); i++) {
memory_barrier.image = m_renderTargets[i]->image();
memory_barrier.oldLayout = m_renderTargets[i]->layout();
- vkCmdPipelineBarrier( obj(), &pipeline_barrier);
+ vkCmdPipelineBarrier( obj(), VK_WAIT_EVENT_TOP_OF_PIPE, 1, set_events, 1, (const void **)&pmemory_barrier);
m_renderTargets[i]->layout(memory_barrier.newLayout);
vkCmdClearColorImage(obj(),
@@ -1253,7 +1231,7 @@
memory_barrier.image = depthStencilObj->obj();
memory_barrier.subresourceRange = dsRange;
- vkCmdPipelineBarrier( obj(), &pipeline_barrier);
+ vkCmdPipelineBarrier( obj(), VK_WAIT_EVENT_TOP_OF_PIPE, 1, set_events, 1, (const void **)&pmemory_barrier);
vkCmdClearDepthStencil(obj(),
depthStencilObj->obj(), VK_IMAGE_LAYOUT_CLEAR_OPTIMAL,
@@ -1266,7 +1244,7 @@
memory_barrier.oldLayout = VK_IMAGE_LAYOUT_CLEAR_OPTIMAL;
memory_barrier.newLayout = depthStencilObj->BindInfo()->layout;
memory_barrier.subresourceRange = dsRange;
- vkCmdPipelineBarrier( obj(), &pipeline_barrier);
+ vkCmdPipelineBarrier( obj(), VK_WAIT_EVENT_TOP_OF_PIPE, 1, set_events, 1, (const void **)&pmemory_barrier);
}
}
@@ -1305,20 +1283,13 @@
memory_barrier.subresourceRange = srRange;
VkImageMemoryBarrier *pmemory_barrier = &memory_barrier;
- VkPipeEvent set_events[] = { VK_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
- VkPipelineBarrier pipeline_barrier = {};
- pipeline_barrier.sType = VK_STRUCTURE_TYPE_PIPELINE_BARRIER;
- pipeline_barrier.eventCount = 1;
- pipeline_barrier.pEvents = set_events;
- pipeline_barrier.waitEvent = VK_WAIT_EVENT_TOP_OF_PIPE;
- pipeline_barrier.memBarrierCount = 1;
- pipeline_barrier.ppMemBarriers = (const void **)&pmemory_barrier;
+ VkPipeEvent set_events[] = { VK_PIPE_EVENT_COMMANDS_COMPLETE };
for(i=0; i<m_renderTargets.size(); i++)
{
memory_barrier.image = m_renderTargets[i]->image();
memory_barrier.oldLayout = m_renderTargets[i]->layout();
- vkCmdPipelineBarrier( obj(), &pipeline_barrier);
+ vkCmdPipelineBarrier( obj(), VK_WAIT_EVENT_TOP_OF_PIPE, 1, set_events, 1, (const void **)&pmemory_barrier);
m_renderTargets[i]->layout(memory_barrier.newLayout);
}
}
@@ -1411,7 +1382,7 @@
mem_ref_mgr.AddMemoryRefs(*indexBuffer);
}
-void VkCommandBufferObj::BindVertexBuffer(VkConstantBufferObj *vertexBuffer, VkGpuSize offset, uint32_t binding)
+void VkCommandBufferObj::BindVertexBuffer(VkConstantBufferObj *vertexBuffer, VkDeviceSize offset, uint32_t binding)
{
vkCmdBindVertexBuffers(obj(), binding, 1, &vertexBuffer->obj(), &offset);
mem_ref_mgr.AddMemoryRefs(*vertexBuffer);
@@ -1438,11 +1409,11 @@
m_device = device;
m_initialized = true;
- m_depth_stencil_fmt = VK_FMT_D16_UNORM;
+ m_depth_stencil_fmt = VK_FORMAT_D16_UNORM;
image_info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
image_info.pNext = NULL;
- image_info.imageType = VK_IMAGE_2D;
+ image_info.imageType = VK_IMAGE_TYPE_2D;
image_info.format = m_depth_stencil_fmt;
image_info.extent.width = width;
image_info.extent.height = height;
@@ -1450,7 +1421,7 @@
image_info.mipLevels = 1;
image_info.arraySize = 1;
image_info.samples = 1;
- image_info.tiling = VK_OPTIMAL_TILING;
+ image_info.tiling = VK_IMAGE_TILING_OPTIMAL;
image_info.usage = VK_IMAGE_USAGE_DEPTH_STENCIL_BIT;
image_info.flags = 0;
init(*m_device, image_info);