Avoid assert in dEQP-VK.tessellation.fractional_spacing
authorSlawomir Cygan <slawomir.cygan@intel.com>
Fri, 22 Sep 2017 15:23:05 +0000 (17:23 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 12 Jan 2018 11:06:12 +0000 (06:06 -0500)
The test code dereferences first element of empty std::vector, what
may cause an assert in debug builds (depending on toolchain and it's
settings).

Addects: dEQP-VK.tessellation.*

Components: Vulkan

VK-GL-CTS issue: 710

Change-Id: I2b94a0d03c3523ebf1380a9371765c616fd21b82
(cherry picked from commit b81810d2446bac26ea0d5fb017250934842eb643)

external/vulkancts/modules/vulkan/tessellation/vktTessellationFractionalSpacingTests.cpp

index 70d8971..a243cc4 100644 (file)
@@ -369,8 +369,11 @@ std::vector<float> readFloatArray(const int count, const void* memory, const int
 {
        std::vector<float> results(count);
 
-       const float* pFloatData = reinterpret_cast<const float*>(static_cast<const deUint8*>(memory) + offset);
-       deMemcpy(&results[0], pFloatData, sizeof(float) * count);
+       if (count != 0)
+       {
+               const float* pFloatData = reinterpret_cast<const float*>(static_cast<const deUint8*>(memory) + offset);
+               deMemcpy(&results[0], pFloatData, sizeof(float) * count);
+       }
 
        return results;
 }