mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
add a prefix to OpenCL extension names (#1311)
* add a prefix to OpenCL extension names * fix formatting
This commit is contained in:
@@ -389,6 +389,7 @@ OclExtensions OclExtensions::getDeviceCapabilities(cl_device_id devId)
|
||||
{
|
||||
ret = ret | OclExtensions::fromString(*it);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -399,75 +400,80 @@ OclExtensions OclExtensions::empty()
|
||||
|
||||
OclExtensions OclExtensions::fromString(const std::string& e)
|
||||
{
|
||||
std::string s = "OclExtensions::" + e;
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_int64_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_int64_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_3d_image_writes);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_fp16);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_gl_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_gl_event);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_d3d10_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_dx9_media_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_d3d11_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_depth_images);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_gl_depth_images);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_gl_msaa_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_image2d_from_buffer);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_initialize_memory);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_spir);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_fp64);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_global_int32_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_global_int32_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_local_int32_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_local_int32_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cl_khr_byte_addressable_store);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cles_khr_int64);
|
||||
RETURN_IF_ENUM(s, OclExtensions::cles_khr_2d_image_array_writes);
|
||||
std::string s = "OclExtensions::has_" + e;
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_int64_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_int64_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_3d_image_writes);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_fp16);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_gl_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_gl_event);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_d3d10_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_dx9_media_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_d3d11_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_depth_images);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_gl_depth_images);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_gl_msaa_sharing);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_image2d_from_buffer);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_initialize_memory);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_spir);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_fp64);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_global_int32_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_global_int32_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_local_int32_base_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_local_int32_extended_atomics);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cl_khr_byte_addressable_store);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cles_khr_int64);
|
||||
RETURN_IF_ENUM(s, OclExtensions::has_cles_khr_2d_image_array_writes);
|
||||
// Unknown KHR string.
|
||||
return OclExtensions::empty();
|
||||
}
|
||||
|
||||
std::string OclExtensions::toString()
|
||||
{
|
||||
|
||||
#define APPEND_STR_IF_SUPPORTS( STR, E) \
|
||||
if ( this->supports(E) ) \
|
||||
{ \
|
||||
std::string ext_str( #E ); \
|
||||
std::string prefix = "OclExtensions::"; \
|
||||
size_t pos = ext_str.find( prefix ); \
|
||||
if ( pos != std::string::npos ) \
|
||||
{ \
|
||||
ext_str.replace( pos, prefix.length(), ""); \
|
||||
} \
|
||||
STR += ext_str; \
|
||||
}
|
||||
#define APPEND_STR_IF_SUPPORTS(STR, E) \
|
||||
if (this->supports(E)) \
|
||||
{ \
|
||||
std::string ext_str(#E); \
|
||||
std::string prefix = "OclExtensions::has_"; \
|
||||
size_t pos = ext_str.find(prefix); \
|
||||
if (pos != std::string::npos) \
|
||||
{ \
|
||||
ext_str.replace(pos, prefix.length(), ""); \
|
||||
} \
|
||||
STR += ext_str; \
|
||||
STR += " "; \
|
||||
}
|
||||
|
||||
std::string s = "";
|
||||
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_int64_base_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_int64_extended_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_3d_image_writes );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_fp16 );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_gl_sharing );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_gl_event );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_d3d10_sharing );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_dx9_media_sharing );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_d3d11_sharing );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_depth_images );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_gl_depth_images );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_gl_msaa_sharing );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_image2d_from_buffer );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_initialize_memory );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_spir );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_fp64 );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_global_int32_base_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_global_int32_extended_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_local_int32_base_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_local_int32_extended_atomics );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cl_khr_byte_addressable_store );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cles_khr_int64 );
|
||||
APPEND_STR_IF_SUPPORTS( s, OclExtensions::cles_khr_2d_image_array_writes );
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_int64_base_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_int64_extended_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_3d_image_writes);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_fp16);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_gl_sharing);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_gl_event);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_d3d10_sharing);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_dx9_media_sharing);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_d3d11_sharing);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_depth_images);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_gl_depth_images);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_gl_msaa_sharing);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_image2d_from_buffer);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_initialize_memory);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_spir);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_fp64);
|
||||
APPEND_STR_IF_SUPPORTS(s,
|
||||
OclExtensions::has_cl_khr_global_int32_base_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(
|
||||
s, OclExtensions::has_cl_khr_global_int32_extended_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(s,
|
||||
OclExtensions::has_cl_khr_local_int32_base_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(
|
||||
s, OclExtensions::has_cl_khr_local_int32_extended_atomics);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cl_khr_byte_addressable_store);
|
||||
APPEND_STR_IF_SUPPORTS(s, OclExtensions::has_cles_khr_int64);
|
||||
APPEND_STR_IF_SUPPORTS(s,
|
||||
OclExtensions::has_cles_khr_2d_image_array_writes);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user