Mercurial > projects > cl4d
view 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 source
/********************************************************************************** * Copyright (c) 2008-2009 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 * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. **********************************************************************************/ // $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.cl; extern(C): 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_texture_info CL_GL_TEXTURE_TARGET = 0x2004, CL_GL_MIPMAP_LEVEL = 0x2005, } cl_mem clCreateFromGLBuffer( cl_context context, cl_mem_flags flags, cl_GLuint bufobj, int* errcode_ret ); cl_mem clCreateFromGLTexture2D( 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, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture, cl_int* errcode_ret ); cl_mem clCreateFromGLRenderbuffer( 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, 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_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_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_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 );