From f25b2f76b031f2427f97a4a4fc58f4d237b764b4 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Sat, 13 May 2017 15:53:08 +1000 Subject: [PATCH] mesa: don't crash in KHR_no_error uniform variants when location == -1 From Seciton 7.6 (UNIFORM VARIABLES) of the OpenGL 4.5 spec: "If the value of location is -1, the Uniform* commands will silently ignore the data passed in, and the current uniform values will not be changed. Reviewed-by: Samuel Pitoiset --- src/mesa/main/uniform_query.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index 0e02a764a92..79a66a7ac3a 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -911,6 +911,15 @@ _mesa_uniform(GLint location, GLsizei count, const GLvoid *values, struct gl_uniform_storage *uni; if (_mesa_is_no_error_enabled(ctx)) { + /* From Seciton 7.6 (UNIFORM VARIABLES) of the OpenGL 4.5 spec: + * + * "If the value of location is -1, the Uniform* commands will + * silently ignore the data passed in, and the current uniform values + * will not be changed. + */ + if (location == -1) + return; + uni = shProg->UniformRemapTable[location]; /* The array index specified by the uniform location is just the -- 2.30.2