From c5f0c98c49a78777b2564a53028e345195ef275f Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 8 May 2014 21:08:32 -0400 Subject: [PATCH] clover: Destory pipe_screen when device does not support compute v2 v2: - Make sure screen was successfully created before destroying it. Cc: "10.2" Reviewed-by: Francisco Jerez --- src/gallium/state_trackers/clover/core/device.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp index 2f84677b54e..bc3e3e68a5e 100644 --- a/src/gallium/state_trackers/clover/core/device.cpp +++ b/src/gallium/state_trackers/clover/core/device.cpp @@ -42,8 +42,11 @@ namespace { device::device(clover::platform &platform, pipe_loader_device *ldev) : platform(platform), ldev(ldev) { pipe = pipe_loader_create_screen(ldev, PIPE_SEARCH_DIR); - if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE)) + if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE)) { + if (pipe) + pipe->destroy(pipe); throw error(CL_INVALID_DEVICE); + } } device::~device() { -- 2.30.2