From 7071b8192d26c51c751ec8f8e0bc809d7377c95f Mon Sep 17 00:00:00 2001 From: Srikanth G Date: Wed, 4 Mar 2015 18:48:54 -0600 Subject: [PATCH] avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit When OpenCL kernels are compiled, is_compiled flag is being set for each kernel. But, in opencl uninit, this flag is not being cleared. This causes an error when an OpenCL kernel is tried on different OpenCL devices on same platform. Here is the patch with a fix Reviewed-by; Wei Gao Signed-off-by: Michael Niedermayer (cherry picked from commit 0f2359b86926ed33da4bd64ca76d84d03d5ad380) --- libavutil/opencl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/opencl.c b/libavutil/opencl.c index 0b4f83b910..f80cde7001 100644 --- a/libavutil/opencl.c +++ b/libavutil/opencl.c @@ -633,6 +633,9 @@ void av_opencl_uninit(void) } opencl_ctx.context = NULL; } + for (i = 0; i < opencl_ctx.kernel_code_count; i++) { + opencl_ctx.kernel_code[i].is_compiled = 0; + } free_device_list(&opencl_ctx.device_list); end: if (opencl_ctx.init_count <= 0)