From c1194ccd395fdbb23c9ab56bc340ee20a5feeb82 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 17 Apr 2012 08:15:58 +0200 Subject: fontconfig mesa git update 17 Apr 2012 --- fontconfig/configure.in | 2 +- fontconfig/doc/fcconfig.fncs | 4 +-- fontconfig/src/fccache.c | 3 ++ mesalib/configure.ac | 1 + mesalib/docs/GL3.txt | 9 +++--- mesalib/src/glsl/builtin_types.h | 2 +- mesalib/src/glsl/glsl_lexer.ll | 6 ++++ mesalib/src/glsl/glsl_parser.yy | 10 +++++-- mesalib/src/mesa/main/shaderapi.c | 60 --------------------------------------- mesalib/src/mesa/main/shaderapi.h | 3 -- 10 files changed, 27 insertions(+), 73 deletions(-) diff --git a/fontconfig/configure.in b/fontconfig/configure.in index 1af236719..9c9de30e7 100644 --- a/fontconfig/configure.in +++ b/fontconfig/configure.in @@ -133,7 +133,7 @@ AC_TYPE_PID_T # Checks for library functions. AC_FUNC_VPRINTF AC_FUNC_MMAP -AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree]) +AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree posix_fadvise]) # # regex diff --git a/fontconfig/doc/fcconfig.fncs b/fontconfig/doc/fcconfig.fncs index fb55adece..9b9f66e1f 100644 --- a/fontconfig/doc/fcconfig.fncs +++ b/fontconfig/doc/fcconfig.fncs @@ -350,11 +350,11 @@ references into filename form. A null or empty name indicates that the default configuration file should be used; which file this references can be overridden with the -FC_CONFIG_FILE environment variable. Next, if the name starts with ~, it +FONTCONFIG_FILE environment variable. Next, if the name starts with ~, it refers to a file in the current users home directory. Otherwise if the name doesn't start with '/', it refers to a file in the default configuration directory; the built-in default directory can be overridden with the -FC_CONFIG_DIR environment variable. +FONTCONFIG_PATH environment variable. @@ @RET@ FcBool diff --git a/fontconfig/src/fccache.c b/fontconfig/src/fccache.c index db7561f9e..343ece9a7 100644 --- a/fontconfig/src/fccache.c +++ b/fontconfig/src/fccache.c @@ -609,6 +609,9 @@ FcDirCacheMapFd (int fd, struct stat *fd_stat, struct stat *dir_stat) { #if defined(HAVE_MMAP) || defined(__CYGWIN__) cache = mmap (0, fd_stat->st_size, PROT_READ, MAP_SHARED, fd, 0); +#ifdef HAVE_POSIX_FADVISE + posix_fadvise (fd, 0, fd_stat->st_size, POSIX_FADV_WILLNEED); +#endif if (cache == MAP_FAILED) cache = NULL; #elif defined(_WIN32) 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 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 @@ -131,66 +131,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 to , up to maxLength characters, returning * length of in . 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); -- cgit v1.2.3