Demos (master): util: add LinkShaders3()

Brian Paul brianp at kemper.freedesktop.org
Sat Mar 26 12:09:27 UTC 2011


Module: Demos
Branch: master
Commit: b7104db4fd17d41ed1b8f3855dc1c18a9706576b
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=b7104db4fd17d41ed1b8f3855dc1c18a9706576b

Author: Brian Paul <brianp at vmware.com>
Date:   Sat Mar 26 06:05:36 2011 -0600

util: add LinkShaders3()

---

 src/util/shaderutil.c |   13 +++++++++++--
 src/util/shaderutil.h |    3 +++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/util/shaderutil.c b/src/util/shaderutil.c
index 96002fc..3a39b02 100644
--- a/src/util/shaderutil.c
+++ b/src/util/shaderutil.c
@@ -176,15 +176,24 @@ CompileShaderFile(GLenum shaderType, const char *filename)
 GLuint
 LinkShaders(GLuint vertShader, GLuint fragShader)
 {
+   return LinkShaders3(vertShader, 0, fragShader);
+}
+
+
+GLuint
+LinkShaders3(GLuint vertShader, GLuint geomShader, GLuint fragShader)
+{
    GLuint program = CreateProgram();
    GLdouble t0, t1;
 
    assert(vertShader || fragShader);
 
-   if (fragShader)
-      AttachShader(program, fragShader);
    if (vertShader)
       AttachShader(program, vertShader);
+   if (geomShader)
+      AttachShader(program, geomShader);
+   if (fragShader)
+      AttachShader(program, fragShader);
 
    t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
    LinkProgram(program);
diff --git a/src/util/shaderutil.h b/src/util/shaderutil.h
index 9aad294..08b2f28 100644
--- a/src/util/shaderutil.h
+++ b/src/util/shaderutil.h
@@ -36,6 +36,9 @@ CompileShaderFile(GLenum shaderType, const char *filename);
 extern GLuint
 LinkShaders(GLuint vertShader, GLuint fragShader);
 
+extern GLuint
+LinkShaders3(GLuint vertShader, GLuint geomShader, GLuint fragShader);
+
 extern GLboolean
 ValidateShaderProgram(GLuint program);
 




More information about the mesa-commit mailing list