add virgl_renderer_resource_create_blob
This is a subset of !374 (merged) and is modified to be more suitable for my vulkan renderer branch.
The first three commits are technically irrelevant. They move virgl_resource
(as opposed to vrend_resource
) creation out of vrend, to be more in align with virgl_renderer_resource_create_blob
.
The remaining commits adds virgl_renderer_resource_create_blob
. Comparing to !374 (merged), there are several preparation commits, and virgl_context::get_blob_pipe
is replaced by virgl_context::export_blob
.
I also guard the new apis with VIRGL_RENDERER_UNSTABLE_APIS macro. Blob resources, GL buffer storage, and Vulkan renderer are huge efforts that getting the APIs right at this early stage is impossible. But I also want to move the development to master. My hope is that, by introducing the macro, we can evolve the APIs in master without worrying about accidentally breaking users.