Mesa (master): glsl2: Make sure _mesa_glsl_parse_state constructor gets a context

Ian Romanick idr at kemper.freedesktop.org
Wed Sep 8 18:41:41 UTC 2010


Module: Mesa
Branch: master
Commit: 961f42c9bd795204e031ea6a31a2ae04ba2e4067
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=961f42c9bd795204e031ea6a31a2ae04ba2e4067

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Sep  8 11:33:12 2010 -0700

glsl2: Make sure _mesa_glsl_parse_state constructor gets a context

Fix an major regression in dc754586.  Too bad that change was
obviously never tested.

---

 src/glsl/builtin_function.cpp                |    3 ++-
 src/glsl/builtins/tools/generate_builtins.py |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index 4a319ef..d96c15c 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -35,9 +35,10 @@ _mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
 gl_shader *
 read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
 {
+   GLcontext fakeCtx;
    gl_shader *sh = _mesa_new_shader(NULL, 0, target);
    struct _mesa_glsl_parse_state *st =
-      new(sh) _mesa_glsl_parse_state(NULL, target, sh);
+      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
 
    st->language_version = 130;
    st->symbols->language_version = 130;
diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py
index bc64b4b..2431096 100755
--- a/src/glsl/builtins/tools/generate_builtins.py
+++ b/src/glsl/builtins/tools/generate_builtins.py
@@ -128,9 +128,10 @@ _mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
 gl_shader *
 read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
 {
+   GLcontext fakeCtx;
    gl_shader *sh = _mesa_new_shader(NULL, 0, target);
    struct _mesa_glsl_parse_state *st =
-      new(sh) _mesa_glsl_parse_state(NULL, target, sh);
+      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
 
    st->language_version = 130;
    st->symbols->language_version = 130;




More information about the mesa-commit mailing list