~ubuntu-branches/ubuntu/saucy/darktable/saucy

« back to all changes in this revision

Viewing changes to src/external/CL/cl_gl.h

  • Committer: Bazaar Package Importer
  • Author(s): David Bremner
  • Date: 2011-07-12 09:36:46 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110712093646-yp9dbxan44dmw15h
Tags: 0.9-1
* New upstream release.
* Remove all patches now upstream; only patch for
  -Wno-error=unused-but-set-variable remains.
* Bump Standards-Version to 3.9.2 (no changes)

Show diffs side-by-side

added added

removed removed

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