aboutsummaryrefslogtreecommitdiff
path: root/mesalib
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-04-17 08:19:12 +0200
committermarha <marha@users.sourceforge.net>2012-04-17 08:19:12 +0200
commit66ef63554438d427d0ddb2137baf48a653a89dd3 (patch)
treedf7212290cc842fb715edc0ed973e3b535d30548 /mesalib
parenta32ffa892cbd6e7ee6153cb9b2f854b4a99c180c (diff)
parentc1194ccd395fdbb23c9ab56bc340ee20a5feeb82 (diff)
downloadvcxsrv-66ef63554438d427d0ddb2137baf48a653a89dd3.tar.gz
vcxsrv-66ef63554438d427d0ddb2137baf48a653a89dd3.tar.bz2
vcxsrv-66ef63554438d427d0ddb2137baf48a653a89dd3.zip
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib')
-rw-r--r--mesalib/configure.ac1
-rw-r--r--mesalib/docs/GL3.txt9
-rw-r--r--mesalib/src/glsl/builtin_types.h2
-rw-r--r--mesalib/src/glsl/glsl_lexer.ll6
-rw-r--r--mesalib/src/glsl/glsl_parser.yy10
-rw-r--r--mesalib/src/mesa/main/shaderapi.c60
-rw-r--r--mesalib/src/mesa/main/shaderapi.h3
7 files changed, 21 insertions, 70 deletions
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index df65ae5ed..9d6cbeb96 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -49,6 +49,7 @@ dnl Check for progs
AC_PROG_CPP
AC_PROG_CC
AC_PROG_CXX
+AM_PROG_CC_C_O
AC_CHECK_PROGS([MAKE], [gmake make])
AC_CHECK_PROGS([PYTHON2], [python2 python])
AC_PROG_SED
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index 3e0b25ebc..0a860bb3c 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -23,7 +23,7 @@ GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
Framebuffer objects (GL_ARB_framebuffer_object) DONE (i965, r300, r600, swrast)
Half-float DONE
-Non-normalized Integer texture/framebuffer formats ~50% done
+Non-normalized Integer texture/framebuffer formats DONE (i965)
1D/2D Texture arrays DONE
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
GL_EXT_texture_compression_rgtc DONE (i965, r300, r600, swrast)
@@ -42,12 +42,13 @@ GLX_ARB_create_context (GLX 1.4 is required) DONE
GL 3.1:
-GLSL 1.40 not started
-Instanced drawing (GL_ARB_draw_instanced) DONE (gallium, swrast)
+GLSL 1.40 missing: UBOS, inverse(),
+ highp change
+Instanced drawing (GL_ARB_draw_instanced) DONE (i965, gallium, swrast)
Buffer copying (GL_ARB_copy_buffer) DONE (i965, r300, r600, swrast)
Primitive restart (GL_NV_primitive_restart) DONE (r600)
16 vertex texture image units DONE
-Texture buffer objs (GL_ARB_texture_buffer_object) not started
+Texture buffer objs (GL_ARB_texture_buffer_object) needs GL3.1 enabling (i965)
Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r300, r600, swrast)
Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r300, r600)
diff --git a/mesalib/src/glsl/builtin_types.h b/mesalib/src/glsl/builtin_types.h
index 890c1213f..8c136e4ab 100644
--- a/mesalib/src/glsl/builtin_types.h
+++ b/mesalib/src/glsl/builtin_types.h
@@ -260,7 +260,7 @@ const glsl_type *const glsl_type::uvec4_type = & builtin_130_types[3];
/*@}*/
-/** \name Types added in GLSL 1.30
+/** \name Types added in GLSL 1.40
*/
/*@{*/
const glsl_type glsl_type::builtin_140_types[] = {
diff --git a/mesalib/src/glsl/glsl_lexer.ll b/mesalib/src/glsl/glsl_lexer.ll
index 936a90726..2028d7f47 100644
--- a/mesalib/src/glsl/glsl_lexer.ll
+++ b/mesalib/src/glsl/glsl_lexer.ll
@@ -470,6 +470,12 @@ iimageBuffer KEYWORD(130, 999, IIMAGEBUFFER);
uimageBuffer KEYWORD(130, 999, UIMAGEBUFFER);
row_major KEYWORD(130, 999, ROW_MAJOR);
+ /* Additional reserved words in GLSL 1.40 */
+isampler2DRect KEYWORD(140, 140, ISAMPLER2DRECT);
+usampler2DRect KEYWORD(140, 140, USAMPLER2DRECT);
+isamplerBuffer KEYWORD(140, 140, ISAMPLERBUFFER);
+usamplerBuffer KEYWORD(140, 140, USAMPLERBUFFER);
+
[_a-zA-Z][_a-zA-Z0-9]* {
struct _mesa_glsl_parse_state *state = yyextra;
void *ctx = state;
diff --git a/mesalib/src/glsl/glsl_parser.yy b/mesalib/src/glsl/glsl_parser.yy
index 5753acf3c..5ca8740c4 100644
--- a/mesalib/src/glsl/glsl_parser.yy
+++ b/mesalib/src/glsl/glsl_parser.yy
@@ -103,6 +103,8 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
%token SAMPLER2DARRAYSHADOW ISAMPLER1D ISAMPLER2D ISAMPLER3D ISAMPLERCUBE
%token ISAMPLER1DARRAY ISAMPLER2DARRAY USAMPLER1D USAMPLER2D USAMPLER3D
%token USAMPLERCUBE USAMPLER1DARRAY USAMPLER2DARRAY
+%token SAMPLER2DRECT ISAMPLER2DRECT USAMPLER2DRECT SAMPLER2DRECTSHADOW
+%token SAMPLERBUFFER ISAMPLERBUFFER USAMPLERBUFFER
%token SAMPLEREXTERNALOES
%token STRUCT VOID_TOK WHILE
%token <identifier> IDENTIFIER TYPE_IDENTIFIER NEW_IDENTIFIER
@@ -130,12 +132,12 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
%token INLINE_TOK NOINLINE VOLATILE PUBLIC_TOK STATIC EXTERN EXTERNAL
%token LONG_TOK SHORT_TOK DOUBLE_TOK HALF FIXED_TOK UNSIGNED INPUT_TOK OUPTUT
%token HVEC2 HVEC3 HVEC4 DVEC2 DVEC3 DVEC4 FVEC2 FVEC3 FVEC4
-%token SAMPLER2DRECT SAMPLER3DRECT SAMPLER2DRECTSHADOW
+%token SAMPLER3DRECT
%token SIZEOF CAST NAMESPACE USING
%token ERROR_TOK
-%token COMMON PARTITION ACTIVE SAMPLERBUFFER FILTER
+%token COMMON PARTITION ACTIVE FILTER
%token IMAGE1D IMAGE2D IMAGE3D IMAGECUBE IMAGE1DARRAY IMAGE2DARRAY
%token IIMAGE1D IIMAGE2D IIMAGE3D IIMAGECUBE IIMAGE1DARRAY IIMAGE2DARRAY
%token UIMAGE1D UIMAGE2D UIMAGE3D UIMAGECUBE UIMAGE1DARRAY UIMAGE2DARRAY
@@ -1428,16 +1430,20 @@ basic_type_specifier_nonarray:
| SAMPLERBUFFER { $$ = "samplerBuffer"; }
| ISAMPLER1D { $$ = "isampler1D"; }
| ISAMPLER2D { $$ = "isampler2D"; }
+ | ISAMPLER2DRECT { $$ = "isampler2DRect"; }
| ISAMPLER3D { $$ = "isampler3D"; }
| ISAMPLERCUBE { $$ = "isamplerCube"; }
| ISAMPLER1DARRAY { $$ = "isampler1DArray"; }
| ISAMPLER2DARRAY { $$ = "isampler2DArray"; }
+ | ISAMPLERBUFFER { $$ = "isamplerBuffer"; }
| USAMPLER1D { $$ = "usampler1D"; }
| USAMPLER2D { $$ = "usampler2D"; }
+ | USAMPLER2DRECT { $$ = "usampler2DRect"; }
| USAMPLER3D { $$ = "usampler3D"; }
| USAMPLERCUBE { $$ = "usamplerCube"; }
| USAMPLER1DARRAY { $$ = "usampler1DArray"; }
| USAMPLER2DARRAY { $$ = "usampler2DArray"; }
+ | USAMPLERBUFFER { $$ = "usamplerBuffer"; }
;
precision_qualifier:
diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c
index e0f20b638..fd793a7ab 100644
--- a/mesalib/src/mesa/main/shaderapi.c
+++ b/mesalib/src/mesa/main/shaderapi.c
@@ -132,66 +132,6 @@ _mesa_free_shader_state(struct gl_context *ctx)
/**
- * Return the size of the given GLSL datatype, in floats (components).
- */
-GLint
-_mesa_sizeof_glsl_type(GLenum type)
-{
- switch (type) {
- case GL_FLOAT:
- case GL_INT:
- case GL_UNSIGNED_INT:
- case GL_BOOL:
- case GL_SAMPLER_1D:
- case GL_SAMPLER_2D:
- case GL_SAMPLER_3D:
- case GL_SAMPLER_CUBE:
- case GL_SAMPLER_1D_SHADOW:
- case GL_SAMPLER_2D_SHADOW:
- case GL_SAMPLER_2D_RECT_ARB:
- case GL_SAMPLER_2D_RECT_SHADOW_ARB:
- case GL_SAMPLER_1D_ARRAY_EXT:
- case GL_SAMPLER_2D_ARRAY_EXT:
- case GL_SAMPLER_1D_ARRAY_SHADOW_EXT:
- case GL_SAMPLER_2D_ARRAY_SHADOW_EXT:
- case GL_SAMPLER_CUBE_SHADOW_EXT:
- case GL_SAMPLER_EXTERNAL_OES:
- return 1;
- case GL_FLOAT_VEC2:
- case GL_INT_VEC2:
- case GL_UNSIGNED_INT_VEC2:
- case GL_BOOL_VEC2:
- return 2;
- case GL_FLOAT_VEC3:
- case GL_INT_VEC3:
- case GL_UNSIGNED_INT_VEC3:
- case GL_BOOL_VEC3:
- return 3;
- case GL_FLOAT_VEC4:
- case GL_INT_VEC4:
- case GL_UNSIGNED_INT_VEC4:
- case GL_BOOL_VEC4:
- return 4;
- case GL_FLOAT_MAT2:
- case GL_FLOAT_MAT2x3:
- case GL_FLOAT_MAT2x4:
- return 8; /* two float[4] vectors */
- case GL_FLOAT_MAT3:
- case GL_FLOAT_MAT3x2:
- case GL_FLOAT_MAT3x4:
- return 12; /* three float[4] vectors */
- case GL_FLOAT_MAT4:
- case GL_FLOAT_MAT4x2:
- case GL_FLOAT_MAT4x3:
- return 16; /* four float[4] vectors */
- default:
- _mesa_problem(NULL, "Invalid type in _mesa_sizeof_glsl_type()");
- return 1;
- }
-}
-
-
-/**
* Copy string from <src> to <dst>, up to maxLength characters, returning
* length of <dst> in <length>.
* \param src the strings source
diff --git a/mesalib/src/mesa/main/shaderapi.h b/mesalib/src/mesa/main/shaderapi.h
index 4886959d5..00c7d7f2a 100644
--- a/mesalib/src/mesa/main/shaderapi.h
+++ b/mesalib/src/mesa/main/shaderapi.h
@@ -39,9 +39,6 @@ struct _glapi_table;
struct gl_context;
struct gl_shader_program;
-extern GLint
-_mesa_sizeof_glsl_type(GLenum type);
-
extern void
_mesa_copy_string(GLchar *dst, GLsizei maxLength,
GLsizei *length, const GLchar *src);