[vulkan] Add transform codegen for VkDeviceMemory virtualization
bug: 111137294
bug: 121420031
The basic operation behind virtualizing a VkDeviceMemory is simple: one
needs to map the VkDeviceMemory handle to a "physical" VkDeviceMemory
handle, add the memory offset corresponding to the user's handle to the
final offset parameter, change any size parameter to be an absolute size
instead of VK_WHOLE_SIZE, and modify any memory type indices/bits to
reflect any virtual memory types that may have been created.
However, what complicates is that such arguments are scattered
throughout the Vulkan API; the operation is simple but enumerating the
context of its application is not. At the same time, we want to avoid
having to add new event handling calls to all the possible things that
can be touched by this. Therefore, we introduce a new code
generation layer, 'transform', whose purpose is to generate code that
searches out where the operation is necessary, automating away the
complex part.
+ Fix some wrong annotations in vk.xml
Change-Id: I0c939c89cc9cf2ba23d036c549ecf29f5b949156
6 files changed
tree: 6b5b3709a256ff782278e852cd35cb3c2acabbef
- registry/