anv/pipeline: Refactor specialization constant handling a bit

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
Jason Ekstrand 2016-05-31 16:27:19 -07:00
parent 45542f554c
commit a19ae36ce5
1 changed files with 4 additions and 5 deletions

View File

@ -123,13 +123,12 @@ anv_shader_compile_to_nir(struct anv_device *device,
num_spec_entries = spec_info->mapEntryCount;
spec_entries = malloc(num_spec_entries * sizeof(*spec_entries));
for (uint32_t i = 0; i < num_spec_entries; i++) {
const uint32_t *data =
spec_info->pData + spec_info->pMapEntries[i].offset;
assert((const void *)(data + 1) <=
spec_info->pData + spec_info->dataSize);
VkSpecializationMapEntry entry = spec_info->pMapEntries[i];
const void *data = spec_info->pData + entry.offset;
assert(data + entry.size <= spec_info->pData + spec_info->dataSize);
spec_entries[i].id = spec_info->pMapEntries[i].constantID;
spec_entries[i].data = *data;
spec_entries[i].data = *(const uint32_t *)data;
}
}