[Mesa-dev] [PATCH 4/5] mesa: Expose compile_shader() and link_program() beyond the file.
Kenneth Graunke
kenneth at whitecape.org
Wed Mar 16 07:13:01 UTC 2016
This will allow me to use them directly from Meta, bypassing the
versions that work with GL integer handles.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/main/shaderapi.c | 20 ++++++++++----------
src/mesa/main/shaderapi.h | 6 ++++++
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index c7b1047..32fad56 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -959,8 +959,8 @@ shader_source(struct gl_shader *sh, const GLchar *source)
/**
* Compile a shader.
*/
-static void
-compile_shader(struct gl_context *ctx, struct gl_shader *sh)
+void
+_mesa_compile_shader(struct gl_context *ctx, struct gl_shader *sh)
{
if (!sh)
return;
@@ -1020,8 +1020,8 @@ compile_shader(struct gl_context *ctx, struct gl_shader *sh)
/**
* Link a program's shaders.
*/
-static void
-link_program(struct gl_context *ctx, struct gl_shader_program *shProg)
+void
+_mesa_link_program(struct gl_context *ctx, struct gl_shader_program *shProg)
{
if (!shProg)
return;
@@ -1264,8 +1264,8 @@ _mesa_CompileShader(GLuint shaderObj)
GET_CURRENT_CONTEXT(ctx);
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glCompileShader %u\n", shaderObj);
- compile_shader(ctx,
- _mesa_lookup_shader_err(ctx, shaderObj, "glCompileShader"));
+ _mesa_compile_shader(ctx, _mesa_lookup_shader_err(ctx, shaderObj,
+ "glCompileShader"));
}
@@ -1512,8 +1512,8 @@ _mesa_LinkProgram(GLuint programObj)
GET_CURRENT_CONTEXT(ctx);
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glLinkProgram %u\n", programObj);
- link_program(ctx, _mesa_lookup_shader_program_err(ctx, programObj,
- "glLinkProgram"));
+ _mesa_link_program(ctx, _mesa_lookup_shader_program_err(ctx, programObj,
+ "glLinkProgram"));
}
#if defined(HAVE_SHA1)
@@ -2153,7 +2153,7 @@ _mesa_CreateShaderProgramv(GLenum type, GLsizei count,
struct gl_shader *sh = _mesa_lookup_shader(ctx, shader);
_mesa_ShaderSource(shader, count, strings, NULL);
- compile_shader(ctx, sh);
+ _mesa_compile_shader(ctx, sh);
program = create_shader_program(ctx);
if (program) {
@@ -2167,7 +2167,7 @@ _mesa_CreateShaderProgramv(GLenum type, GLsizei count,
get_shaderiv(ctx, shader, GL_COMPILE_STATUS, &compiled);
if (compiled) {
attach_shader(ctx, program, shader);
- link_program(ctx, shProg);
+ _mesa_link_program(ctx, shProg);
detach_shader(ctx, program, shader);
#if 0
diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h
index 8922c4d..d2d7f16 100644
--- a/src/mesa/main/shaderapi.h
+++ b/src/mesa/main/shaderapi.h
@@ -54,6 +54,12 @@ extern void
_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg,
const char *caller);
+extern void
+_mesa_compile_shader(struct gl_context *ctx, struct gl_shader *sh);
+
+extern void
+_mesa_link_program(struct gl_context *ctx, struct gl_shader_program *sh_prog);
+
extern unsigned
_mesa_count_active_attribs(struct gl_shader_program *shProg);
--
2.7.3
More information about the mesa-dev
mailing list