Mesa (master): mesa: Fix extra memset in store_tfeedback_info()
Paul Berry
stereotype441 at kemper.freedesktop.org
Thu Jan 5 21:31:09 UTC 2012
Module: Mesa
Branch: master
Commit: 1be0fd8c86cac0775fd4451eb332effc70ccdbe5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1be0fd8c86cac0775fd4451eb332effc70ccdbe5
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Jan 5 13:06:36 2012 -0800
mesa: Fix extra memset in store_tfeedback_info()
Commit 9d36c96d6ec9f2c05c8e0b9ef18c5462cddee8c1 (mesa: Fix
glGetTransformFeedbackVarying()) accidentally added an extra memset()
call to the store_tfeedback_info() function, causing
prog->LinkedTransformFeedback.NumBuffers to be erased.
This patch removes the extra memset and rearranges the other
operations in store_tfeedback_info() to be in the correct order.
Fixes piglit tests "EXT_transform_feedback/api-errors *unbound*"
Reviewed-by: Eric Anholt <eric at anholt.net>
---
src/glsl/linker.cpp | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 3dd0883..128bbd5 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -1884,16 +1884,15 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
unsigned total_tfeedback_components = 0;
bool separate_attribs_mode =
prog->TransformFeedback.BufferMode == GL_SEPARATE_ATTRIBS;
- memset(&prog->LinkedTransformFeedback, 0,
- sizeof(prog->LinkedTransformFeedback));
- prog->LinkedTransformFeedback.NumBuffers =
- separate_attribs_mode ? num_tfeedback_decls : 1;
ralloc_free(prog->LinkedTransformFeedback.Varyings);
memset(&prog->LinkedTransformFeedback, 0,
sizeof(prog->LinkedTransformFeedback));
+ prog->LinkedTransformFeedback.NumBuffers =
+ separate_attribs_mode ? num_tfeedback_decls : 1;
+
prog->LinkedTransformFeedback.Varyings =
rzalloc_array(prog->LinkedTransformFeedback.Varyings,
struct gl_transform_feedback_varying_info,
More information about the mesa-commit
mailing list