From 3c8f69e8d6bc54932654d60f6135c2090ca6960f Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 13 Feb 2012 13:08:08 -0500 Subject: clover: clEnqueueNDRangeKernel() throw an error for missing implementation --- src/gallium/state_trackers/clover/core/kernel.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium/state_trackers/clover/core/kernel.cpp index 97efb98929e..a1932cf112f 100644 --- a/src/gallium/state_trackers/clover/core/kernel.cpp +++ b/src/gallium/state_trackers/clover/core/kernel.cpp @@ -233,6 +233,12 @@ _cl_kernel::exec_context::bind(clover::kernel *kern1, #endif cs.req_local_mem = mem_local; cs.req_input_mem = input.size(); + if (!q->pipe->create_compute_state) { + /* I think the correct way to handle a missing implementation is + * to not return a deviceID in clGetDeviceIDs(), but for now we will + * treat this as CL_OUT_OF_RESOURCES. */ + throw error(CL_OUT_OF_RESOURCES); + } st = q->pipe->create_compute_state(q->pipe, &cs); } -- cgit v1.2.3