LZScene

Форк
0
/
GLSCLGL.pas 
133 строки · 6.3 Кб
1
//
2
// This unit is part of the GLScene Engine https://github.com/glscene
3
//
4
{
5
   Conversion of OpenCL header file: cl_gl.h to Delphi,
6
   from http://www.khronos.org/registry/cl/.
7

8
    History :  
9
       05/03/11 - Yar - Rename size_t to TSize_t
10
       01/11/09 - DanB - Creation
11
    
12
}
13
///*****************************************************************************
14
// * Copyright (c) 2008-2009 The Khronos Group Inc.
15
// *
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:
23
// *
24
// * The above copyright notice and this permission notice shall be included
25
// * in all copies or substantial portions of the Materials.
26
// *
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
// ****************************************************************************/
35

36
unit GLSCLGL;
37

38
interface
39

40
uses
41
  GLSCL, GLSCLPlatform, OpenGLTokens;
42

43
{$I cl.inc}
44

45
type
46

47
Tcl_gl_object_type = Tcl_uint;
48
Pcl_gl_object_type = ^Tcl_gl_object_type;
49

50
Tcl_gl_texture_info = Tcl_uint;
51
Pcl_gl_texture_info = ^Tcl_gl_texture_info;
52

53
Tcl_gl_platform_info = Tcl_uint;
54
Pcl_gl_platform_info = ^Tcl_gl_platform_info;
55

56
const
57
// cl_gl_object_type
58
CL_GL_OBJECT_BUFFER            = $2000;
59
CL_GL_OBJECT_TEXTURE2D         = $2001;
60
CL_GL_OBJECT_TEXTURE3D         = $2002;
61
CL_GL_OBJECT_RENDERBUFFER      = $2003;
62

63
// cl_gl_texture_info
64
CL_GL_TEXTURE_TARGET           = $2004;
65
CL_GL_MIPMAP_LEVEL             = $2005;
66

67
function clCreateFromGLBuffer(context: Tcl_context;
68
                              flags: Tcl_mem_flags;
69
                              bufobj: GLuint;
70
                              errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
71
                                                              {$IFDEF CL_CDECL} cdecl;{$ENDIF}
72
                                                              external LibOpenCL;
73

74
function clCreateFromGLTexture2D(context: Tcl_context;
75
                                 flags: Tcl_mem_flags;
76
                                 target: GLenum;
77
                                 miplevel: GLint;
78
                                 texture: GLuint;
79
                                 errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
80
                                                                 {$IFDEF CL_CDECL} cdecl;{$ENDIF}
81
                                                                 external LibOpenCL;
82

83
function clCreateFromGLTexture3D(context: Tcl_context;
84
                                 flags: Tcl_mem_flags;
85
                                 target: GLenum;
86
                                 miplevel: GLint;
87
                                 texture: GLuint;
88
                                 errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
89
                                                                 {$IFDEF CL_CDECL} cdecl;{$ENDIF}
90
                                                                 external LibOpenCL;
91

92
function clCreateFromGLRenderbuffer(context: Tcl_context;
93
                                    flags: Tcl_mem_flags;
94
                                    renderbuffer: GLuint;
95
                                    errcode_ret: Pcl_int): Tcl_mem; {$IFDEF CL_STDCALL} stdcall;{$ENDIF}
96
                                                                    {$IFDEF CL_CDECL} cdecl;{$ENDIF}
97
                                                                    external LibOpenCL;
98

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}
103
                                                              external LibOpenCL;
104

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}
111
                                                                     external LibOpenCL;
112

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}
120
                                                               external LibOpenCL;
121

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}
129
                                                               external LibOpenCL;
130

131
implementation
132

133
end.
134

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.