@@ -170,10 +170,10 @@ typedef enum { | |||
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 7, | |||
VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 8, | |||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 9, | |||
VK_STRUCTURE_TYPE_DYNAMIC_VP_STATE_CREATE_INFO = 10, | |||
VK_STRUCTURE_TYPE_DYNAMIC_RS_STATE_CREATE_INFO = 11, | |||
VK_STRUCTURE_TYPE_DYNAMIC_CB_STATE_CREATE_INFO = 12, | |||
VK_STRUCTURE_TYPE_DYNAMIC_DS_STATE_CREATE_INFO = 13, | |||
VK_STRUCTURE_TYPE_DYNAMIC_VIEWPORT_STATE_CREATE_INFO = 10, | |||
VK_STRUCTURE_TYPE_DYNAMIC_RASTER_STATE_CREATE_INFO = 11, | |||
VK_STRUCTURE_TYPE_DYNAMIC_COLOR_BLEND_STATE_CREATE_INFO = 12, | |||
VK_STRUCTURE_TYPE_DYNAMIC_DEPTH_STENCIL_STATE_CREATE_INFO = 13, | |||
VK_STRUCTURE_TYPE_CMD_BUFFER_CREATE_INFO = 14, | |||
VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 15, | |||
VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 16, | |||
@@ -182,13 +182,13 @@ typedef enum { | |||
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 19, | |||
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 20, | |||
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 21, | |||
VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO = 22, | |||
VK_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO = 23, | |||
VK_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO = 24, | |||
VK_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO = 25, | |||
VK_STRUCTURE_TYPE_PIPELINE_MS_STATE_CREATE_INFO = 26, | |||
VK_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO = 27, | |||
VK_STRUCTURE_TYPE_PIPELINE_DS_STATE_CREATE_INFO = 28, | |||
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 22, | |||
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 23, | |||
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 24, | |||
VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO = 25, | |||
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 26, | |||
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 27, | |||
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 28, | |||
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 29, | |||
VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 30, | |||
VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 31, | |||
@@ -1534,19 +1534,19 @@ typedef struct { | |||
const void* pNext; | |||
VkPrimitiveTopology topology; | |||
VkBool32 primitiveRestartEnable; | |||
} VkPipelineIaStateCreateInfo; | |||
} VkPipelineInputAssemblyStateCreateInfo; | |||
typedef struct { | |||
VkStructureType sType; | |||
const void* pNext; | |||
uint32_t patchControlPoints; | |||
} VkPipelineTessStateCreateInfo; | |||
} VkPipelineTessellationStateCreateInfo; | |||
typedef struct { | |||
VkStructureType sType; | |||
const void* pNext; | |||
uint32_t viewportCount; | |||
} VkPipelineVpStateCreateInfo; | |||
} VkPipelineViewportStateCreateInfo; | |||
typedef struct { | |||
VkStructureType sType; | |||
@@ -1556,7 +1556,7 @@ typedef struct { | |||
VkFillMode fillMode; | |||
VkCullMode cullMode; | |||
VkFrontFace frontFace; | |||
} VkPipelineRsStateCreateInfo; | |||
} VkPipelineRasterStateCreateInfo; | |||
typedef struct { | |||
VkStructureType sType; | |||
@@ -1565,7 +1565,7 @@ typedef struct { | |||
VkBool32 sampleShadingEnable; | |||
float minSampleShading; | |||
VkSampleMask sampleMask; | |||
} VkPipelineMsStateCreateInfo; | |||
} VkPipelineMultisampleStateCreateInfo; | |||
typedef struct { | |||
VkStencilOp stencilFailOp; | |||
@@ -1584,7 +1584,7 @@ typedef struct { | |||
VkBool32 stencilTestEnable; | |||
VkStencilOpState front; | |||
VkStencilOpState back; | |||
} VkPipelineDsStateCreateInfo; | |||
} VkPipelineDepthStencilStateCreateInfo; | |||
typedef struct { | |||
VkBool32 blendEnable; | |||
@@ -1595,7 +1595,7 @@ typedef struct { | |||
VkBlend destBlendAlpha; | |||
VkBlendOp blendOpAlpha; | |||
VkChannelFlags channelWriteMask; | |||
} VkPipelineCbAttachmentState; | |||
} VkPipelineColorBlendAttachmentState; | |||
typedef struct { | |||
VkStructureType sType; | |||
@@ -1604,8 +1604,8 @@ typedef struct { | |||
VkBool32 logicOpEnable; | |||
VkLogicOp logicOp; | |||
uint32_t attachmentCount; | |||
const VkPipelineCbAttachmentState* pAttachments; | |||
} VkPipelineCbStateCreateInfo; | |||
const VkPipelineColorBlendAttachmentState* pAttachments; | |||
} VkPipelineColorBlendStateCreateInfo; | |||
typedef struct { | |||
VkStructureType sType; | |||
@@ -1613,13 +1613,13 @@ typedef struct { | |||
uint32_t stageCount; | |||
const VkPipelineShaderStageCreateInfo* pStages; | |||
const VkPipelineVertexInputStateCreateInfo* pVertexInputState; | |||
const VkPipelineIaStateCreateInfo* pIaState; | |||
const VkPipelineTessStateCreateInfo* pTessState; | |||
const VkPipelineVpStateCreateInfo* pVpState; | |||
const VkPipelineRsStateCreateInfo* pRsState; | |||
const VkPipelineMsStateCreateInfo* pMsState; | |||
const VkPipelineDsStateCreateInfo* pDsState; | |||
const VkPipelineCbStateCreateInfo* pCbState; | |||
const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; | |||
const VkPipelineTessellationStateCreateInfo* pTessellationState; | |||
const VkPipelineViewportStateCreateInfo* pViewportState; | |||
const VkPipelineRasterStateCreateInfo* pRasterState; | |||
const VkPipelineMultisampleStateCreateInfo* pMultisampleState; | |||
const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; | |||
const VkPipelineColorBlendStateCreateInfo* pColorBlendState; | |||
VkPipelineCreateFlags flags; | |||
VkPipelineLayout layout; | |||
VkRenderPass renderPass; |
@@ -2192,7 +2192,7 @@ VkResult anv_CreateDynamicViewportState( | |||
ANV_FROM_HANDLE(anv_device, device, _device); | |||
struct anv_dynamic_vp_state *state; | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_VP_STATE_CREATE_INFO); | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_VIEWPORT_STATE_CREATE_INFO); | |||
state = anv_device_alloc(device, sizeof(*state), 8, | |||
VK_SYSTEM_ALLOC_TYPE_API_OBJECT); | |||
@@ -2295,7 +2295,7 @@ VkResult anv_CreateDynamicRasterState( | |||
ANV_FROM_HANDLE(anv_device, device, _device); | |||
struct anv_dynamic_rs_state *state; | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_RS_STATE_CREATE_INFO); | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_RASTER_STATE_CREATE_INFO); | |||
state = anv_device_alloc(device, sizeof(*state), 8, | |||
VK_SYSTEM_ALLOC_TYPE_API_OBJECT); | |||
@@ -2347,7 +2347,7 @@ VkResult anv_CreateDynamicColorBlendState( | |||
ANV_FROM_HANDLE(anv_device, device, _device); | |||
struct anv_dynamic_cb_state *state; | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_CB_STATE_CREATE_INFO); | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_COLOR_BLEND_STATE_CREATE_INFO); | |||
state = anv_device_alloc(device, sizeof(*state), 8, | |||
VK_SYSTEM_ALLOC_TYPE_API_OBJECT); | |||
@@ -2388,7 +2388,7 @@ VkResult anv_CreateDynamicDepthStencilState( | |||
ANV_FROM_HANDLE(anv_device, device, _device); | |||
struct anv_dynamic_ds_state *state; | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_DS_STATE_CREATE_INFO); | |||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DYNAMIC_DEPTH_STENCIL_STATE_CREATE_INFO); | |||
state = anv_device_alloc(device, sizeof(*state), 8, | |||
VK_SYSTEM_ALLOC_TYPE_API_OBJECT); | |||
@@ -3930,7 +3930,7 @@ VkResult anv_CreateFramebuffer( | |||
anv_CreateDynamicViewportState(anv_device_to_handle(device), | |||
&(VkDynamicViewportStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_VP_STATE_CREATE_INFO, | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_VIEWPORT_STATE_CREATE_INFO, | |||
.viewportAndScissorCount = 1, | |||
.pViewports = (VkViewport[]) { | |||
{ |
@@ -111,23 +111,23 @@ anv_device_init_meta_clear_state(struct anv_device *device) | |||
.pSpecializationInfo = NULL, | |||
}, | |||
.pVertexInputState = &vi_create_info, | |||
.pIaState = &(VkPipelineIaStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO, | |||
.pInputAssemblyState = &(VkPipelineInputAssemblyStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, | |||
.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, | |||
.primitiveRestartEnable = false, | |||
}, | |||
.pRsState = &(VkPipelineRsStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO, | |||
.pRasterState = &(VkPipelineRasterStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO, | |||
.depthClipEnable = true, | |||
.rasterizerDiscardEnable = false, | |||
.fillMode = VK_FILL_MODE_SOLID, | |||
.cullMode = VK_CULL_MODE_NONE, | |||
.frontFace = VK_FRONT_FACE_CCW | |||
}, | |||
.pCbState = &(VkPipelineCbStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO, | |||
.pColorBlendState = &(VkPipelineColorBlendStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, | |||
.attachmentCount = 1, | |||
.pAttachments = (VkPipelineCbAttachmentState []) { | |||
.pAttachments = (VkPipelineColorBlendAttachmentState []) { | |||
{ .channelWriteMask = VK_CHANNEL_A_BIT | | |||
VK_CHANNEL_R_BIT | VK_CHANNEL_G_BIT | VK_CHANNEL_B_BIT }, | |||
} | |||
@@ -443,23 +443,23 @@ anv_device_init_meta_blit_state(struct anv_device *device) | |||
}, | |||
}, | |||
.pVertexInputState = &vi_create_info, | |||
.pIaState = &(VkPipelineIaStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO, | |||
.pInputAssemblyState = &(VkPipelineInputAssemblyStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, | |||
.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, | |||
.primitiveRestartEnable = false, | |||
}, | |||
.pRsState = &(VkPipelineRsStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO, | |||
.pRasterState = &(VkPipelineRasterStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO, | |||
.depthClipEnable = true, | |||
.rasterizerDiscardEnable = false, | |||
.fillMode = VK_FILL_MODE_SOLID, | |||
.cullMode = VK_CULL_MODE_NONE, | |||
.frontFace = VK_FRONT_FACE_CCW | |||
}, | |||
.pCbState = &(VkPipelineCbStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO, | |||
.pColorBlendState = &(VkPipelineColorBlendStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, | |||
.attachmentCount = 1, | |||
.pAttachments = (VkPipelineCbAttachmentState []) { | |||
.pAttachments = (VkPipelineColorBlendAttachmentState []) { | |||
{ .channelWriteMask = VK_CHANNEL_A_BIT | | |||
VK_CHANNEL_R_BIT | VK_CHANNEL_G_BIT | VK_CHANNEL_B_BIT }, | |||
} | |||
@@ -1406,19 +1406,19 @@ anv_device_init_meta(struct anv_device *device) | |||
anv_CreateDynamicRasterState(anv_device_to_handle(device), | |||
&(VkDynamicRasterStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_RS_STATE_CREATE_INFO, | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_RASTER_STATE_CREATE_INFO, | |||
}, | |||
&device->meta_state.shared.rs_state); | |||
anv_CreateDynamicColorBlendState(anv_device_to_handle(device), | |||
&(VkDynamicColorBlendStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_CB_STATE_CREATE_INFO | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_COLOR_BLEND_STATE_CREATE_INFO | |||
}, | |||
&device->meta_state.shared.cb_state); | |||
anv_CreateDynamicDepthStencilState(anv_device_to_handle(device), | |||
&(VkDynamicDepthStencilStateCreateInfo) { | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_DS_STATE_CREATE_INFO | |||
.sType = VK_STRUCTURE_TYPE_DYNAMIC_DEPTH_STENCIL_STATE_CREATE_INFO | |||
}, | |||
&device->meta_state.shared.ds_state); | |||
} |
@@ -225,7 +225,7 @@ emit_vertex_input(struct anv_pipeline *pipeline, | |||
static void | |||
emit_ia_state(struct anv_pipeline *pipeline, | |||
const VkPipelineIaStateCreateInfo *info, | |||
const VkPipelineInputAssemblyStateCreateInfo *info, | |||
const struct anv_pipeline_create_info *extra) | |||
{ | |||
static const uint32_t vk_to_gen_primitive_type[] = { | |||
@@ -258,7 +258,7 @@ emit_ia_state(struct anv_pipeline *pipeline, | |||
static void | |||
emit_rs_state(struct anv_pipeline *pipeline, | |||
const VkPipelineRsStateCreateInfo *info, | |||
const VkPipelineRasterStateCreateInfo *info, | |||
const struct anv_pipeline_create_info *extra) | |||
{ | |||
static const uint32_t vk_to_gen_cullmode[] = { | |||
@@ -316,7 +316,7 @@ emit_rs_state(struct anv_pipeline *pipeline, | |||
static void | |||
emit_cb_state(struct anv_pipeline *pipeline, | |||
const VkPipelineCbStateCreateInfo *info) | |||
const VkPipelineColorBlendStateCreateInfo *info) | |||
{ | |||
struct anv_device *device = pipeline->device; | |||
@@ -381,7 +381,7 @@ emit_cb_state(struct anv_pipeline *pipeline, | |||
GEN8_BLEND_STATE_pack(NULL, state, &blend_state); | |||
for (uint32_t i = 0; i < info->attachmentCount; i++) { | |||
const VkPipelineCbAttachmentState *a = &info->pAttachments[i]; | |||
const VkPipelineColorBlendAttachmentState *a = &info->pAttachments[i]; | |||
struct GEN8_BLEND_STATE_ENTRY entry = { | |||
.LogicOpEnable = info->logicOpEnable, | |||
@@ -434,7 +434,7 @@ static const uint32_t vk_to_gen_stencil_op[] = { | |||
static void | |||
emit_ds_state(struct anv_pipeline *pipeline, | |||
const VkPipelineDsStateCreateInfo *info) | |||
const VkPipelineDepthStencilStateCreateInfo *info) | |||
{ | |||
if (info == NULL) { | |||
/* We're going to OR this together with the dynamic state. We need | |||
@@ -520,12 +520,12 @@ anv_pipeline_create( | |||
anv_shader_from_handle(pCreateInfo->pStages[i].shader); | |||
} | |||
if (pCreateInfo->pTessState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO"); | |||
if (pCreateInfo->pVpState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO"); | |||
if (pCreateInfo->pMsState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_MS_STATE_CREATE_INFO"); | |||
if (pCreateInfo->pTessellationState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"); | |||
if (pCreateInfo->pViewportState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"); | |||
if (pCreateInfo->pMultisampleState) | |||
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"); | |||
pipeline->use_repclear = extra && extra->use_repclear; | |||
@@ -542,12 +542,12 @@ anv_pipeline_create( | |||
assert(pCreateInfo->pVertexInputState); | |||
emit_vertex_input(pipeline, pCreateInfo->pVertexInputState); | |||
assert(pCreateInfo->pIaState); | |||
emit_ia_state(pipeline, pCreateInfo->pIaState, extra); | |||
assert(pCreateInfo->pRsState); | |||
emit_rs_state(pipeline, pCreateInfo->pRsState, extra); | |||
emit_ds_state(pipeline, pCreateInfo->pDsState); | |||
emit_cb_state(pipeline, pCreateInfo->pCbState); | |||
assert(pCreateInfo->pInputAssemblyState); | |||
emit_ia_state(pipeline, pCreateInfo->pInputAssemblyState, extra); | |||
assert(pCreateInfo->pRasterState); | |||
emit_rs_state(pipeline, pCreateInfo->pRasterState, extra); | |||
emit_ds_state(pipeline, pCreateInfo->pDepthStencilState); | |||
emit_cb_state(pipeline, pCreateInfo->pColorBlendState); | |||
anv_batch_emit(&pipeline->batch, GEN8_3DSTATE_VF_STATISTICS, | |||
.StatisticsEnable = true); |