Browse Source

Updated glsl-optimizer.

bkaradzic 12 years ago
parent
commit
f3c22c5b9d

+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/ast_function.cpp

@@ -1484,7 +1484,7 @@ ast_function_expression::hir(exec_list *instructions,
 	    var->constant_value = matrix->constant_expression_value();
 
 	    /* Replace the matrix with dereferences of its columns. */
-	    for (int i = 0; i < matrix->type->matrix_columns; i++) {
+	    for (int i = 0; i < (int)matrix->type->matrix_columns; i++) {
 	       matrix->insert_before(new (ctx) ir_dereference_array(var,
 		  new(ctx) ir_constant(i)));
 	    }

+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/glcpp/glcpp.h

@@ -50,7 +50,7 @@ typedef struct token_list token_list_t;
 
 typedef union YYSTYPE
 {
-	intmax_t ival;
+	int64_t ival;
 	char *str;
 	string_list_t *string_list;
 	token_t *token;

+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/glcpp/pp.c

@@ -107,7 +107,7 @@ remove_line_continuations(glcpp_parser_t *ctx, const char *shader)
 		const char *backslash = NULL;
 
 		/* # of characters preceding the newline. */
-		int n = newline - shader;
+		size_t n = newline - shader;
 
 		/* Find the preceding '\', if it exists */
 		if (n >= 1 && newline[-1] == '\\')

File diff suppressed because it is too large
+ 221 - 216
3rdparty/glsl-optimizer/src/glsl/glsl_lexer.cpp


+ 5 - 0
3rdparty/glsl-optimizer/src/glsl/glsl_lexer.ll

@@ -28,6 +28,11 @@
 #include "glsl_parser_extras.h"
 #include "glsl_parser.h"
 
+#if defined(_MSC_VER)
+#	pragma warning(disable: 4065) // warning C4065: switch statement contains 'default' but no 'case' labels
+#	pragma warning(disable: 4244) // warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
+#endif // defined(_MSC_VER)
+
 static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
 
 #ifdef _MSC_VER

File diff suppressed because it is too large
+ 141 - 136
3rdparty/glsl-optimizer/src/glsl/glsl_parser.cpp


+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/glsl_parser.h

@@ -245,7 +245,7 @@ typedef union YYSTYPE
 {
 
 /* Line 2068 of yacc.c  */
-#line 59 "src/glsl/glsl_parser.yy"
+#line 64 "src/glsl/glsl_parser.yy"
 
    int n;
    float real;

+ 5 - 0
3rdparty/glsl-optimizer/src/glsl/glsl_parser.yy

@@ -31,6 +31,11 @@
 #include "glsl_types.h"
 #include "main/context.h"
 
+#if defined(_MSC_VER)
+#	pragma warning(disable: 4065) // warning C4065: switch statement contains 'default' but no 'case' labels
+#	pragma warning(disable: 4244) // warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
+#endif // defined(_MSC_VER)
+
 #define YYLEX_PARAM state->scanner
 
 #undef yyerror

+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/glsl_types.cpp

@@ -394,7 +394,7 @@ glsl_type::glsl_type(const glsl_type *array, unsigned length) :
     * for 32-bits of ~0.  The extra 3 are for the '[', ']', and terminating
     * NUL.
     */
-   const unsigned name_length = strlen(array->name) + 10 + 3;
+   const unsigned name_length = (unsigned)strlen(array->name) + 10 + 3;
    char *const n = (char *) ralloc_size(this->mem_ctx, name_length);
 
    if (length == 0)

+ 1 - 1
3rdparty/glsl-optimizer/src/glsl/ir_reader.cpp

@@ -567,7 +567,7 @@ ir_reader::read_assignment(s_expression *expr)
    s_pattern mask_pat[] = { mask_symbol };
    if (MATCH(mask_list, mask_pat)) {
       const char *mask_str = mask_symbol->value();
-      unsigned mask_length = strlen(mask_str);
+      unsigned mask_length = (unsigned)strlen(mask_str);
       if (mask_length > 4) {
 	 ir_read_error(expr, "invalid write mask: %s", mask_str);
 	 return NULL;

+ 3 - 3
3rdparty/glsl-optimizer/src/glsl/ralloc.c

@@ -177,7 +177,7 @@ reralloc_size(const void *ctx, void *ptr, size_t size)
 }
 
 void *
-ralloc_array_size(const void *ctx, size_t size, unsigned count)
+ralloc_array_size(const void *ctx, size_t size, size_t count)
 {
    if (count > SIZE_MAX/size)
       return NULL;
@@ -186,7 +186,7 @@ ralloc_array_size(const void *ctx, size_t size, unsigned count)
 }
 
 void *
-rzalloc_array_size(const void *ctx, size_t size, unsigned count)
+rzalloc_array_size(const void *ctx, size_t size, size_t count)
 {
    if (count > SIZE_MAX/size)
       return NULL;
@@ -195,7 +195,7 @@ rzalloc_array_size(const void *ctx, size_t size, unsigned count)
 }
 
 void *
-reralloc_array_size(const void *ctx, void *ptr, size_t size, unsigned count)
+reralloc_array_size(const void *ctx, void *ptr, size_t size, size_t count)
 {
    if (count > SIZE_MAX/size)
       return NULL;

+ 3 - 3
3rdparty/glsl-optimizer/src/glsl/ralloc.h

@@ -184,7 +184,7 @@ void *reralloc_size(const void *ctx, void *ptr, size_t size);
  * More than a convenience function, this also checks for integer overflow when
  * multiplying \p size and \p count.  This is necessary for security.
  */
-void *ralloc_array_size(const void *ctx, size_t size, unsigned count);
+void *ralloc_array_size(const void *ctx, size_t size, size_t count);
 
 /**
  * Allocate a zero-initialized array chained off the given context.
@@ -194,7 +194,7 @@ void *ralloc_array_size(const void *ctx, size_t size, unsigned count);
  * More than a convenience function, this also checks for integer overflow when
  * multiplying \p size and \p count.  This is necessary for security.
  */
-void *rzalloc_array_size(const void *ctx, size_t size, unsigned count);
+void *rzalloc_array_size(const void *ctx, size_t size, size_t count);
 
 /**
  * Resize a ralloc-managed array, preserving data.
@@ -215,7 +215,7 @@ void *rzalloc_array_size(const void *ctx, size_t size, unsigned count);
  * \return True unless allocation failed.
  */
 void *reralloc_array_size(const void *ctx, void *ptr, size_t size,
-			  unsigned count);
+			  size_t count);
 /// @}
 
 /**

+ 1 - 1
3rdparty/glsl-optimizer/src/mesa/program/hash_table.c

@@ -195,7 +195,7 @@ hash_table_call_foreach(struct hash_table *ht,
 {
    int bucket;
 
-   for (bucket = 0; bucket < ht->num_buckets; bucket++) {
+   for (bucket = 0; bucket < (int)ht->num_buckets; bucket++) {
       struct node *node, *temp;
       foreach_s(node, temp, &ht->buckets[bucket]) {
 	 struct hash_node *hn = (struct hash_node *) node;

+ 9 - 1
premake/shaderc.lua

@@ -10,6 +10,10 @@ project "shaderc"
 			GLSL_OPTIMIZER .. "src/glsl/msvc",
 		}
 
+		buildoptions {
+			"/wd4996" -- warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup.
+		}
+
 	configuration { "windows", "vs*" }
 		includedirs {
 			GLSL_OPTIMIZER .. "include/c99",
@@ -28,10 +32,14 @@ project "shaderc"
 
 	configuration {}
 
-	defines { -- fcpp
+	defines {
+		-- fcpp
 		"NINCLUDE=64",
 		"NWORK=65536",
 		"NBUFF=65536",
+
+		-- glsl-optimizer
+		"__STDC_VERSION__=199901L",
 	}
 
 	includedirs {

Some files were not shown because too many files changed in this diff