aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2010-06-29 17:58:43 -0700
committerIan Romanick <[email protected]>2010-06-30 12:20:44 -0700
commitef5f1948316664055c1444d12076c7d86589a8b9 (patch)
treee69e3caf28c103fb66ceabb06b0b8aca3773668b /src
parentedcb9c2b062693a5974aa74725f6259023fff794 (diff)
linker: Don't dynamically allocate slots for linked shaders
The can be at most one shader per stage. There are currently only two stages. There is zero reason to dynamically size this array.
Diffstat (limited to 'src')
-rw-r--r--src/glsl/linker.cpp2
-rw-r--r--src/mesa/main/mtypes.h7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index a53e91d2eff..11fccba3786 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -823,8 +823,6 @@ link_shaders(struct gl_shader_program *prog)
goto done;
- prog->_LinkedShaders = (struct gl_shader **)
- calloc(2, sizeof(struct gl_shader *));
prog->_NumLinkedShaders = 0;
if (num_vert_shaders > 0) {
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index bc90b1e0441..9a36740c415 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2006,8 +2006,13 @@ struct gl_shader_program
GLboolean _Used; /**< Ever used for drawing? */
GLchar *InfoLog;
+ /**
+ * Per-stage shaders resulting from the first stage of linking.
+ */
+ /*@{*/
GLuint _NumLinkedShaders;
- struct gl_shader **_LinkedShaders;
+ struct gl_shader *_LinkedShaders[2];
+ /*@}*/
};