How Are PVRVk Objects Created?

Usually, most PVRVk objects with a Vulkan equivalent such as buffers, textures, semaphores, descriptor sets, and command pools, are created from the device by calling a createXXXX() function. This completely shadows the Vulkan API, so look for the corresponding create() function in the members of the class of the first parameter of the Vulkan create function.

Whenever possible, defaults are provided for as many of the parameters/create info fields as is feasible.

Remember that some creations are really allocations from pool objects. For example, there is no device->createCommandBuffer(), instead call commandPool->allocateCommandBuffer().

These are usually hinted by the name: instead of create/destroy for objects created on a device, there is allocate/free for objects allocated on a pool.