mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-26 08:49:02 +00:00
test_basic/progvar: fix 64bit atomic types error (#374)
Enable 64bit atomics extentions in order to use 64bit atomic types in test_progvar_prog_scope_init and test_progvar_prog_scope_uninit.
This commit is contained in:
@@ -136,6 +136,7 @@ public:
|
|||||||
|
|
||||||
bool is_vecbase(void) const {return m_is_vecbase;}
|
bool is_vecbase(void) const {return m_is_vecbase;}
|
||||||
bool is_atomic(void) const {return m_is_atomic;}
|
bool is_atomic(void) const {return m_is_atomic;}
|
||||||
|
bool is_atomic_64bit(void) const {return m_is_atomic && m_size == 8;}
|
||||||
bool is_like_size_t(void) const {return m_is_like_size_t;}
|
bool is_like_size_t(void) const {return m_is_like_size_t;}
|
||||||
bool is_bool(void) const {return m_is_bool;}
|
bool is_bool(void) const {return m_is_bool;}
|
||||||
size_t get_size(void) const {return m_size;}
|
size_t get_size(void) const {return m_size;}
|
||||||
@@ -485,6 +486,11 @@ static const char* l_get_cles_int64_pragma(void)
|
|||||||
return l_has_cles_int64 ? "#pragma OPENCL EXTENSION cles_khr_int64 : enable\n" : "";
|
return l_has_cles_int64 ? "#pragma OPENCL EXTENSION cles_khr_int64 : enable\n" : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char* l_get_int64_atomic_pragma(void)
|
||||||
|
{
|
||||||
|
return "#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable\n"
|
||||||
|
"#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable\n";
|
||||||
|
}
|
||||||
|
|
||||||
static int l_build_type_table(cl_device_id device)
|
static int l_build_type_table(cl_device_id device)
|
||||||
{
|
{
|
||||||
@@ -835,6 +841,8 @@ static int l_write_read_for_type( cl_device_id device, cl_context context, cl_co
|
|||||||
StringTable ksrc;
|
StringTable ksrc;
|
||||||
ksrc.add( l_get_fp64_pragma() );
|
ksrc.add( l_get_fp64_pragma() );
|
||||||
ksrc.add( l_get_cles_int64_pragma() );
|
ksrc.add( l_get_cles_int64_pragma() );
|
||||||
|
if (ti.is_atomic_64bit())
|
||||||
|
ksrc.add( l_get_int64_atomic_pragma() );
|
||||||
ksrc.add( conversion_functions(ti) );
|
ksrc.add( conversion_functions(ti) );
|
||||||
ksrc.add( global_decls(ti,false) );
|
ksrc.add( global_decls(ti,false) );
|
||||||
ksrc.add( writer_function(ti) );
|
ksrc.add( writer_function(ti) );
|
||||||
@@ -982,6 +990,8 @@ static int l_init_write_read_for_type( cl_device_id device, cl_context context,
|
|||||||
StringTable ksrc;
|
StringTable ksrc;
|
||||||
ksrc.add( l_get_fp64_pragma() );
|
ksrc.add( l_get_fp64_pragma() );
|
||||||
ksrc.add( l_get_cles_int64_pragma() );
|
ksrc.add( l_get_cles_int64_pragma() );
|
||||||
|
if (ti.is_atomic_64bit())
|
||||||
|
ksrc.add( l_get_int64_atomic_pragma() );
|
||||||
ksrc.add( conversion_functions(ti) );
|
ksrc.add( conversion_functions(ti) );
|
||||||
ksrc.add( global_decls(ti,true) );
|
ksrc.add( global_decls(ti,true) );
|
||||||
ksrc.add( writer_function(ti) );
|
ksrc.add( writer_function(ti) );
|
||||||
|
|||||||
Reference in New Issue
Block a user