Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/*
2
 * Copyright © 2013 Intel Corporation
3
 *
4
 * Permission is hereby granted, free of charge, to any person obtaining a
5
 * copy of this software and associated documentation files (the "Software"),
6
 * to deal in the Software without restriction, including without limitation
7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
 * and/or sell copies of the Software, and to permit persons to whom the
9
 * Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice (including the next
12
 * paragraph) shall be included in all copies or substantial portions of the
13
 * Software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
 * DEALINGS IN THE SOFTWARE.
22
 */
23
 
24
/**
25
 * \file builtin_type_macros.h
26
 *
27
 * This contains definitions for all GLSL built-in types, regardless of what
28
 * language version or extension might provide them.
29
 */
30
 
31
#include "glsl_types.h"
32
 
33
DECL_TYPE(error,  GL_INVALID_ENUM, GLSL_TYPE_ERROR, 0, 0)
34
DECL_TYPE(void,   GL_INVALID_ENUM, GLSL_TYPE_VOID,  0, 0)
35
 
36
DECL_TYPE(bool,   GL_BOOL,         GLSL_TYPE_BOOL,  1, 1)
37
DECL_TYPE(bvec2,  GL_BOOL_VEC2,    GLSL_TYPE_BOOL,  2, 1)
38
DECL_TYPE(bvec3,  GL_BOOL_VEC3,    GLSL_TYPE_BOOL,  3, 1)
39
DECL_TYPE(bvec4,  GL_BOOL_VEC4,    GLSL_TYPE_BOOL,  4, 1)
40
 
41
DECL_TYPE(int,    GL_INT,          GLSL_TYPE_INT,   1, 1)
42
DECL_TYPE(ivec2,  GL_INT_VEC2,     GLSL_TYPE_INT,   2, 1)
43
DECL_TYPE(ivec3,  GL_INT_VEC3,     GLSL_TYPE_INT,   3, 1)
44
DECL_TYPE(ivec4,  GL_INT_VEC4,     GLSL_TYPE_INT,   4, 1)
45
 
46
DECL_TYPE(uint,   GL_UNSIGNED_INT,      GLSL_TYPE_UINT, 1, 1)
47
DECL_TYPE(uvec2,  GL_UNSIGNED_INT_VEC2, GLSL_TYPE_UINT, 2, 1)
48
DECL_TYPE(uvec3,  GL_UNSIGNED_INT_VEC3, GLSL_TYPE_UINT, 3, 1)
49
DECL_TYPE(uvec4,  GL_UNSIGNED_INT_VEC4, GLSL_TYPE_UINT, 4, 1)
50
 
51
DECL_TYPE(float,  GL_FLOAT,        GLSL_TYPE_FLOAT, 1, 1)
52
DECL_TYPE(vec2,   GL_FLOAT_VEC2,   GLSL_TYPE_FLOAT, 2, 1)
53
DECL_TYPE(vec3,   GL_FLOAT_VEC3,   GLSL_TYPE_FLOAT, 3, 1)
54
DECL_TYPE(vec4,   GL_FLOAT_VEC4,   GLSL_TYPE_FLOAT, 4, 1)
55
 
56
DECL_TYPE(mat2,   GL_FLOAT_MAT2,   GLSL_TYPE_FLOAT, 2, 2)
57
DECL_TYPE(mat3,   GL_FLOAT_MAT3,   GLSL_TYPE_FLOAT, 3, 3)
58
DECL_TYPE(mat4,   GL_FLOAT_MAT4,   GLSL_TYPE_FLOAT, 4, 4)
59
 
60
DECL_TYPE(mat2x3, GL_FLOAT_MAT2x3, GLSL_TYPE_FLOAT, 3, 2)
61
DECL_TYPE(mat2x4, GL_FLOAT_MAT2x4, GLSL_TYPE_FLOAT, 4, 2)
62
DECL_TYPE(mat3x2, GL_FLOAT_MAT3x2, GLSL_TYPE_FLOAT, 2, 3)
63
DECL_TYPE(mat3x4, GL_FLOAT_MAT3x4, GLSL_TYPE_FLOAT, 4, 3)
64
DECL_TYPE(mat4x2, GL_FLOAT_MAT4x2, GLSL_TYPE_FLOAT, 2, 4)
65
DECL_TYPE(mat4x3, GL_FLOAT_MAT4x3, GLSL_TYPE_FLOAT, 3, 4)
66
 
