2
// This unit is part of the GLScene Engine https://github.com/glscene
5
Conversion of OpenCL header file: cl_gl.h to Delphi,
6
from http://www.khronos.org/registry/cl/.
9
05/03/11 - Yar - Rename size_t to TSize_t
10
01/11/09 - DanB - Creation
13
///*****************************************************************************
14
// * Copyright (c) 2008-2009 The Khronos Group Inc.
16
// * Permission is hereby granted, free of charge, to any person obtaining a
17
// * copy of this software and/or associated documentation files (the
18
// * "Materials"), to deal in the Materials without restriction, including
19
// * without limitation the rights to use, copy, modify, merge, publish,
20
// * distribute, sublicense, and/or sell copies of the Materials, and to
21
// * permit persons to whom the Materials are furnished to do so, subject to
22
// * the following conditions:
24
// * The above copyright notice and this permission notice shall be included
25
// * in all copies or substantial portions of the Materials.
27
// * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
28
// * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
29
// * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
30
// * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
31
// * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
32
// * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
33
// * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
34
// ****************************************************************************/
41
GLSCL, GLSCLPlatform, OpenGLTokens;
47
Tcl_gl_object_type = Tcl_uint;
48
Pcl_gl_object_type = ^Tcl_gl_object_type;
50
Tcl_gl_texture_info = Tcl_uint;
51
Pcl_gl_texture_info = ^Tcl_gl_texture_info;
53
Tcl_gl_platform_info = Tcl_uint;
54
Pcl_gl_platform_info = ^Tcl_gl_platform_info;
58
CL_GL_OBJECT_BUFFER = $2000;
59
CL_GL_OBJECT_TEXTURE2D = $2001;
60
CL_GL_OBJECT_TEXTURE3D = $2002;
61
CL_GL_OBJECT_RENDERBUFFER = $2003;
64
CL_GL_TEXTURE_TARGET = $2004;
65
CL_GL_MIPMAP_LEVEL = $2005;
67
function clCreateFromGLBuffer(context: Tcl_context;
70
errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
71
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
74
function clCreateFromGLTexture2D(context: Tcl_context;
79
errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
80
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
83
function clCreateFromGLTexture3D(context: Tcl_context;
88
errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
89
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
92
function clCreateFromGLRenderbuffer(context: Tcl_context;
95
errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
96
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
99
function clGetGLObjectInfo(memobj: Tcl_mem;
100
gl_object_type: Pcl_gl_object_type;
101
gl_object_name: PGLuint): Tcl_int; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
102
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
105
function clGetGLTextureInfo(memobj: Tcl_mem;
106
param_name: Tcl_gl_texture_info;
107
param_value_size: TSize_t;
108
param_value: Pointer;
109
param_value_size_ret: PSize_t): Tcl_int; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
110
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
113
function clEnqueueAcquireGLObjects(command_queue: Tcl_command_queue;
114
num_objects: Tcl_uint;
115
mem_objects: Pcl_mem;
116
num_events_in_wait_list: Tcl_uint;
117
event_wait_list: Pcl_event;
118
event: Pcl_event): Tcl_int; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
119
{$IFDEF CL_CDECL} cdecl;{$ENDIF}
122
function clEnqueueReleaseGLObjects(command_queue: Tcl_command_queue;
123
num_objects: Tcl_uint;
124
mem_objects: Pcl_mem;
125
num_events_in_wait_list: Tcl_uint;
126
event_wait_list: Pcl_event;
127
event: Pcl_event): Tcl_int; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
128
{$IFDEF CL_CDECL} cdecl;{$ENDIF}