setImageLayout was missing TransferSrcOptimal as source layout
Vulkan needs the first vertex to be the provoking vertex so copy 3rd on
1st when flat shading.
VRAM stride was incorrect (RTT to VRAM)
BufferData was always allocated in host visible mem, regardless of the
mem property argument.
NVidia gpus don't support blitting to 565 and 5551, which is needed for
mipmaps, so convert to 8888 instead.
Use optimal tiling for oit pointers image (linear not supported by
nvidia and probably slower anyway)
oit screen drawer uses multiple final attachments
Set non-oit depth attachment as transient and lazily allocate mem
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
Try to find an optimal depth format then fall back to linear
Use same depth format for rtt depth attachments
Allow RenderToTextureBuffer setting to be changed at runtime
Enable vulkan on windows
align uniform buffers according to physical device requirements
destroy old swap chain before creating new one
some drivers don't support some 16-bit texture formats for optimal
tiling
Transition images back to transfer and update them instead of
deleting/recreating.
Keep track of in-flight texture command buffers and free them when idle.