libVulkan references and deferences structures uselessly
In libVulkan.cpp, many structures are received as pointers,
which are dereferenced, only to be references on the next line.
We can just take the pointers as is.
Bug: b/144943261
Change-Id: I60585ab5e953dc9baf1f6951a3762c890ab95641
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38530
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/Vulkan/VkDevice.cpp b/src/Vulkan/VkDevice.cpp
index ae74729..06cbf87 100644
--- a/src/Vulkan/VkDevice.cpp
+++ b/src/Vulkan/VkDevice.cpp
@@ -232,6 +232,12 @@
}
}
+void Device::getRequirements(VkMemoryDedicatedRequirements* requirements) const
+{
+ requirements->prefersDedicatedAllocation = VK_FALSE;
+ requirements->requiresDedicatedAllocation = VK_FALSE;
+}
+
Device::SamplingRoutineCache* Device::getSamplingRoutineCache() const
{
return samplingRoutineCache.get();
diff --git a/src/Vulkan/VkDevice.hpp b/src/Vulkan/VkDevice.hpp
index 3fa0afe..4aeb14c 100644
--- a/src/Vulkan/VkDevice.hpp
+++ b/src/Vulkan/VkDevice.hpp
@@ -56,6 +56,7 @@
PhysicalDevice *getPhysicalDevice() const { return physicalDevice; }
void updateDescriptorSets(uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites,
uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
+ void getRequirements(VkMemoryDedicatedRequirements* requirements) const;
const VkPhysicalDeviceFeatures &getEnabledFeatures() const { return enabledFeatures; }
sw::Blitter* getBlitter() const { return blitter.get(); }
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index 16784ce..8717741 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -2448,9 +2448,8 @@
{
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
{
- auto& requirements = *reinterpret_cast<VkMemoryDedicatedRequirements*>(extensionRequirements);
- requirements.prefersDedicatedAllocation = VK_FALSE;
- requirements.requiresDedicatedAllocation = VK_FALSE;
+ auto requirements = reinterpret_cast<VkMemoryDedicatedRequirements*>(extensionRequirements);
+ vk::Cast(device)->getRequirements(requirements);
}
break;
default:
@@ -2481,9 +2480,8 @@
{
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
{
- auto& requirements = *reinterpret_cast<VkMemoryDedicatedRequirements*>(extensionRequirements);
- requirements.prefersDedicatedAllocation = VK_FALSE;
- requirements.requiresDedicatedAllocation = VK_FALSE;
+ auto requirements = reinterpret_cast<VkMemoryDedicatedRequirements*>(extensionRequirements);
+ vk::Cast(device)->getRequirements(requirements);
}
break;
default:
@@ -2523,56 +2521,56 @@
{
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
{
- auto& features = *reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
{
- auto& features = *reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(extensionFeatures);
- vk::Cast(physicalDevice)->getFeatures(&features);
+ auto features = reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(extensionFeatures);
+ vk::Cast(physicalDevice)->getFeatures(features);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
@@ -2610,38 +2608,38 @@
{
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceIDProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceIDProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
@@ -2655,28 +2653,28 @@
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceDriverPropertiesKHR*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceDriverPropertiesKHR*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
#ifdef __ANDROID__
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID:
{
- auto& properties = *reinterpret_cast<VkPhysicalDevicePresentationPropertiesANDROID*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDevicePresentationPropertiesANDROID*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
#endif
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
{
- auto& properties = *reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
default:
@@ -2759,14 +2757,14 @@
{
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkExternalImageFormatProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(handleType, &properties);
+ auto properties = reinterpret_cast<VkExternalImageFormatProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(handleType, properties);
}
break;
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
{
- auto& properties = *reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(extensionProperties);
- vk::Cast(physicalDevice)->getProperties(&properties);
+ auto properties = reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(extensionProperties);
+ vk::Cast(physicalDevice)->getProperties(properties);
}
break;
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: