From f61669f9976750c4ecc751d54a4937a3ff179270 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 11 Mar 2015 17:31:11 -0700 Subject: [PATCH] glsl: Prepare standalone compiler to be able to use parameter lists As part of the shader-cache work an upcoming change will add new references to _mesa_add_parameter and _mesa_new_parameter_list from the glsl code. To prepare for that, and to allow the standalone glsl_compiler to still link, here we add mesa/program/prog_parameter.c to the libglsl_util sources. Then, in order to get *that* to work, we also add to stubs to standalone_scaffolding: _mesa_program_state_flags _mesa_program_state_string These functions aren't actually used by the two functions in prog_parameter.c that we are actually calling. They are used in other functions in the same file. So we don't care what the implementation of these stubs is, (they won't be called by glsl_compiler). We just need the stubs present so that it can link. Signed-off-by: Timothy Arceri Reviewed-by: Eric Anholt --- src/Makefile.am | 3 +++ src/compiler/glsl/standalone_scaffolding.cpp | 12 ++++++++++++ src/compiler/glsl/standalone_scaffolding.h | 8 ++++++++ 3 files changed, 23 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index b0b64d73886..551f4312ac4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -110,6 +110,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/include/ \ -I$(top_srcdir)/src/mapi/ \ -I$(top_srcdir)/src/mesa/ \ + -I$(top_srcdir)/src/gallium/include \ + -I$(top_srcdir)/src/gallium/auxiliary \ $(DEFINES) noinst_LTLIBRARIES = libglsl_util.la @@ -117,5 +119,6 @@ noinst_LTLIBRARIES = libglsl_util.la libglsl_util_la_SOURCES = \ mesa/main/extensions_table.c \ mesa/main/imports.c \ + mesa/program/prog_parameter.c \ mesa/program/symbol_table.c \ mesa/program/dummy_errors.c diff --git a/src/compiler/glsl/standalone_scaffolding.cpp b/src/compiler/glsl/standalone_scaffolding.cpp index b0fb4b726ae..aa79b8659e9 100644 --- a/src/compiler/glsl/standalone_scaffolding.cpp +++ b/src/compiler/glsl/standalone_scaffolding.cpp @@ -95,6 +95,18 @@ _mesa_new_linked_shader(gl_shader_stage stage) return shader; } +GLbitfield +_mesa_program_state_flags(const gl_state_index state[STATE_LENGTH]) +{ + return 0; +} + +char * +_mesa_program_state_string(const gl_state_index state[STATE_LENGTH]) +{ + return NULL; +} + void _mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh) { diff --git a/src/compiler/glsl/standalone_scaffolding.h b/src/compiler/glsl/standalone_scaffolding.h index a19eae28de6..b56dd3e8707 100644 --- a/src/compiler/glsl/standalone_scaffolding.h +++ b/src/compiler/glsl/standalone_scaffolding.h @@ -33,6 +33,7 @@ #include #include "main/mtypes.h" +#include "program/prog_statevars.h" extern "C" void _mesa_warning(struct gl_context *ctx, const char *fmtString, ... ); @@ -61,6 +62,13 @@ extern "C" void _mesa_shader_debug(struct gl_context *ctx, GLenum type, GLuint *id, const char *msg); +extern "C" GLbitfield +_mesa_program_state_flags(const gl_state_index state[STATE_LENGTH]); + + +extern "C" char * +_mesa_program_state_string(const gl_state_index state[STATE_LENGTH]); + static inline gl_shader_stage _mesa_shader_enum_to_shader_stage(GLenum v) {