diff options
author | marha <marha@users.sourceforge.net> | 2011-11-04 09:28:39 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-11-04 09:28:39 +0100 |
commit | 23e2767dc3e6b8891d4b55b711c70c6bc85a6f85 (patch) | |
tree | 04c538697c3afbd401afb1bb614460b16be28844 /mesalib/src/glsl/ir_variable.cpp | |
parent | 125500b44d0253d7fd7a59905ab730151d4f66e2 (diff) | |
parent | 02f377d5e2dd18537d0807ad63675a0970b5a37d (diff) | |
download | vcxsrv-23e2767dc3e6b8891d4b55b711c70c6bc85a6f85.tar.gz vcxsrv-23e2767dc3e6b8891d4b55b711c70c6bc85a6f85.tar.bz2 vcxsrv-23e2767dc3e6b8891d4b55b711c70c6bc85a6f85.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h
xorg-server/hw/xwin/InitOutput.c
xorg-server/hw/xwin/ddraw.h
xorg-server/hw/xwin/winclipboardwndproc.c
xorg-server/hw/xwin/winglobals.c
xorg-server/hw/xwin/winmonitors.c
xorg-server/hw/xwin/winprocarg.c
xorg-server/hw/xwin/winwin32rootlesswndproc.c
xorg-server/include/scrnintstr.h
xorg-server/xkb/ddxList.c
xorg-server/xkb/ddxLoad.c
Diffstat (limited to 'mesalib/src/glsl/ir_variable.cpp')
-rw-r--r-- | mesalib/src/glsl/ir_variable.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/mesalib/src/glsl/ir_variable.cpp b/mesalib/src/glsl/ir_variable.cpp index 1ee84d219..3092507bc 100644 --- a/mesalib/src/glsl/ir_variable.cpp +++ b/mesalib/src/glsl/ir_variable.cpp @@ -400,7 +400,7 @@ add_builtin_variable(exec_list *instructions, glsl_symbol_table *symtab, } } -static void +static ir_variable * add_builtin_constant(exec_list *instructions, glsl_symbol_table *symtab, const char *name, int value) { @@ -408,6 +408,9 @@ add_builtin_constant(exec_list *instructions, glsl_symbol_table *symtab, name, glsl_type::int_type, ir_var_auto, -1); var->constant_value = new(var) ir_constant(value); + var->constant_initializer = new(var) ir_constant(value); + var->has_initializer = true; + return var; } /* Several constants in GLSL ES have different names than normal desktop GLSL. @@ -749,16 +752,12 @@ generate_ARB_draw_buffers_variables(exec_list *instructions, /* gl_MaxDrawBuffers is available in all shader stages. */ ir_variable *const mdb = - add_variable(instructions, state->symbols, - "gl_MaxDrawBuffers", glsl_type::int_type, ir_var_auto, -1); + add_builtin_constant(instructions, state->symbols, "gl_MaxDrawBuffers", + state->Const.MaxDrawBuffers); if (warn) mdb->warn_extension = "GL_ARB_draw_buffers"; - mdb->constant_value = new(mdb) - ir_constant(int(state->Const.MaxDrawBuffers)); - - /* gl_FragData is only available in the fragment shader. */ if (target == fragment_shader) { |