summaryrefslogtreecommitdiff
path: root/src/glsl/linker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/linker.cpp')
-rw-r--r--src/glsl/linker.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 0b6a125..e8f1497 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -82,11 +82,7 @@ extern "C" {
#include "linker.h"
#include "ir_optimization.h"
-extern "C" {
#include "main/shaderobj.h"
-}
-
-extern "C" void _mesa_delete_shader(gl_context * ctx, gl_shader * shader);
/**
* Visitor that determines whether or not a variable is ever written.
@@ -763,7 +759,7 @@ get_main_function_signature(gl_shader *sh)
*/
static struct gl_shader *
link_intrastage_shaders(void *mem_ctx,
- struct gl_context *ctx,
+ const struct gl_context *ctx,
struct gl_shader_program *prog,
struct gl_shader **shader_list,
unsigned num_shaders)
@@ -837,8 +833,7 @@ link_intrastage_shaders(void *mem_ctx,
return NULL;
}
- gl_shader *linked = _mesa_new_shader(ctx, 0, main->Type);
- hieralloc_steal(prog, linked);
+ gl_shader *linked = _mesa_new_shader(prog, 0, main->Type);
linked->ir = new(linked) exec_list;
clone_ir_list(mem_ctx, linked->ir, main->ir);
@@ -1533,7 +1528,7 @@ assign_varying_locations(struct gl_shader_program *prog,
void
-link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
+link_shaders(const struct gl_context *ctx, struct gl_shader_program *prog)
{
//void *mem_ctx = hieralloc_init("temporary linker context");
void * mem_ctx = prog; // need linked & cloned ir to persist