From: Jesse Hall Date: Mon, 18 Jan 2016 08:59:45 +0000 (-0800) Subject: libvulkan: Really only write vkCreateInstance out parameter on success X-Git-Tag: android-x86-7.1-r1~591^2~7 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=993849ce2f3ebc7f39ed360f10b6874a0b897157;p=android-x86%2Fframeworks-native.git libvulkan: Really only write vkCreateInstance out parameter on success Change-Id: I7efc7dba420565781f15610bbfa7dfd1be1cf84d (cherry picked from commit 92707024c23b737cad16366ee7380a00e88a797e) --- diff --git a/vulkan/libvulkan/loader.cpp b/vulkan/libvulkan/loader.cpp index ee1e9ac153..68ca3c2297 100644 --- a/vulkan/libvulkan/loader.cpp +++ b/vulkan/libvulkan/loader.cpp @@ -1130,7 +1130,9 @@ VkResult CreateInstance_Top(const VkInstanceCreateInfo* create_info, result = create_instance(create_info, allocator, &handle); if (enable_callback) FreeAllocatedCreateInfo(local_create_info, instance->alloc); - if (result < 0) { + if (result >= 0) { + *instance_out = instance->handle; + } else { // For every layer, including the loader top and bottom layers: // - If a call to the next CreateInstance fails, the layer must clean // up anything it has successfully done so far, and propagate the @@ -1160,7 +1162,6 @@ VkResult CreateInstance_Top(const VkInstanceCreateInfo* create_info, allocator, &instance->message); } - *instance_out = instance->handle; return result; }