From a4b57a5e1784e7425a4907b35ad97dbbaf9118ff Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Tue, 9 Aug 2016 13:41:09 -0600 Subject: layers: Validate Enabled Features in PV ParameterValidation was using the hardware supported feature set for validation -- these are now replaced with the application-enabled features at CreateDevice time. Change-Id: If52d3ae3e55c69611e02437d33a651d88ba7043d --- layers/parameter_validation.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'layers/parameter_validation.cpp') diff --git a/layers/parameter_validation.cpp b/layers/parameter_validation.cpp index 87c4cc71..54882a78 100644 --- a/layers/parameter_validation.cpp +++ b/layers/parameter_validation.cpp @@ -1651,7 +1651,6 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDevice(VkPhysicalDevice physicalDevice, my_device_data->report_data = layer_debug_report_create_device(my_instance_data->report_data, *pDevice); initDeviceTable(*pDevice, fpGetDeviceProcAddr, pc_device_table_map); - uint32_t count; VkLayerInstanceDispatchTable *instance_dispatch_table = get_dispatch_table(pc_instance_table_map, physicalDevice); instance_dispatch_table->GetPhysicalDeviceQueueFamilyProperties(physicalDevice, &count, nullptr); @@ -1666,6 +1665,13 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDevice(VkPhysicalDevice physicalDevice, instance_dispatch_table->GetPhysicalDeviceProperties(physicalDevice, &device_properties); memcpy(&my_device_data->device_limits, &device_properties.limits, sizeof(VkPhysicalDeviceLimits)); my_device_data->physical_device = physicalDevice; + + // Save app-enabled features in this device's layer_data structure + if (pCreateInfo->pEnabledFeatures) { + my_device_data->physical_device_features = *pCreateInfo->pEnabledFeatures; + } else { + memset(&my_device_data->physical_device_features, 0, sizeof(VkPhysicalDeviceFeatures)); + } } } -- cgit v1.2.3