67
DECL_TYPE(sampler1D,         GL_SAMPLER_1D,                   GLSL_SAMPLER_DIM_1D,   0, 0, GLSL_TYPE_FLOAT)
68
DECL_TYPE(sampler2D,         GL_SAMPLER_2D,                   GLSL_SAMPLER_DIM_2D,   0, 0, GLSL_TYPE_FLOAT)
69
DECL_TYPE(sampler3D,         GL_SAMPLER_3D,                   GLSL_SAMPLER_DIM_3D,   0, 0, GLSL_TYPE_FLOAT)
70
DECL_TYPE(samplerCube,       GL_SAMPLER_CUBE,                 GLSL_SAMPLER_DIM_CUBE, 0, 0, GLSL_TYPE_FLOAT)
71
DECL_TYPE(sampler1DArray,    GL_SAMPLER_1D_ARRAY,             GLSL_SAMPLER_DIM_1D,   0, 1, GLSL_TYPE_FLOAT)
72
DECL_TYPE(sampler2DArray,    GL_SAMPLER_2D_ARRAY,             GLSL_SAMPLER_DIM_2D,   0, 1, GLSL_TYPE_FLOAT)
73
DECL_TYPE(samplerCubeArray,  GL_SAMPLER_CUBE_MAP_ARRAY,       GLSL_SAMPLER_DIM_CUBE, 0, 1, GLSL_TYPE_FLOAT)
74
DECL_TYPE(sampler2DRect,     GL_SAMPLER_2D_RECT,              GLSL_SAMPLER_DIM_RECT, 0, 0, GLSL_TYPE_FLOAT)
75
DECL_TYPE(samplerBuffer,     GL_SAMPLER_BUFFER,               GLSL_SAMPLER_DIM_BUF,  0, 0, GLSL_TYPE_FLOAT)
76
DECL_TYPE(sampler2DMS,       GL_SAMPLER_2D_MULTISAMPLE,       GLSL_SAMPLER_DIM_MS,   0, 0, GLSL_TYPE_FLOAT)
77
DECL_TYPE(sampler2DMSArray,  GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GLSL_SAMPLER_DIM_MS,   0, 1, GLSL_TYPE_FLOAT)
78
 
79
DECL_TYPE(isampler1D,        GL_INT_SAMPLER_1D,                   GLSL_SAMPLER_DIM_1D,   0, 0, GLSL_TYPE_INT)
80
DECL_TYPE(isampler2D,        GL_INT_SAMPLER_2D,                   GLSL_SAMPLER_DIM_2D,   0, 0, GLSL_TYPE_INT)
81
DECL_TYPE(isampler3D,        GL_INT_SAMPLER_3D,                   GLSL_SAMPLER_DIM_3D,   0, 0, GLSL_TYPE_INT)
82
DECL_TYPE(isamplerCube,      GL_INT_SAMPLER_CUBE,                 GLSL_SAMPLER_DIM_CUBE, 0, 0, GLSL_TYPE_INT)
83
DECL_TYPE(isampler1DArray,   GL_INT_SAMPLER_1D_ARRAY,             GLSL_SAMPLER_DIM_1D,   0, 1, GLSL_TYPE_INT)
84
DECL_TYPE(isampler2DArray,   GL_INT_SAMPLER_2D_ARRAY,             GLSL_SAMPLER_DIM_2D,   0, 1, GLSL_TYPE_INT)
85
DECL_TYPE(isamplerCubeArray, GL_INT_SAMPLER_CUBE_MAP_ARRAY,       GLSL_SAMPLER_DIM_CUBE, 0, 1, GLSL_TYPE_INT)
86
DECL_TYPE(isampler2DRect,    GL_INT_SAMPLER_2D_RECT,              GLSL_SAMPLER_DIM_RECT, 0, 0, GLSL_TYPE_INT)
87
DECL_TYPE(isamplerBuffer,    GL_INT_SAMPLER_BUFFER,               GLSL_SAMPLER_DIM_BUF,  0, 0, GLSL_TYPE_INT)
88
DECL_TYPE(isampler2DMS,      GL_INT_SAMPLER_2D_MULTISAMPLE,       GLSL_SAMPLER_DIM_MS,   0, 0, GLSL_TYPE_INT)
89
DECL_TYPE(isampler2DMSArray, GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GLSL_SAMPLER_DIM_MS,   0, 1, GLSL_TYPE_INT)
90
 
