vk/vulkan.h: Remove the explicit primitive restart index
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 7 Jul 2015 22:11:56 +0000 (15:11 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 7 Jul 2015 22:33:00 +0000 (15:33 -0700)
commit7fbed521bb0fba037a6f4b0f7a8adad77cda0736
tree826be5f3518d8caaa67e174f95bce73a12419792
parentd6b840beffeccd0850f8b4c11a5e13330d821409
vk/vulkan.h: Remove the explicit primitive restart index

Unfortunately, this requires some non-trivial changes to the driver.  Now
that the primitive restart index isn't given explicitly by the client, we
always use ~0 for everything like D3D does.  Unfortunately, our hardware is
awesome and a 32-bit version of ~0 doesn't match any 16-bit values.  This
means, we have to set it to either UINT16_MAX or UINT32_MAX depending on
the size of the index type.  Since we get the index type from
CmdBindIndexBuffer and the rest of the VF packet from the pipeline, we need
to lazy-emit the VF packet.
include/vulkan/vulkan.h
src/vulkan/device.c
src/vulkan/meta.c
src/vulkan/pipeline.c
src/vulkan/private.h