On Tue, Mar 4, 2014 at 3:41 PM, Ian Romanick <i...@freedesktop.org> wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > This can be called from locations that don't have a context pointer > handy. This patch also adds enough infrastructure so that the unit > tests for the GLSL compiler and the stand-alone compiler will build and > function. > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > Cc: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com> > --- > src/glsl/Makefile.am | 10 +++++++--- > src/glsl/main.cpp | 6 ++++++ > src/glsl/tests/common.c | 30 ++++++++++++++++++++++++++++++ > src/mesa/main/errors.c | 6 ++++++ > src/mesa/main/errors.h | 3 +++ > 5 files changed, 52 insertions(+), 3 deletions(-) > create mode 100644 src/glsl/tests/common.c > > diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am > index 27e180e..10181da 100644 > --- a/src/glsl/Makefile.am > +++ b/src/glsl/Makefile.am > @@ -61,7 +61,8 @@ tests_general_ir_test_SOURCES = \ > $(GLSL_SRCDIR)/standalone_scaffolding.cpp \ > tests/builtin_variable_test.cpp \ > tests/invalidate_locations_test.cpp \ > - tests/general_ir_test.cpp > + tests/general_ir_test.cpp \ > + tests/common.c > tests_general_ir_test_CFLAGS = \ > $(PTHREAD_CFLAGS) > tests_general_ir_test_LDADD = \ > @@ -76,7 +77,8 @@ tests_uniform_initializer_test_SOURCES = \ > $(top_srcdir)/src/mesa/program/symbol_table.c \ > tests/copy_constant_to_storage_tests.cpp \ > tests/set_uniform_initializer_tests.cpp \ > - tests/uniform_initializer_utils.cpp > + tests/uniform_initializer_utils.cpp \ > + tests/common.c > tests_uniform_initializer_test_CFLAGS = \ > $(PTHREAD_CFLAGS) > tests_uniform_initializer_test_LDADD = \ > @@ -95,7 +97,8 @@ tests_ralloc_test_LDADD = \ > tests_sampler_types_test_SOURCES = \ > $(top_srcdir)/src/mesa/program/prog_hash_table.c\ > $(top_srcdir)/src/mesa/program/symbol_table.c \ > - tests/sampler_types_test.cpp > + tests/sampler_types_test.cpp \ > + tests/common.c > tests_sampler_types_test_CFLAGS = \ > $(PTHREAD_CFLAGS) > tests_sampler_types_test_LDADD = \ > @@ -136,6 +139,7 @@ glsl_test_SOURCES = \ > $(top_srcdir)/src/mesa/program/prog_hash_table.c \ > $(top_srcdir)/src/mesa/program/symbol_table.c \ > $(GLSL_SRCDIR)/standalone_scaffolding.cpp \ > + tests/common.c \ > test.cpp \ > test_optpass.cpp > > diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp > index 4ae8f09..a4452e0 100644 > --- a/src/glsl/main.cpp > +++ b/src/glsl/main.cpp > @@ -40,6 +40,12 @@ > > static int glsl_version = 330; > > +extern "C" void > +_mesa_error_no_memory(const char *caller) > +{ > + fprintf(stderr, "Mesa error: out of memory in %s", caller); > +} > + > static void > initialize_context(struct gl_context *ctx, gl_api api) > { > diff --git a/src/glsl/tests/common.c b/src/glsl/tests/common.c > new file mode 100644 > index 0000000..d69f54d > --- /dev/null > +++ b/src/glsl/tests/common.c > @@ -0,0 +1,30 @@ > +/* > + * Copyright © 2014 Intel Corporation > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the "Software"), > + * to deal in the Software without restriction, including without limitation > + * the rights to use, copy, modify, merge, publish, distribute, sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the next > + * paragraph) shall be included in all copies or substantial portions of the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > + * DEALINGS IN THE SOFTWARE. > + */ > +#include <stdio.h> > +#include "main/errors.h" > + > +void > +_mesa_error_no_memory(const char *caller) > +{ > + fprintf(stderr, "Mesa error: out of memory in %s", caller); > +} > diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c > index ca73a66..8126e1f 100644 > --- a/src/mesa/main/errors.c > +++ b/src/mesa/main/errors.c > @@ -1377,6 +1377,12 @@ _mesa_error( struct gl_context *ctx, GLenum error, > const char *fmtString, ... ) > _mesa_record_error(ctx, error); > } > > +void > +_mesa_error_no_memory(const char *caller) > +{ > + GET_CURRENT_CONTEXT(ctx); > + _mesa_error(ctx, GL_OUT_OF_MEMORY, "out of memory in %s", caller); > +} > > /** > * Report debug information. Print error message to stderr via fprintf(). > diff --git a/src/mesa/main/errors.h b/src/mesa/main/errors.h > index cd414e6..41a3dca 100644 > --- a/src/mesa/main/errors.h > +++ b/src/mesa/main/errors.h > @@ -64,6 +64,9 @@ extern void > _mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, > ... ) PRINTFLIKE(3, 4); > > extern void > +_mesa_error_no_memory(const char *caller); > + > +extern void > _mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) > PRINTFLIKE(2, 3); > > extern void > -- > 1.8.1.4 >
Thanks! Behalf of me this is Reviewed&Tested by <juhapekka.heikk...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev