vk/pipeline: Fix crash when the pipeline has no attributes

If there are no attributes, don't emit 3DSTATE_VERTEX_ELEMENTS.
That packet does not allow 0 attributes.
This commit is contained in:
Chad Versace 2015-08-28 08:07:15 -07:00
parent 053d32d2a5
commit 84cfc08c10
2 changed files with 8 additions and 4 deletions

View File

@ -39,8 +39,10 @@ gen7_emit_vertex_input(struct anv_pipeline *pipeline,
const uint32_t num_dwords = 1 + element_count * 2;
uint32_t *p;
p = anv_batch_emitn(&pipeline->batch, num_dwords,
GEN7_3DSTATE_VERTEX_ELEMENTS);
if (info->attributeCount > 0) {
p = anv_batch_emitn(&pipeline->batch, num_dwords,
GEN7_3DSTATE_VERTEX_ELEMENTS);
}
for (uint32_t i = 0; i < info->attributeCount; i++) {
const VkVertexInputAttributeDescription *desc =

View File

@ -36,8 +36,10 @@ emit_vertex_input(struct anv_pipeline *pipeline,
const uint32_t num_dwords = 1 + info->attributeCount * 2;
uint32_t *p;
p = anv_batch_emitn(&pipeline->batch, num_dwords,
GEN8_3DSTATE_VERTEX_ELEMENTS);
if (info->attributeCount > 0) {
p = anv_batch_emitn(&pipeline->batch, num_dwords,
GEN8_3DSTATE_VERTEX_ELEMENTS);
}
for (uint32_t i = 0; i < info->attributeCount; i++) {
const VkVertexInputAttributeDescription *desc =