[SPIR-V] Vertex index writing to r0.x

This commit is contained in:
Triang3l
2020-11-03 23:31:52 +03:00
parent 6030a4cf72
commit 8665fa7517
4 changed files with 252 additions and 77 deletions

View File

@@ -287,6 +287,12 @@ bool VulkanProvider::Initialize() {
// Get physical device features and check if the needed ones are supported.
ifn_.vkGetPhysicalDeviceFeatures(physical_device_current,
&device_features_);
// Passing indices directly from guest memory, where they are big-endian; a
// workaround using fetch from shared memory for 32-bit indices that need
// swapping isn't implemented yet. Not supported only Qualcomm Adreno 4xx.
if (!device_features_.fullDrawIndexUint32) {
continue;
}
// TODO(Triang3l): Make geometry shaders optional by providing compute
// shader fallback (though that would require vertex shader stores).
if (!device_features_.geometryShader) {