I am having trouble enabling the new cl_amd_media_ops2 extension with the latest SDK and drivers.
I tried the Windows OpenCL 1.2 beta drivers, 12.4 official drivers, and "leaked" 12.5 - none of them worked.
The hardware is Sapphire Radeon HD 7970, single card.
#pragma OPENCL EXTENSION cl_amd_media_ops2 : enable
causes a compiler error "line 1: error: can't enable all OpenCL extensions or unrecognized OpenCL extension"
The reason I need cl_amd_media_ops2 to be enabled is the amd_sadw intrinsic (packed sum of 16-bit absolute differences) which appeared in the new SDK.
Here is the output of CL_DEVICE_EXTENSIONS variable:
cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing
Note that the cl_amd_media_ops2 is missing.
CL_DEVICE_OPENCL_C_VERSION = OpenCL C 1.2
CL_DEVICE_NAME = Tahiti
CL_DRIVER_VERSION = CAL 1.4.1720 (VM) <---- this is the "openCL 1.2 beta"
The amdocl.dll definitely contains "cl_amd_media_ops2" string, but does not report it in CL_DEVICE_EXTENSIONS for some reason.
There are definitely some drivers which do support the feature - but I am unable to find them anywhere.
See http://clbenchmark.com/sys-info.jsp?id=133582320595781685 - on that report cl_amd_media_ops2 is clearly present, and the driver version is different.
Am I using the wrong drivers, or do I need to enable some registry setting/environment variable before I can use the feature?