Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
eeb3e32c
"examples/simulateGromacs.py" did not exist on "3eff31f28b17914bf8fe1fe8a226d09cba60b82f"
Commit
eeb3e32c
authored
Jul 15, 2011
by
Peter Eastman
Browse files
Upgraded to newer version of cl.hpp
parent
c14b0b8e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
422 additions
and
72 deletions
+422
-72
platforms/opencl/src/cl.hpp
platforms/opencl/src/cl.hpp
+422
-72
No files found.
platforms/opencl/src/cl.hpp
View file @
eeb3e32c
/*******************************************************************************
* Copyright (c) 2008-201
0
The Khronos Group Inc.
* Copyright (c) 2008-201
1
The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
...
...
@@ -239,7 +239,7 @@ public:
*
* \return The error code.
*/
const
cl_int
err
(
void
)
const
{
return
err_
;
}
cl_int
err
(
void
)
const
{
return
err_
;
}
};
#define __ERR_STR(x) #x
...
...
@@ -249,7 +249,7 @@ public:
//! \cond DOXYGEN_DETAIL
#if !defined(__CL_USER_OVERRIDE_ERROR_STRINGS)
#define __GET_DEVICE_INFO_ERR __ERR_STR(cl
g
etDeviceInfo)
#define __GET_DEVICE_INFO_ERR __ERR_STR(cl
G
etDeviceInfo)
#define __GET_PLATFORM_INFO_ERR __ERR_STR(clGetPlatformInfo)
#define __GET_DEVICE_IDS_ERR __ERR_STR(clGetDeviceIDs)
#define __GET_PLATFORM_IDS_ERR __ERR_STR(clGetPlatformIDs)
...
...
@@ -265,6 +265,7 @@ public:
#define __GET_PROGRAM_BUILD_INFO_ERR __ERR_STR(clGetProgramBuildInfo)
#define __GET_COMMAND_QUEUE_INFO_ERR __ERR_STR(clGetCommandQueueInfo)
#define __CREATE_CONTEXT_ERR __ERR_STR(clCreateContext)
#define __CREATE_CONTEXT_FROM_TYPE_ERR __ERR_STR(clCreateContextFromType)
#define __GET_SUPPORTED_IMAGE_FORMATS_ERR __ERR_STR(clGetSupportedImageFormats)
...
...
@@ -438,7 +439,7 @@ private:
bool
empty_
;
public:
vector
()
:
size_
(
-
1
),
size_
(
static_cast
<
unsigned
int
>
(
-
1
)
)
,
empty_
(
true
)
{}
...
...
@@ -725,11 +726,39 @@ struct GetInfoHelper<Func, VECTOR_CLASS<char *> >
static
cl_int
get
(
Func
f
,
cl_uint
name
,
VECTOR_CLASS
<
char
*>*
param
)
{
cl_uint
err
=
f
(
name
,
param
->
size
()
*
sizeof
(
char
*
),
&
(
*
param
)[
0
],
NULL
);
::
size_t
nDevices
;
::
size_t
*
binary_sizes
;
char
**
values
;
cl_int
err
=
f
(
CL_PROGRAM_NUM_DEVICES
,
sizeof
(
nDevices
),
&
nDevices
,
NULL
);
if
(
err
!=
CL_SUCCESS
)
{
return
err
;
}
binary_sizes
=
(
::
size_t
*
)
alloca
(
sizeof
(
::
size_t
)
*
nDevices
);
err
=
f
(
CL_PROGRAM_BINARY_SIZES
,
sizeof
(
::
size_t
)
*
nDevices
,
binary_sizes
,
NULL
);
if
(
err
!=
CL_SUCCESS
)
{
return
err
;
}
values
=
(
char
**
)
alloca
(
sizeof
(
char
*
)
*
nDevices
);
for
(
cl_uint
i
=
0
;
i
<
nDevices
;
i
++
)
{
if
(
binary_sizes
[
i
]
!=
0
)
{
values
[
i
]
=
(
char
*
)
malloc
(
sizeof
(
char
)
*
binary_sizes
[
i
]);
}
else
{
values
[
i
]
=
NULL
;
}
}
err
=
f
(
name
,
sizeof
(
char
*
)
*
nDevices
,
values
,
NULL
);
if
(
err
!=
CL_SUCCESS
)
{
return
err
;
}
param
->
assign
(
values
,
values
+
nDevices
);
return
CL_SUCCESS
;
}
};
...
...
@@ -804,7 +833,7 @@ struct GetInfoHelper<Func, CPP_TYPE> \
F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_WIDTH, ::size_t) \
F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_HEIGHT, ::size_t) \
F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_DEPTH, ::size_t) \
F(cl_device_info, CL_DEVICE_IMAGE_SUPPORT, cl_
uint
) \
F(cl_device_info, CL_DEVICE_IMAGE_SUPPORT, cl_
bool
) \
F(cl_device_info, CL_DEVICE_MAX_PARAMETER_SIZE, ::size_t) \
F(cl_device_info, CL_DEVICE_MAX_SAMPLERS, cl_uint) \
F(cl_device_info, CL_DEVICE_MEM_BASE_ADDR_ALIGN, cl_uint) \
...
...
@@ -910,6 +939,7 @@ struct GetInfoHelper<Func, CPP_TYPE> \
F(cl_device_info, CL_DEVICE_DOUBLE_FP_CONFIG, cl_device_fp_config) \
F(cl_device_info, CL_DEVICE_HALF_FP_CONFIG, cl_device_fp_config) \
F(cl_device_info, CL_DEVICE_HOST_UNIFIED_MEMORY, cl_bool) \
F(cl_device_info, CL_DEVICE_OPENCL_C_VERSION, STRING_CLASS) \
\
F(cl_mem_info, CL_MEM_ASSOCIATED_MEMOBJECT, cl::Memory) \
F(cl_mem_info, CL_MEM_OFFSET, ::size_t) \
...
...
@@ -932,7 +962,7 @@ struct GetInfoHelper<Func, CPP_TYPE> \
template
<
typename
enum_type
,
cl_int
Name
>
struct
param_traits
{};
#define __DECLARE_PARAM_TRAITS(token, param_name, T) \
#define __
CL_
DECLARE_PARAM_TRAITS(token, param_name, T) \
struct token; \
template<> \
struct param_traits<detail:: token,param_name> \
...
...
@@ -941,16 +971,44 @@ struct param_traits<detail:: token,param_name> \
typedef T param_type; \
};
__PARAM_NAME_INFO_1_0
(
__DECLARE_PARAM_TRAITS
)
;
__PARAM_NAME_INFO_1_0
(
__
CL_
DECLARE_PARAM_TRAITS
)
#if defined(CL_VERSION_1_1)
__PARAM_NAME_INFO_1_1
(
__DECLARE_PARAM_TRAITS
)
;
__PARAM_NAME_INFO_1_1
(
__
CL_
DECLARE_PARAM_TRAITS
)
#endif // CL_VERSION_1_1
#if defined(USE_CL_DEVICE_FISSION)
__PARAM_NAME_DEVICE_FISSION
(
__DECLARE_PARAM_TRAITS
);
__PARAM_NAME_DEVICE_FISSION
(
__
CL_
DECLARE_PARAM_TRAITS
);
#endif // USE_CL_DEVICE_FISSION
#undef __DECLARE_PARAM_TRAITS
#ifdef CL_PLATFORM_ICD_SUFFIX_KHR
__CL_DECLARE_PARAM_TRAITS
(
cl_platform_info
,
CL_PLATFORM_ICD_SUFFIX_KHR
,
STRING_CLASS
)
#endif
#ifdef CL_DEVICE_PROFILING_TIMER_OFFSET_AMD
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_PROFILING_TIMER_OFFSET_AMD
,
cl_ulong
)
#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
,
cl_uint
)
#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV
,
cl_uint
)
#endif
#ifdef CL_DEVICE_REGISTERS_PER_BLOCK_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_REGISTERS_PER_BLOCK_NV
,
cl_uint
)
#endif
#ifdef CL_DEVICE_WARP_SIZE_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_WARP_SIZE_NV
,
cl_uint
)
#endif
#ifdef CL_DEVICE_GPU_OVERLAP_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_GPU_OVERLAP_NV
,
cl_bool
)
#endif
#ifdef CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV
,
cl_bool
)
#endif
#ifdef CL_DEVICE_INTEGRATED_MEMORY_NV
__CL_DECLARE_PARAM_TRAITS
(
cl_device_info
,
CL_DEVICE_INTEGRATED_MEMORY_NV
,
cl_bool
)
#endif
// Convenience functions
...
...
@@ -1089,13 +1147,17 @@ struct ReferenceHandler<cl_event>
template
<
typename
T
>
class
Wrapper
{
p
rotected
:
p
ublic
:
typedef
T
cl_type
;
protected:
cl_type
object_
;
public:
Wrapper
()
:
object_
(
NULL
)
{
}
Wrapper
(
const
cl_type
&
obj
)
:
object_
(
obj
)
{
}
~
Wrapper
()
{
if
(
object_
!=
NULL
)
{
release
();
}
...
...
@@ -1115,6 +1177,13 @@ public:
return
*
this
;
}
Wrapper
<
cl_type
>&
operator
=
(
const
cl_type
&
rhs
)
{
if
(
object_
!=
NULL
)
{
release
();
}
object_
=
rhs
;
return
*
this
;
}
cl_type
operator
()()
const
{
return
object_
;
}
cl_type
&
operator
()()
{
return
object_
;
}
...
...
@@ -1181,12 +1250,12 @@ struct ImageFormat : public cl_image_format
class
Device
:
public
detail
::
Wrapper
<
cl_device_id
>
{
public:
Device
(
cl_device_id
device
)
{
object_
=
device
;
}
Device
()
:
detail
::
Wrapper
<
cl_type
>
()
{
}
Device
(
const
Device
&
device
)
:
detail
::
Wrapper
<
cl_type
>
(
device
)
{
}
Device
(
const
cl_device_id
&
device
)
:
detail
::
Wrapper
<
cl_type
>
(
device
)
{
}
Device
&
operator
=
(
const
Device
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1195,6 +1264,12 @@ public:
return
*
this
;
}
Device
&
operator
=
(
const
cl_device_id
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_device_info
name
,
T
*
param
)
const
{
...
...
@@ -1258,12 +1333,12 @@ class Platform : public detail::Wrapper<cl_platform_id>
public:
static
const
Platform
null
();
Platform
(
cl_platform_id
platform
)
{
object_
=
platform
;
}
Platform
()
:
detail
::
Wrapper
<
cl_type
>
()
{
}
Platform
(
const
Platform
&
platform
)
:
detail
::
Wrapper
<
cl_type
>
(
platform
)
{
}
Platform
(
const
cl_platform_id
&
platform
)
:
detail
::
Wrapper
<
cl_type
>
(
platform
)
{
}
Platform
&
operator
=
(
const
Platform
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1272,6 +1347,12 @@ public:
return
*
this
;
}
Platform
&
operator
=
(
const
cl_platform_id
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
cl_int
getInfo
(
cl_platform_info
name
,
STRING_CLASS
*
param
)
const
{
return
detail
::
errHandler
(
...
...
@@ -1432,7 +1513,7 @@ public:
(
cl_device_id
*
)
&
devices
.
front
(),
notifyFptr
,
data
,
&
error
);
detail
::
errHandler
(
error
,
__CREATE_CONTEXT_
FROM_TYPE_
ERR
);
detail
::
errHandler
(
error
,
__CREATE_CONTEXT_ERR
);
if
(
err
!=
NULL
)
{
*
err
=
error
;
}
...
...
@@ -1463,6 +1544,8 @@ public:
Context
(
const
Context
&
context
)
:
detail
::
Wrapper
<
cl_type
>
(
context
)
{
}
Context
(
const
cl_context
&
context
)
:
detail
::
Wrapper
<
cl_type
>
(
context
)
{
}
Context
&
operator
=
(
const
Context
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1471,6 +1554,12 @@ public:
return
*
this
;
}
Context
&
operator
=
(
const
cl_context
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_context_info
name
,
T
*
param
)
const
{
...
...
@@ -1539,6 +1628,8 @@ public:
Event
(
const
Event
&
event
)
:
detail
::
Wrapper
<
cl_type
>
(
event
)
{
}
Event
(
const
cl_event
&
event
)
:
detail
::
Wrapper
<
cl_type
>
(
event
)
{
}
Event
&
operator
=
(
const
Event
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1547,6 +1638,12 @@ public:
return
*
this
;
}
Event
&
operator
=
(
const
cl_event
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_event_info
name
,
T
*
param
)
const
{
...
...
@@ -1686,6 +1783,8 @@ public:
Memory
(
const
Memory
&
memory
)
:
detail
::
Wrapper
<
cl_type
>
(
memory
)
{
}
Memory
(
const
cl_mem
&
memory
)
:
detail
::
Wrapper
<
cl_type
>
(
memory
)
{
}
Memory
&
operator
=
(
const
Memory
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1694,6 +1793,12 @@ public:
return
*
this
;
}
Memory
&
operator
=
(
const
cl_mem
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_mem_info
name
,
T
*
param
)
const
{
...
...
@@ -1759,6 +1864,8 @@ public:
Buffer
(
const
Buffer
&
buffer
)
:
Memory
(
buffer
)
{
}
Buffer
(
const
cl_mem
&
buffer
)
:
Memory
(
buffer
)
{
}
Buffer
&
operator
=
(
const
Buffer
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1767,6 +1874,12 @@ public:
return
*
this
;
}
Buffer
&
operator
=
(
const
cl_mem
&
rhs
)
{
Memory
::
operator
=
(
rhs
);
return
*
this
;
}
#if defined(CL_VERSION_1_1)
Buffer
createSubBuffer
(
cl_mem_flags
flags
,
...
...
@@ -1827,6 +1940,8 @@ public:
BufferD3D10
(
const
BufferD3D10
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferD3D10
(
const
cl_mem
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferD3D10
&
operator
=
(
const
BufferD3D10
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1834,6 +1949,12 @@ public:
}
return
*
this
;
}
BufferD3D10
&
operator
=
(
const
cl_mem
&
rhs
)
{
Buffer
::
operator
=
(
rhs
);
return
*
this
;
}
};
#endif
...
...
@@ -1866,6 +1987,8 @@ public:
BufferGL
(
const
BufferGL
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferGL
(
const
cl_mem
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferGL
&
operator
=
(
const
BufferGL
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1874,6 +1997,12 @@ public:
return
*
this
;
}
BufferGL
&
operator
=
(
const
cl_mem
&
rhs
)
{
Buffer
::
operator
=
(
rhs
);
return
*
this
;
}
cl_int
getObjectInfo
(
cl_gl_object_type
*
type
,
GLuint
*
gl_object_name
)
...
...
@@ -1913,6 +2042,8 @@ public:
BufferRenderGL
(
const
BufferGL
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferRenderGL
(
const
cl_mem
&
buffer
)
:
Buffer
(
buffer
)
{
}
BufferRenderGL
&
operator
=
(
const
BufferRenderGL
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1921,6 +2052,12 @@ public:
return
*
this
;
}
BufferRenderGL
&
operator
=
(
const
cl_mem
&
rhs
)
{
Buffer
::
operator
=
(
rhs
);
return
*
this
;
}
cl_int
getObjectInfo
(
cl_gl_object_type
*
type
,
GLuint
*
gl_object_name
)
...
...
@@ -1941,6 +2078,8 @@ protected:
Image
(
const
Image
&
image
)
:
Memory
(
image
)
{
}
Image
(
const
cl_mem
&
image
)
:
Memory
(
image
)
{
}
Image
&
operator
=
(
const
Image
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -1948,6 +2087,13 @@ protected:
}
return
*
this
;
}
Image
&
operator
=
(
const
cl_mem
&
rhs
)
{
Memory
::
operator
=
(
rhs
);
return
*
this
;
}
public:
template
<
typename
T
>
cl_int
getImageInfo
(
cl_image_info
name
,
T
*
param
)
const
...
...
@@ -2001,6 +2147,8 @@ public:
Image2D
(
const
Image2D
&
image2D
)
:
Image
(
image2D
)
{
}
Image2D
(
const
cl_mem
&
image2D
)
:
Image
(
image2D
)
{
}
Image2D
&
operator
=
(
const
Image2D
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2008,6 +2156,12 @@ public:
}
return
*
this
;
}
Image2D
&
operator
=
(
const
cl_mem
&
rhs
)
{
Image
::
operator
=
(
rhs
);
return
*
this
;
}
};
/*! \class Image2DGL
...
...
@@ -2043,6 +2197,8 @@ public:
Image2DGL
(
const
Image2DGL
&
image
)
:
Image2D
(
image
)
{
}
Image2DGL
(
const
cl_mem
&
image
)
:
Image2D
(
image
)
{
}
Image2DGL
&
operator
=
(
const
Image2DGL
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2050,6 +2206,12 @@ public:
}
return
*
this
;
}
Image2DGL
&
operator
=
(
const
cl_mem
&
rhs
)
{
Image2D
::
operator
=
(
rhs
);
return
*
this
;
}
};
/*! \class Image3D
...
...
@@ -2085,6 +2247,8 @@ public:
Image3D
(
const
Image3D
&
image3D
)
:
Image
(
image3D
)
{
}
Image3D
(
const
cl_mem
&
image3D
)
:
Image
(
image3D
)
{
}
Image3D
&
operator
=
(
const
Image3D
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2092,6 +2256,12 @@ public:
}
return
*
this
;
}
Image3D
&
operator
=
(
const
cl_mem
&
rhs
)
{
Image
::
operator
=
(
rhs
);
return
*
this
;
}
};
/*! \class Image2DGL
...
...
@@ -2127,6 +2297,8 @@ public:
Image3DGL
(
const
Image3DGL
&
image
)
:
Image3D
(
image
)
{
}
Image3DGL
(
const
cl_mem
&
image
)
:
Image3D
(
image
)
{
}
Image3DGL
&
operator
=
(
const
Image3DGL
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2134,6 +2306,12 @@ public:
}
return
*
this
;
}
Image3DGL
&
operator
=
(
const
cl_mem
&
rhs
)
{
Image3D
::
operator
=
(
rhs
);
return
*
this
;
}
};
/*! \class Sampler
...
...
@@ -2167,6 +2345,8 @@ public:
Sampler
(
const
Sampler
&
sampler
)
:
detail
::
Wrapper
<
cl_type
>
(
sampler
)
{
}
Sampler
(
const
cl_sampler
&
sampler
)
:
detail
::
Wrapper
<
cl_type
>
(
sampler
)
{
}
Sampler
&
operator
=
(
const
Sampler
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2175,6 +2355,12 @@ public:
return
*
this
;
}
Sampler
&
operator
=
(
const
cl_sampler
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_sampler_info
name
,
T
*
param
)
const
{
...
...
@@ -2293,6 +2479,8 @@ public:
Kernel
(
const
Kernel
&
kernel
)
:
detail
::
Wrapper
<
cl_type
>
(
kernel
)
{
}
Kernel
(
const
cl_kernel
&
kernel
)
:
detail
::
Wrapper
<
cl_type
>
(
kernel
)
{
}
Kernel
&
operator
=
(
const
Kernel
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2301,6 +2489,12 @@ public:
return
*
this
;
}
Kernel
&
operator
=
(
const
cl_kernel
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_kernel_info
name
,
T
*
param
)
const
{
...
...
@@ -2446,6 +2640,8 @@ public:
Program
(
const
Program
&
program
)
:
detail
::
Wrapper
<
cl_type
>
(
program
)
{
}
Program
(
const
cl_program
&
program
)
:
detail
::
Wrapper
<
cl_type
>
(
program
)
{
}
Program
&
operator
=
(
const
Program
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2454,6 +2650,12 @@ public:
return
*
this
;
}
Program
&
operator
=
(
const
cl_program
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
cl_int
build
(
const
VECTOR_CLASS
<
Device
>&
devices
,
const
char
*
options
=
NULL
,
...
...
@@ -2536,6 +2738,26 @@ public:
}
};
template
<
>
inline
VECTOR_CLASS
<
char
*>
cl
::
Program
::
getInfo
<
CL_PROGRAM_BINARIES
>
(
cl_int
*
err
)
const
{
VECTOR_CLASS
<
::
size_t
>
sizes
=
getInfo
<
CL_PROGRAM_BINARY_SIZES
>
();
VECTOR_CLASS
<
char
*>
binaries
;
for
(
VECTOR_CLASS
<
::
size_t
>::
iterator
s
=
sizes
.
begin
();
s
!=
sizes
.
end
();
++
s
)
{
char
*
ptr
=
NULL
;
if
(
*
s
!=
0
)
ptr
=
new
char
[
*
s
];
binaries
.
push_back
(
ptr
);
}
cl_int
result
=
getInfo
(
CL_PROGRAM_BINARIES
,
&
binaries
);
if
(
err
!=
NULL
)
{
*
err
=
result
;
}
return
binaries
;
}
__GET_INFO_HELPER_WITH_RETAIN
(
cl
::
Program
)
inline
Kernel
::
Kernel
(
const
Program
&
program
,
const
char
*
name
,
cl_int
*
err
)
...
...
@@ -2577,6 +2799,8 @@ public:
CommandQueue
(
const
CommandQueue
&
commandQueue
)
:
detail
::
Wrapper
<
cl_type
>
(
commandQueue
)
{
}
CommandQueue
(
const
cl_command_queue
&
commandQueue
)
:
detail
::
Wrapper
<
cl_type
>
(
commandQueue
)
{
}
CommandQueue
&
operator
=
(
const
CommandQueue
&
rhs
)
{
if
(
this
!=
&
rhs
)
{
...
...
@@ -2585,6 +2809,12 @@ public:
return
*
this
;
}
CommandQueue
&
operator
=
(
const
cl_command_queue
&
rhs
)
{
detail
::
Wrapper
<
cl_type
>::
operator
=
(
rhs
);
return
*
this
;
}
template
<
typename
T
>
cl_int
getInfo
(
cl_command_queue_info
name
,
T
*
param
)
const
{
...
...
@@ -2616,14 +2846,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueReadBuffer
(
object_
,
buffer
(),
blocking
,
offset
,
size
,
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_READ_BUFFER_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueWriteBuffer
(
...
...
@@ -2635,14 +2871,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueWriteBuffer
(
object_
,
buffer
(),
blocking
,
offset
,
size
,
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_WRITE_BUFFER_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueCopyBuffer
(
...
...
@@ -2654,13 +2896,19 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueCopyBuffer
(
object_
,
src
(),
dst
(),
src_offset
,
dst_offset
,
size
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQEUE_COPY_BUFFER_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
#if defined(CL_VERSION_1_1)
...
...
@@ -2678,7 +2926,8 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueReadBufferRect
(
object_
,
buffer
(),
...
...
@@ -2693,8 +2942,13 @@ public:
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_READ_BUFFER_RECT_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
...
...
@@ -2712,7 +2966,8 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueWriteBufferRect
(
object_
,
buffer
(),
...
...
@@ -2727,8 +2982,13 @@ public:
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_WRITE_BUFFER_RECT_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueCopyBufferRect
(
...
...
@@ -2744,7 +3004,8 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueCopyBufferRect
(
object_
,
src
(),
...
...
@@ -2758,8 +3019,13 @@ public:
dst_slice_pitch
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQEUE_COPY_BUFFER_RECT_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
#endif
...
...
@@ -2774,14 +3040,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueReadImage
(
object_
,
image
(),
blocking
,
(
const
::
size_t
*
)
origin
,
(
const
::
size_t
*
)
region
,
row_pitch
,
slice_pitch
,
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_READ_IMAGE_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueWriteImage
(
...
...
@@ -2795,14 +3067,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueWriteImage
(
object_
,
image
(),
blocking
,
(
const
::
size_t
*
)
origin
,
(
const
::
size_t
*
)
region
,
row_pitch
,
slice_pitch
,
ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_WRITE_IMAGE_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueCopyImage
(
...
...
@@ -2814,14 +3092,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueCopyImage
(
object_
,
src
(),
dst
(),
(
const
::
size_t
*
)
src_origin
,
(
const
::
size_t
*
)
dst_origin
,
(
const
::
size_t
*
)
region
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_COPY_IMAGE_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueCopyImageToBuffer
(
...
...
@@ -2833,14 +3117,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueCopyImageToBuffer
(
object_
,
src
(),
dst
(),
(
const
::
size_t
*
)
src_origin
,
(
const
::
size_t
*
)
region
,
dst_offset
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueCopyBufferToImage
(
...
...
@@ -2852,14 +3142,20 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueCopyBufferToImage
(
object_
,
src
(),
dst
(),
src_offset
,
(
const
::
size_t
*
)
dst_origin
,
(
const
::
size_t
*
)
region
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
void
*
enqueueMapBuffer
(
...
...
@@ -2922,13 +3218,19 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueUnmapMemObject
(
object_
,
memory
(),
mapped_ptr
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_UNMAP_MEM_OBJECT_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueNDRangeKernel
(
...
...
@@ -2939,7 +3241,8 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueNDRangeKernel
(
object_
,
kernel
(),
(
cl_uint
)
global
.
dimensions
(),
offset
.
dimensions
()
!=
0
?
(
const
::
size_t
*
)
offset
:
NULL
,
...
...
@@ -2947,8 +3250,13 @@ public:
local
.
dimensions
()
!=
0
?
(
const
::
size_t
*
)
local
:
NULL
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_NDRANGE_KERNEL_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueTask
(
...
...
@@ -2956,17 +3264,27 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueTask
(
object_
,
kernel
(),
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_TASK_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
// Different versions of cl.h define second argument differently:
// 'void (__stdcall *)(void *)' verses 'void (__cdecl *)(void *)'
// So comment out as not used by OpenMM.
#if 0
cl_int enqueueNativeKernel(
void
(
*
userFptr
)(
void
*
),
void (
CL_CALLBACK
*userFptr)(void *),
std::pair<void*, ::size_t> args,
const VECTOR_CLASS<Memory>* mem_objects = NULL,
const VECTOR_CLASS<const void*>* mem_locs = NULL,
...
...
@@ -2983,7 +3301,8 @@ public:
}
}
return
detail
::
errHandler
(
cl_event tmp;
cl_int err = detail::errHandler(
::clEnqueueNativeKernel(
object_, userFptr, args.first, args.second,
(mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
...
...
@@ -2991,9 +3310,15 @@ public:
(mem_locs != NULL) ? (const void **) &mem_locs->front() : NULL,
(events != NULL) ? (cl_uint) events->size() : 0,
(events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
(
cl_
event
*
)
event
),
(event
!= NULL) ? &tmp : NULL
),
__ENQUEUE_NATIVE_KERNEL);
if (event != NULL && err == CL_SUCCESS)
*event = tmp;
return err;
}
#endif
cl_int
enqueueMarker
(
Event
*
event
=
NULL
)
const
{
...
...
@@ -3017,15 +3342,21 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueAcquireGLObjects
(
object_
,
(
mem_objects
!=
NULL
)
?
(
cl_uint
)
mem_objects
->
size
()
:
0
,
(
mem_objects
!=
NULL
)
?
(
const
cl_mem
*
)
&
mem_objects
->
front
()
:
NULL
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_ACQUIRE_GL_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueReleaseGLObjects
(
...
...
@@ -3033,15 +3364,21 @@ public:
const
VECTOR_CLASS
<
Event
>*
events
=
NULL
,
Event
*
event
=
NULL
)
const
{
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
::
clEnqueueReleaseGLObjects
(
object_
,
(
mem_objects
!=
NULL
)
?
(
cl_uint
)
mem_objects
->
size
()
:
0
,
(
mem_objects
!=
NULL
)
?
(
const
cl_mem
*
)
&
mem_objects
->
front
()
:
NULL
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
&&
events
->
size
()
>
0
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_RELEASE_GL_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
#if defined (USE_DX_INTEROP)
...
...
@@ -3062,15 +3399,21 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *PFN_clEnqueueReleaseD3D10ObjectsKHR)(
static
PFN_clEnqueueAcquireD3D10ObjectsKHR
pfn_clEnqueueAcquireD3D10ObjectsKHR
=
NULL
;
__INIT_CL_EXT_FCN_PTR
(
clEnqueueAcquireD3D10ObjectsKHR
);
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
pfn_clEnqueueAcquireD3D10ObjectsKHR
(
object_
,
(
mem_objects
!=
NULL
)
?
(
cl_uint
)
mem_objects
->
size
()
:
0
,
(
mem_objects
!=
NULL
)
?
(
const
cl_mem
*
)
&
mem_objects
->
front
()
:
NULL
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_ACQUIRE_GL_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
cl_int
enqueueReleaseD3D10Objects
(
...
...
@@ -3081,15 +3424,21 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *PFN_clEnqueueReleaseD3D10ObjectsKHR)(
static
PFN_clEnqueueReleaseD3D10ObjectsKHR
pfn_clEnqueueReleaseD3D10ObjectsKHR
=
NULL
;
__INIT_CL_EXT_FCN_PTR
(
clEnqueueReleaseD3D10ObjectsKHR
);
return
detail
::
errHandler
(
cl_event
tmp
;
cl_int
err
=
detail
::
errHandler
(
pfn_clEnqueueReleaseD3D10ObjectsKHR
(
object_
,
(
mem_objects
!=
NULL
)
?
(
cl_uint
)
mem_objects
->
size
()
:
0
,
(
mem_objects
!=
NULL
)
?
(
const
cl_mem
*
)
&
mem_objects
->
front
()
:
NULL
,
(
events
!=
NULL
)
?
(
cl_uint
)
events
->
size
()
:
0
,
(
events
!=
NULL
)
?
(
cl_event
*
)
&
events
->
front
()
:
NULL
,
(
cl_
event
*
)
event
),
(
event
!=
NULL
)
?
&
tmp
:
NULL
),
__ENQUEUE_RELEASE_GL_ERR
);
if
(
event
!=
NULL
&&
err
==
CL_SUCCESS
)
*
event
=
tmp
;
return
err
;
}
#endif
...
...
@@ -3391,7 +3740,7 @@ inline KernelFunctor::KernelFunctor(const KernelFunctor& rhs) :
{
}
Event
KernelFunctor
::
operator
()(
const
VECTOR_CLASS
<
Event
>*
events
)
Event
KernelFunctor
::
operator
()(
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3409,7 +3758,7 @@ Event KernelFunctor::operator()(const VECTOR_CLASS<Event>* events)
template
<
typename
A1
>
Event
KernelFunctor
::
operator
()(
const
A1
&
a1
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3430,7 +3779,7 @@ template<typename A1, typename A2>
Event
KernelFunctor
::
operator
()(
const
A1
&
a1
,
const
A2
&
a2
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3453,7 +3802,7 @@ Event KernelFunctor::operator()(
const
A1
&
a1
,
const
A2
&
a2
,
const
A3
&
a3
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3478,7 +3827,7 @@ Event KernelFunctor::operator()(
const
A2
&
a2
,
const
A3
&
a3
,
const
A4
&
a4
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3505,7 +3854,7 @@ Event KernelFunctor::operator()(
const
A3
&
a3
,
const
A4
&
a4
,
const
A5
&
a5
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3535,7 +3884,7 @@ Event KernelFunctor::operator()(
const
A4
&
a4
,
const
A5
&
a5
,
const
A6
&
a6
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3567,7 +3916,7 @@ Event KernelFunctor::operator()(
const
A5
&
a5
,
const
A6
&
a6
,
const
A7
&
a7
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3601,7 +3950,7 @@ Event KernelFunctor::operator()(
const
A6
&
a6
,
const
A7
&
a7
,
const
A8
&
a8
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3637,7 +3986,7 @@ Event KernelFunctor::operator()(
const
A7
&
a7
,
const
A8
&
a8
,
const
A9
&
a9
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3675,7 +4024,7 @@ Event KernelFunctor::operator()(
const
A8
&
a8
,
const
A9
&
a9
,
const
A10
&
a10
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3716,7 +4065,7 @@ Event KernelFunctor::operator()(
const
A9
&
a9
,
const
A10
&
a10
,
const
A11
&
a11
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3759,7 +4108,7 @@ Event KernelFunctor::operator()(
const
A10
&
a10
,
const
A11
&
a11
,
const
A12
&
a12
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3804,7 +4153,7 @@ Event KernelFunctor::operator()(
const
A11
&
a11
,
const
A12
&
a12
,
const
A13
&
a13
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3851,7 +4200,7 @@ Event KernelFunctor::operator()(
const
A12
&
a12
,
const
A13
&
a13
,
const
A14
&
a14
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3900,7 +4249,7 @@ Event KernelFunctor::operator()(
const
A13
&
a13
,
const
A14
&
a14
,
const
A15
&
a15
,
const
VECTOR_CLASS
<
Event
>*
events
)
const
VECTOR_CLASS
<
Event
>*
)
{
Event
event
;
...
...
@@ -3948,6 +4297,7 @@ Event KernelFunctor::operator()(
#undef __GET_PROGRAM_BUILD_INFO_ERR
#undef __GET_COMMAND_QUEUE_INFO_ERR
#undef __CREATE_CONTEXT_ERR
#undef __CREATE_CONTEXT_FROM_TYPE_ERR
#undef __GET_SUPPORTED_IMAGE_FORMATS_ERR
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment