Mercurial > projects > cl4d
diff 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 |
line wrap: on
line diff
--- a/opencl/c/cl_gl.d Wed Dec 02 17:40:59 2009 +0100 +++ b/opencl/c/cl_gl.d Wed Apr 14 13:52:17 2010 +0200 @@ -21,92 +21,129 @@ * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. **********************************************************************************/ -// $Revision: 8748 $ on $Date: 2009-08-27 04:24:36 -0700 (Thu, 27 Aug 2009) $ +// $Revision: 10424 $ on $Date: 2010-02-17 14:34:49 -0800 (Wed, 17 Feb 2010) $ +/** + * cl_gl.h contains Khronos-approved (KHR) OpenCL extensions which have + * OpenGL dependencies. The application is responsible for #including + * OpenGL or OpenGL ES headers before #including cl_gl.h. + */ module opencl.c.cl_gl; -import opencl.c.platform; -import opencl.c.opencl; +//import opencl.c.platform; +import opencl.c.cl; extern(C): -alias cl_uint cl_gl_object_type; -alias cl_uint cl_gl_texture_info; -alias cl_uint cl_gl_platform_info; +typedef cl_uint cl_gl_object_type; +typedef cl_uint cl_gl_texture_info; +typedef cl_uint cl_gl_platform_info; enum { // cl_gl_object_type - CL_GL_OBJECT_BUFFER = 0x2000, - CL_GL_OBJECT_TEXTURE2D = 0x2001, - CL_GL_OBJECT_TEXTURE3D = 0x2002, - CL_GL_OBJECT_RENDERBUFFER = 0x2003, + CL_GL_OBJECT_BUFFER = 0x2000, + CL_GL_OBJECT_TEXTURE2D = 0x2001, + CL_GL_OBJECT_TEXTURE3D = 0x2002, + CL_GL_OBJECT_RENDERBUFFER = 0x2003, // cl_gl_texture_info - CL_GL_TEXTURE_TARGET = 0x2004, - CL_GL_MIPMAP_LEVEL = 0x2005, + CL_GL_TEXTURE_TARGET = 0x2004, + CL_GL_MIPMAP_LEVEL = 0x2005, } cl_mem clCreateFromGLBuffer( - cl_context /* context */, - cl_mem_flags /* flags */, - GLuint /* bufobj */, - int* /* errcode_ret */ + cl_context context, + cl_mem_flags flags, + cl_GLuint bufobj, + int* errcode_ret ); cl_mem clCreateFromGLTexture2D( - cl_context /* context */, - cl_mem_flags /* flags */, - GLenum /* target */, - GLint /* miplevel */, - GLuint /* texture */, - cl_int* /* errcode_ret */ + cl_context context, + cl_mem_flags flags, + cl_GLenum target, + cl_GLint miplevel, + cl_GLuint texture, + cl_int* errcode_ret ); cl_mem clCreateFromGLTexture3D( - cl_context /* context */, - cl_mem_flags /* flags */, - GLenum /* target */, - GLint /* miplevel */, - GLuint /* texture */, - cl_int* /* errcode_ret */ + cl_context context, + cl_mem_flags flags, + cl_GLenum target, + cl_GLint miplevel, + cl_GLuint texture, + cl_int* errcode_ret ); cl_mem clCreateFromGLRenderbuffer( - cl_context /* context */, - cl_mem_flags /* flags */, - GLuint /* renderbuffer */, - cl_int* /* errcode_ret */ + cl_context context, + cl_mem_flags flags, + cl_GLuint renderbuffer, + cl_int* errcode_ret ); cl_int clGetGLObjectInfo( - cl_mem /* memobj */, - cl_gl_object_type* /* gl_object_type */, - GLuint* /* gl_object_name */ + cl_mem memobj, + cl_gl_object_type* gl_object_type, + cl_GLuint* gl_object_name ); - + cl_int clGetGLTextureInfo( - cl_mem /* memobj */, - cl_gl_texture_info /* param_name */, - size_t /* param_value_size */, - void* /* param_value */, - size_t* /* param_value_size_ret */ + cl_mem memobj, + cl_gl_texture_info param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret ); cl_int clEnqueueAcquireGLObjects( - cl_command_queue /* queue */, - cl_uint /* num_objects */, - const(cl_mem)* /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const(cl_event)* /* event_wait_list */, - cl_event* /* event */ + cl_command_queue queue, + cl_uint num_objects, + const(cl_mem)* mem_objects, + cl_uint num_events_in_wait_list, + const(cl_event)* event_wait_list, + cl_event* event ); cl_int clEnqueueReleaseGLObjects( - cl_command_queue /* queue */, - cl_uint /* num_objects */, - const(cl_mem)* /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const(cl_event)* /* event_wait_list */, - cl_event* /* event */ + cl_command_queue queue, + cl_uint num_objects, + const(cl_mem)* mem_objects, + cl_uint num_events_in_wait_list, + const(cl_event)* event_wait_list, + cl_event* event +); + + +// cl_khr_gl_sharing extension + +const cl_khr_gl_sharing = 1; + +typedef cl_uint cl_gl_context_info; + +enum +{ + // Additional Error Codes + CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR = -1000, + + // cl_gl_context_info + CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR = 0x2006, + CL_DEVICES_FOR_GL_CONTEXT_KHR = 0x2007, + + // Additional cl_context_properties + CL_GL_CONTEXT_KHR = 0x2008, + CL_EGL_DISPLAY_KHR = 0x2009, + CL_GLX_DISPLAY_KHR = 0x200A, + CL_WGL_HDC_KHR = 0x200B, + CL_CGL_SHAREGROUP_KHR = 0x200C, +} + +cl_int clGetGLContextInfoKHR( + const(cl_context_properties)* properties, + cl_gl_context_info param_name, + size_t param_value_size, + void* param_value, + size_t* param_value_size_ret ); \ No newline at end of file