Skip to content

Commit 99c20d2

Browse files
committed
First Release
0 parents  commit 99c20d2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+39838
-0
lines changed

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
.klocwork/
2+
.vs/
3+
.vscode/
4+
_bin/
5+
_bin32/
6+
_bin64/
7+
build/
8+
build32/
9+
build64/
10+
Builds/
11+
config/*.png
12+
install/
13+
Makefile
14+
*~
15+
*.aps
16+
*.bmp
17+
*.ncb
18+
*.opensdf
19+
*.pal
20+
*.sdf
21+
*.sln
22+
*.suo
23+
*.vcproj
24+
*.vcxproj
25+
*.vcxproj.filters
26+
*.vcxproj.user
27+
*.xcf
28+

Android.mk

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
LOCAL_PATH := $(call my-dir)
2+
3+
#================#
4+
5+
include $(CLEAR_VARS)
6+
7+
APP_STL := stlport_static
8+
9+
LOCAL_MODULE := clIntercept
10+
11+
#LOCAL_CPPFLAGS += -std=c++11
12+
13+
LOCAL_SHARED_LIBRARIES := libdl liblog
14+
LOCAL_SRC_FILES += Src/dispatch.cpp Src/enummap.cpp Src/intercept.cpp Src/main.cpp Src/stubs.cpp
15+
LOCAL_SRC_FILES += OS/OS_linux_common.cpp OS/OS_linux.cpp
16+
17+
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Src
18+
19+
20+
include external/libcxx/libcxx.mk
21+
22+
include $(BUILD_SHARED_LIBRARY)
23+

CL/cl.h

Lines changed: 1478 additions & 0 deletions
Large diffs are not rendered by default.

CL/cl_gl.h

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
/**********************************************************************************
2+
* Copyright (c) 2008-2015 The Khronos Group Inc.
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and/or associated documentation files (the
6+
* "Materials"), to deal in the Materials without restriction, including
7+
* without limitation the rights to use, copy, modify, merge, publish,
8+
* distribute, sublicense, and/or sell copies of the Materials, and to
9+
* permit persons to whom the Materials are furnished to do so, subject to
10+
* the following conditions:
11+
*
12+
* The above copyright notice and this permission notice shall be included
13+
* in all copies or substantial portions of the Materials.
14+
*
15+
* MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
16+
* KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
17+
* SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
18+
* https://www.khronos.org/registry/
19+
*
20+
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26+
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
27+
**********************************************************************************/
28+
29+
#ifndef __OPENCL_CL_GL_H
30+
#define __OPENCL_CL_GL_H
31+
32+
// Unlike the Khronos header file, we want to unconditonally include the
33+
// CLIntercept cl.h, and not the system cl.h.
34+
#if 0
35+
#ifdef __APPLE__
36+
#include <OpenCL/cl.h>
37+
#else
38+
#include <CL/cl.h>
39+
#endif
40+
#else
41+
#include "CL/cl.h"
42+
#endif
43+
44+
#ifdef __cplusplus
45+
extern "C" {
46+
#endif
47+
48+
typedef cl_uint cl_gl_object_type;
49+
typedef cl_uint cl_gl_texture_info;
50+
typedef cl_uint cl_gl_platform_info;
51+
typedef struct __GLsync *cl_GLsync;
52+
53+
/* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken */
54+
#define CL_GL_OBJECT_BUFFER 0x2000
55+
#define CL_GL_OBJECT_TEXTURE2D 0x2001
56+
#define CL_GL_OBJECT_TEXTURE3D 0x2002
57+
#define CL_GL_OBJECT_RENDERBUFFER 0x2003
58+
#define CL_GL_OBJECT_TEXTURE2D_ARRAY 0x200E
59+
#define CL_GL_OBJECT_TEXTURE1D 0x200F
60+
#define CL_GL_OBJECT_TEXTURE1D_ARRAY 0x2010
61+
#define CL_GL_OBJECT_TEXTURE_BUFFER 0x2011
62+
63+
/* cl_gl_texture_info */
64+
#define CL_GL_TEXTURE_TARGET 0x2004
65+
#define CL_GL_MIPMAP_LEVEL 0x2005
66+
#define CL_GL_NUM_SAMPLES 0x2012
67+
68+
69+
extern CL_API_ENTRY cl_mem CL_API_CALL
70+
clCreateFromGLBuffer(cl_context /* context */,
71+
cl_mem_flags /* flags */,
72+
cl_GLuint /* bufobj */,
73+
int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
74+
75+
extern CL_API_ENTRY cl_mem CL_API_CALL
76+
clCreateFromGLTexture(cl_context /* context */,
77+
cl_mem_flags /* flags */,
78+
cl_GLenum /* target */,
79+
cl_GLint /* miplevel */,
80+
cl_GLuint /* texture */,
81+
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
82+
83+
extern CL_API_ENTRY cl_mem CL_API_CALL
84+
clCreateFromGLRenderbuffer(cl_context /* context */,
85+
cl_mem_flags /* flags */,
86+
cl_GLuint /* renderbuffer */,
87+
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
88+
89+
extern CL_API_ENTRY cl_int CL_API_CALL
90+
clGetGLObjectInfo(cl_mem /* memobj */,
91+
cl_gl_object_type * /* gl_object_type */,
92+
cl_GLuint * /* gl_object_name */) CL_API_SUFFIX__VERSION_1_0;
93+
94+
extern CL_API_ENTRY cl_int CL_API_CALL
95+
clGetGLTextureInfo(cl_mem /* memobj */,
96+
cl_gl_texture_info /* param_name */,
97+
size_t /* param_value_size */,
98+
void * /* param_value */,
99+
size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
100+
101+
extern CL_API_ENTRY cl_int CL_API_CALL
102+
clEnqueueAcquireGLObjects(cl_command_queue /* command_queue */,
103+
cl_uint /* num_objects */,
104+
const cl_mem * /* mem_objects */,
105+
cl_uint /* num_events_in_wait_list */,
106+
const cl_event * /* event_wait_list */,
107+
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
108+
109+
extern CL_API_ENTRY cl_int CL_API_CALL
110+
clEnqueueReleaseGLObjects(cl_command_queue /* command_queue */,
111+
cl_uint /* num_objects */,
112+
const cl_mem * /* mem_objects */,
113+
cl_uint /* num_events_in_wait_list */,
114+
const cl_event * /* event_wait_list */,
115+
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
116+
117+
118+
/* Deprecated OpenCL 1.1 APIs */
119+
extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
120+
clCreateFromGLTexture2D(cl_context /* context */,
121+
cl_mem_flags /* flags */,
122+
cl_GLenum /* target */,
123+
cl_GLint /* miplevel */,
124+
cl_GLuint /* texture */,
125+
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
126+
127+
extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
128+
clCreateFromGLTexture3D(cl_context /* context */,
129+
cl_mem_flags /* flags */,
130+
cl_GLenum /* target */,
131+
cl_GLint /* miplevel */,
132+
cl_GLuint /* texture */,
133+
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
134+
135+
/* cl_khr_gl_sharing extension */
136+
137+
#define cl_khr_gl_sharing 1
138+
139+
typedef cl_uint cl_gl_context_info;
140+
141+
/* Additional Error Codes */
142+
#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR -1000
143+
144+
/* cl_gl_context_info */
145+
#define CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR 0x2006
146+
#define CL_DEVICES_FOR_GL_CONTEXT_KHR 0x2007
147+
148+
/* Additional cl_context_properties */
149+
#define CL_GL_CONTEXT_KHR 0x2008
150+
#define CL_EGL_DISPLAY_KHR 0x2009
151+
#define CL_GLX_DISPLAY_KHR 0x200A
152+
#define CL_WGL_HDC_KHR 0x200B
153+
#define CL_CGL_SHAREGROUP_KHR 0x200C
154+
155+
extern CL_API_ENTRY cl_int CL_API_CALL
156+
clGetGLContextInfoKHR(const cl_context_properties * /* properties */,
157+
cl_gl_context_info /* param_name */,
158+
size_t /* param_value_size */,
159+
void * /* param_value */,
160+
size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
161+
162+
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetGLContextInfoKHR_fn)(
163+
const cl_context_properties * properties,
164+
cl_gl_context_info param_name,
165+
size_t param_value_size,
166+
void * param_value,
167+
size_t * param_value_size_ret);
168+
169+
#ifdef __cplusplus
170+
}
171+
#endif
172+
173+
#endif /* __OPENCL_CL_GL_H */

0 commit comments

Comments
 (0)