radv: Expose VK_KHX_multiview.

Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Bas Nieuwenhuizen 2017-08-16 09:20:53 +02:00
parent e3265c10c8
commit ba51ad2f25
2 changed files with 18 additions and 0 deletions

View File

@ -178,6 +178,10 @@ static const VkExtensionProperties ext_sema_device_extensions[] = {
.extensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, .extensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,
.specVersion = 1, .specVersion = 1,
}, },
{
.extensionName = VK_KHX_MULTIVIEW_EXTENSION_NAME,
.specVersion = 1,
},
}; };
static VkResult static VkResult
@ -628,6 +632,13 @@ void radv_GetPhysicalDeviceFeatures2KHR(
features->variablePointers = false; features->variablePointers = false;
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX: {
VkPhysicalDeviceMultiviewFeaturesKHX *features = (VkPhysicalDeviceMultiviewFeaturesKHX*)ext;
features->multiview = true;
features->multiviewGeometryShader = true;
features->multiviewTessellationShader = true;
break;
}
default: default:
break; break;
} }
@ -804,6 +815,12 @@ void radv_GetPhysicalDeviceProperties2KHR(
properties->deviceLUIDValid = false; properties->deviceLUIDValid = false;
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX: {
VkPhysicalDeviceMultiviewPropertiesKHX *properties = (VkPhysicalDeviceMultiviewPropertiesKHX*)ext;
properties->maxMultiviewViewCount = MAX_VIEWS;
properties->maxMultiviewInstanceIndex = INT_MAX;
break;
}
default: default:
break; break;
} }

View File

@ -230,6 +230,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
.image_write_without_format = true, .image_write_without_format = true,
.tessellation = true, .tessellation = true,
.int64 = true, .int64 = true,
.multiview = true,
.variable_pointers = true, .variable_pointers = true,
}; };
entry_point = spirv_to_nir(spirv, module->size / 4, entry_point = spirv_to_nir(spirv, module->size / 4,