annotate opencl/c/cl_gl.d @ 1:5b5ace425b37

* moved c.opencl to c.cl * updated c.cl_gl + c.d3d10
author Trass3r
date Wed, 14 Apr 2010 13:52:17 +0200
parents 3cea44337083
children 01d502efe0c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
1 /**********************************************************************************
3cea44337083 initial commit
Trass3r
parents:
diff changeset
2 * Copyright (c) 2008-2009 The Khronos Group Inc.
3cea44337083 initial commit
Trass3r
parents:
diff changeset
3 *
3cea44337083 initial commit
Trass3r
parents:
diff changeset
4 * Permission is hereby granted, free of charge, to any person obtaining a
3cea44337083 initial commit
Trass3r
parents:
diff changeset
5 * copy of this software and/or associated documentation files (the
3cea44337083 initial commit
Trass3r
parents:
diff changeset
6 * "Materials"), to deal in the Materials without restriction, including
3cea44337083 initial commit
Trass3r
parents:
diff changeset
7 * without limitation the rights to use, copy, modify, merge, publish,
3cea44337083 initial commit
Trass3r
parents:
diff changeset
8 * distribute, sublicense, and/or sell copies of the Materials, and to
3cea44337083 initial commit
Trass3r
parents:
diff changeset
9 * permit persons to whom the Materials are furnished to do so, subject to
3cea44337083 initial commit
Trass3r
parents:
diff changeset
10 * the following conditions:
3cea44337083 initial commit
Trass3r
parents:
diff changeset
11 *
3cea44337083 initial commit
Trass3r
parents:
diff changeset
12 * The above copyright notice and this permission notice shall be included
3cea44337083 initial commit
Trass3r
parents:
diff changeset
13 * in all copies or substantial portions of the Materials.
3cea44337083 initial commit
Trass3r
parents:
diff changeset
14 *
3cea44337083 initial commit
Trass3r
parents:
diff changeset
15 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3cea44337083 initial commit
Trass3r
parents:
diff changeset
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3cea44337083 initial commit
Trass3r
parents:
diff changeset
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
3cea44337083 initial commit
Trass3r
parents:
diff changeset
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3cea44337083 initial commit
Trass3r
parents:
diff changeset
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
3cea44337083 initial commit
Trass3r
parents:
diff changeset
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
3cea44337083 initial commit
Trass3r
parents:
diff changeset
21 * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
3cea44337083 initial commit
Trass3r
parents:
diff changeset
22 **********************************************************************************/
3cea44337083 initial commit
Trass3r
parents:
diff changeset
23
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
24 // $Revision: 10424 $ on $Date: 2010-02-17 14:34:49 -0800 (Wed, 17 Feb 2010) $
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
25
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
26 /**
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
27 * cl_gl.h contains Khronos-approved (KHR) OpenCL extensions which have
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
28 * OpenGL dependencies. The application is responsible for #including
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
29 * OpenGL or OpenGL ES headers before #including cl_gl.h.
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
30 */
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
31 module opencl.c.cl_gl;
3cea44337083 initial commit
Trass3r
parents:
diff changeset
32
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
33 //import opencl.c.platform;
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
34 import opencl.c.cl;
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
35
3cea44337083 initial commit
Trass3r
parents:
diff changeset
36 extern(C):
3cea44337083 initial commit
Trass3r
parents:
diff changeset
37
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
38 typedef cl_uint cl_gl_object_type;
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
39 typedef cl_uint cl_gl_texture_info;
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
40 typedef cl_uint cl_gl_platform_info;
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
41
3cea44337083 initial commit
Trass3r
parents:
diff changeset
42 enum
3cea44337083 initial commit
Trass3r
parents:
diff changeset
43 {
3cea44337083 initial commit
Trass3r
parents:
diff changeset
44 // cl_gl_object_type
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
45 CL_GL_OBJECT_BUFFER = 0x2000,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
46 CL_GL_OBJECT_TEXTURE2D = 0x2001,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
47 CL_GL_OBJECT_TEXTURE3D = 0x2002,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
48 CL_GL_OBJECT_RENDERBUFFER = 0x2003,
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
49
3cea44337083 initial commit
Trass3r
parents:
diff changeset
50 // cl_gl_texture_info
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
51 CL_GL_TEXTURE_TARGET = 0x2004,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
52 CL_GL_MIPMAP_LEVEL = 0x2005,
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
53 }
3cea44337083 initial commit
Trass3r
parents:
diff changeset
54
3cea44337083 initial commit
Trass3r
parents:
diff changeset
55 cl_mem clCreateFromGLBuffer(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
56 cl_context context,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
57 cl_mem_flags flags,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
58 cl_GLuint bufobj,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
59 int* errcode_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
60 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
61
3cea44337083 initial commit
Trass3r
parents:
diff changeset
62 cl_mem clCreateFromGLTexture2D(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
63 cl_context context,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
64 cl_mem_flags flags,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
65 cl_GLenum target,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
66 cl_GLint miplevel,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
67 cl_GLuint texture,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
68 cl_int* errcode_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
69 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
70
3cea44337083 initial commit
Trass3r
parents:
diff changeset
71 cl_mem clCreateFromGLTexture3D(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
72 cl_context context,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
73 cl_mem_flags flags,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
74 cl_GLenum target,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
75 cl_GLint miplevel,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
76 cl_GLuint texture,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
77 cl_int* errcode_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
78 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
79
3cea44337083 initial commit
Trass3r
parents:
diff changeset
80 cl_mem clCreateFromGLRenderbuffer(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
81 cl_context context,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
82 cl_mem_flags flags,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
83 cl_GLuint renderbuffer,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
84 cl_int* errcode_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
85 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
86
3cea44337083 initial commit
Trass3r
parents:
diff changeset
87 cl_int clGetGLObjectInfo(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
88 cl_mem memobj,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
89 cl_gl_object_type* gl_object_type,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
90 cl_GLuint* gl_object_name
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
91 );
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
92
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
93 cl_int clGetGLTextureInfo(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
94 cl_mem memobj,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
95 cl_gl_texture_info param_name,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
96 size_t param_value_size,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
97 void* param_value,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
98 size_t* param_value_size_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
99 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
100
3cea44337083 initial commit
Trass3r
parents:
diff changeset
101 cl_int clEnqueueAcquireGLObjects(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
102 cl_command_queue queue,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
103 cl_uint num_objects,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
104 const(cl_mem)* mem_objects,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
105 cl_uint num_events_in_wait_list,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
106 const(cl_event)* event_wait_list,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
107 cl_event* event
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
108 );
3cea44337083 initial commit
Trass3r
parents:
diff changeset
109
3cea44337083 initial commit
Trass3r
parents:
diff changeset
110 cl_int clEnqueueReleaseGLObjects(
1
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
111 cl_command_queue queue,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
112 cl_uint num_objects,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
113 const(cl_mem)* mem_objects,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
114 cl_uint num_events_in_wait_list,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
115 const(cl_event)* event_wait_list,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
116 cl_event* event
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
117 );
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
118
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
119
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
120 // cl_khr_gl_sharing extension
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
121
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
122 const cl_khr_gl_sharing = 1;
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
123
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
124 typedef cl_uint cl_gl_context_info;
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
125
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
126 enum
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
127 {
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
128 // Additional Error Codes
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
129 CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR = -1000,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
130
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
131 // cl_gl_context_info
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
132 CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR = 0x2006,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
133 CL_DEVICES_FOR_GL_CONTEXT_KHR = 0x2007,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
134
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
135 // Additional cl_context_properties
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
136 CL_GL_CONTEXT_KHR = 0x2008,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
137 CL_EGL_DISPLAY_KHR = 0x2009,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
138 CL_GLX_DISPLAY_KHR = 0x200A,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
139 CL_WGL_HDC_KHR = 0x200B,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
140 CL_CGL_SHAREGROUP_KHR = 0x200C,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
141 }
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
142
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
143 cl_int clGetGLContextInfoKHR(
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
144 const(cl_context_properties)* properties,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
145 cl_gl_context_info param_name,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
146 size_t param_value_size,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
147 void* param_value,
5b5ace425b37 * moved c.opencl to c.cl
Trass3r
parents: 0
diff changeset
148 size_t* param_value_size_ret
0
3cea44337083 initial commit
Trass3r
parents:
diff changeset
149 );