diff -u -u -r src/compiler/glsl/ast.h ../vcxsrv-code/mesalib/src/compiler/glsl/ast.h --- src/compiler/glsl/ast.h 2017-11-30 14:02:04.217975473 +0000 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/ast.h 2017-08-02 23:50:09.530125510 +0100 @@ -49,6 +49,10 @@ class ast_node { public: DECLARE_LINEAR_ZALLOC_CXX_OPERATORS(ast_node); + static void operator delete(void *table, void *ctx) + { + ralloc_free(table); + } /** * Print an AST node in something approximating the original GLSL code diff -u -u -r src/compiler/glsl/builtin_functions.cpp ../vcxsrv-code/mesalib/src/compiler/glsl/builtin_functions.cpp --- src/compiler/glsl/builtin_functions.cpp 2017-11-30 14:02:04.217975473 +0000 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/builtin_functions.cpp 2017-09-23 17:11:47.075775800 +0100 @@ -85,8 +85,8 @@ #include "util/hash_table.h" #define M_PIf ((float) M_PI) -#define M_PI_2f ((float) M_PI_2) -#define M_PI_4f ((float) M_PI_4) +#define M_PI_2f ((float) M_PI/2.0f) +#define M_PI_4f ((float) M_PI/4.0f) using namespace ir_builder; Only in ../vcxsrv-code/mesalib/src/compiler/glsl: doflexbison.bat Only in ../vcxsrv-code/mesalib/src/compiler/glsl: getopt.cpp diff -u -u -r src/compiler/glsl/.gitignore ../vcxsrv-code/mesalib/src/compiler/glsl/.gitignore --- src/compiler/glsl/.gitignore 2017-08-03 21:34:27.250372226 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/.gitignore 2017-09-23 17:11:47.075775800 +0100 @@ -3,6 +3,7 @@ glsl_parser.h glsl_parser.output glsl_test +expression_operation_strings.h ir_expression_operation.h ir_expression_operation_strings.h ir_expression_operation_constant.h diff -u -u -r src/compiler/glsl/glcpp/glcpp.c ../vcxsrv-code/mesalib/src/compiler/glsl/glcpp/glcpp.c --- src/compiler/glsl/glcpp/glcpp.c 2017-08-03 21:34:27.260372226 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/glcpp/glcpp.c 2017-08-02 23:50:09.530125510 +0100 @@ -31,6 +31,14 @@ #include "main/shaderobj.h" #include "util/strtod.h" +#ifdef _MSC_VER +#include +#define STDIN_FILENO 0 +#define read _read +#define open _open +#define close _close +#endif + extern int glcpp_parser_debug; void Only in src/compiler/glsl/glcpp: tests diff -u -u -r src/compiler/glsl/glsl_parser_extras.h ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_parser_extras.h --- src/compiler/glsl/glsl_parser_extras.h 2017-11-30 14:02:04.227975473 +0000 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_parser_extras.h 2017-09-23 17:11:47.075775800 +0100 @@ -76,6 +76,10 @@ void *mem_ctx); DECLARE_RZALLOC_CXX_OPERATORS(_mesa_glsl_parse_state); + static void operator delete(void *mem, void *ctx) + { + ralloc_free(mem); + } /** * Generate a string representing the GLSL version currently being compiled diff -u -u -r src/compiler/glsl/glsl_parser.yy ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_parser.yy --- src/compiler/glsl/glsl_parser.yy 2017-11-30 14:02:04.227975473 +0000 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_parser.yy 2017-08-02 23:50:09.530125510 +0100 @@ -23,6 +23,7 @@ */ #include #include +#include #include #ifndef _MSC_VER #include diff -u -u -r src/compiler/glsl/glsl_symbol_table.cpp ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_symbol_table.cpp --- src/compiler/glsl/glsl_symbol_table.cpp 2017-08-03 21:34:27.260372226 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_symbol_table.cpp 2017-08-02 23:50:09.530125510 +0100 @@ -28,6 +28,10 @@ class symbol_table_entry { public: DECLARE_LINEAR_ALLOC_CXX_OPERATORS(symbol_table_entry); + static void operator delete(void *entry, void *ctx) + { + ralloc_free(entry); + } bool add_interface(const glsl_type *i, enum ir_variable_mode mode) { diff -u -u -r src/compiler/glsl/glsl_symbol_table.h ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_symbol_table.h --- src/compiler/glsl/glsl_symbol_table.h 2017-08-03 21:34:27.260372226 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/glsl_symbol_table.h 2017-08-02 23:50:09.530125510 +0100 @@ -41,6 +41,11 @@ */ struct glsl_symbol_table { DECLARE_RALLOC_CXX_OPERATORS(glsl_symbol_table) + static void operator delete(void *table, void *ctx) + { + ralloc_set_destructor(table, NULL); + ralloc_free(table); + } glsl_symbol_table(); ~glsl_symbol_table(); diff -u -u -r src/compiler/glsl/list.h ../vcxsrv-code/mesalib/src/compiler/glsl/list.h --- src/compiler/glsl/list.h 2017-08-03 21:34:27.270372226 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/list.h 2017-08-02 23:50:09.540125510 +0100 @@ -56,6 +56,10 @@ #ifdef __cplusplus DECLARE_RZALLOC_CXX_OPERATORS(exec_node) + static void operator delete(void *node, void *ctx) + { + ralloc_free(node); + } exec_node() : next(NULL), prev(NULL) { @@ -287,6 +291,10 @@ #ifdef __cplusplus DECLARE_RALLOC_CXX_OPERATORS(exec_list) + static void operator delete(void *node, void *ctx) + { + ralloc_free(node); + } exec_list() { diff -u -u -r src/compiler/glsl/main.cpp ../vcxsrv-code/mesalib/src/compiler/glsl/main.cpp --- src/compiler/glsl/main.cpp 2017-10-04 19:05:09.592090285 +0100 +++ ../vcxsrv-code/mesalib/src/compiler/glsl/main.cpp 2017-09-23 17:11:47.085775800 +0100 @@ -22,7 +22,16 @@ */ #include +#ifdef _MSC_VER +#define __STDC__ 1 #include +#define open _open +#define read _read +#define fstat _fstat +#define stat _stat +#define close _close +#define O_RDONLY _O_RDONLY +#endif /** @file main.cpp * Only in src/compiler/glsl: tests