diff --git a/src/virtio/vulkan/vn_pipeline.c b/src/virtio/vulkan/vn_pipeline.c index 5fbab8a4a2b..bf9c9d32238 100644 --- a/src/virtio/vulkan/vn_pipeline.c +++ b/src/virtio/vulkan/vn_pipeline.c @@ -140,9 +140,12 @@ vn_CreatePipelineCache(VkDevice device, VkPipelineCacheCreateInfo local_create_info; if (pCreateInfo->initialDataSize) { + const struct vk_pipeline_cache_header *header = + pCreateInfo->pInitialData; + local_create_info = *pCreateInfo; - local_create_info.pInitialData += - sizeof(struct vk_pipeline_cache_header); + local_create_info.initialDataSize -= header->header_size; + local_create_info.pInitialData += header->header_size; pCreateInfo = &local_create_info; }