91
DECL_TYPE(usampler1D,        GL_UNSIGNED_INT_SAMPLER_1D,                   GLSL_SAMPLER_DIM_1D,   0, 0, GLSL_TYPE_UINT)
92
DECL_TYPE(usampler2D,        GL_UNSIGNED_INT_SAMPLER_2D,                   GLSL_SAMPLER_DIM_2D,   0, 0, GLSL_TYPE_UINT)
93
DECL_TYPE(usampler3D,        GL_UNSIGNED_INT_SAMPLER_3D,                   GLSL_SAMPLER_DIM_3D,   0, 0, GLSL_TYPE_UINT)
94
DECL_TYPE(usamplerCube,      GL_INT_SAMPLER_CUBE,                          GLSL_SAMPLER_DIM_CUBE, 0, 0, GLSL_TYPE_UINT)
95
DECL_TYPE(usampler1DArray,   GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,             GLSL_SAMPLER_DIM_1D,   0, 1, GLSL_TYPE_UINT)
96
DECL_TYPE(usampler2DArray,   GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,             GLSL_SAMPLER_DIM_2D,   0, 1, GLSL_TYPE_UINT)
97
DECL_TYPE(usamplerCubeArray, GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,       GLSL_SAMPLER_DIM_CUBE, 0, 1, GLSL_TYPE_UINT)
98
DECL_TYPE(usampler2DRect,    GL_UNSIGNED_INT_SAMPLER_2D_RECT,              GLSL_SAMPLER_DIM_RECT, 0, 0, GLSL_TYPE_UINT)
99
DECL_TYPE(usamplerBuffer,    GL_UNSIGNED_INT_SAMPLER_BUFFER,               GLSL_SAMPLER_DIM_BUF,  0, 0, GLSL_TYPE_UINT)
100
DECL_TYPE(usampler2DMS,      GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,       GLSL_SAMPLER_DIM_MS,   0, 0, GLSL_TYPE_UINT)
101
DECL_TYPE(usampler2DMSArray, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GLSL_SAMPLER_DIM_MS,   0, 1, GLSL_TYPE_UINT)
102
 
103
DECL_TYPE(sampler1DShadow,        GL_SAMPLER_1D_SHADOW,             GLSL_SAMPLER_DIM_1D,       1, 0, GLSL_TYPE_FLOAT)
104
DECL_TYPE(sampler2DShadow,        GL_SAMPLER_2D_SHADOW,             GLSL_SAMPLER_DIM_2D,       1, 0, GLSL_TYPE_FLOAT)
105
DECL_TYPE(samplerCubeShadow,      GL_SAMPLER_CUBE_SHADOW,           GLSL_SAMPLER_DIM_CUBE,     1, 0, GLSL_TYPE_FLOAT)
106
DECL_TYPE(sampler1DArrayShadow,   GL_SAMPLER_1D_ARRAY_SHADOW,       GLSL_SAMPLER_DIM_1D,       1, 1, GLSL_TYPE_FLOAT)
107
DECL_TYPE(sampler2DArrayShadow,   GL_SAMPLER_2D_ARRAY_SHADOW,       GLSL_SAMPLER_DIM_2D,       1, 1, GLSL_TYPE_FLOAT)
108
DECL_TYPE(samplerCubeArrayShadow, GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW, GLSL_SAMPLER_DIM_CUBE,     1, 1, GLSL_TYPE_FLOAT)
109
DECL_TYPE(sampler2DRectShadow,    GL_SAMPLER_2D_RECT_SHADOW,        GLSL_SAMPLER_DIM_RECT,     1, 0, GLSL_TYPE_FLOAT)
110
 
111
DECL_TYPE(samplerExternalOES,     GL_SAMPLER_EXTERNAL_OES,          GLSL_SAMPLER_DIM_EXTERNAL, 0, 0, GLSL_TYPE_FLOAT)
112
 
113
STRUCT_TYPE(gl_DepthRangeParameters)
114
STRUCT_TYPE(gl_PointParameters)
115
STRUCT_TYPE(gl_MaterialParameters)
116
STRUCT_TYPE(gl_LightSourceParameters)
117
STRUCT_TYPE(gl_LightModelParameters)
118
STRUCT_TYPE(gl_LightModelProducts)
119
STRUCT_TYPE(gl_LightProducts)
120
STRUCT_TYPE(gl_FogParameters)