On 12/08/2012 11:25 AM, Matt Turner wrote:
Module: Mesa
Branch: gles3
Commit: d7063e8ee25963d08de2cd4d4ba61260c8eca9ca
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7063e8ee25963d08de2cd4d4ba61260c8eca9ca
Author: Matt Turner <matts...@gmail.com>
Date: Fri Dec 7 16:32:30 2012 -0800
mesa/uniform_query: Don't write to *params if there is an error
The GL 3.1 and ES 3.0 specs say of glGetActiveUniformsiv:
"If an error occurs, nothing will be written to params."
So, make a pass through the indices and check that they're valid before
the pass that actually writes to params. Checking pname happens on the
first iteration of the second loop.
Fixes es3conform's getactiveuniformsiv_for_nonexistent_uniform_indices
test.
Reviewed-by: Brian Paul <bri...@vmware.com>
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
This should just go directly to master too. Can you do that, and we can
rebase it out of gles3 soon? Also, please add
NOTE: This is a candidate for the 9.0 branch.
---
src/mesa/main/uniform_query.cpp | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index cbdd39e..245e9a7 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -97,12 +97,16 @@ _mesa_GetActiveUniformsiv(GLuint program,
for (i = 0; i < uniformCount; i++) {
GLuint index = uniformIndices[i];
- const struct gl_uniform_storage *uni = &shProg->UniformStorage[index];
if (index >= shProg->NumUserUniformStorage) {
_mesa_error(ctx, GL_INVALID_VALUE, "glGetActiveUniformsiv(index)");
return;
}
+ }
+
+ for (i = 0; i < uniformCount; i++) {
+ GLuint index = uniformIndices[i];
+ const struct gl_uniform_storage *uni = &shProg->UniformStorage[index];
switch (pname) {
case GL_UNIFORM_TYPE:
_______________________________________________
mesa-commit mailing list
mesa-com...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev