[Mesa-dev] [PATCH] mesa: don't crash in KHR_no_error uniform variants when location == -1
Timothy Arceri
tarceri at itsqueeze.com
Sat May 13 06:31:19 UTC 2017
---
src/mesa/main/uniform_query.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 0e02a76..5f38aa5 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -904,20 +904,23 @@ validate_uniform(GLint location, GLsizei count, const GLvoid *values,
extern "C" void
_mesa_uniform(GLint location, GLsizei count, const GLvoid *values,
struct gl_context *ctx, struct gl_shader_program *shProg,
enum glsl_base_type basicType, unsigned src_components)
{
unsigned offset;
int size_mul = glsl_base_type_is_64bit(basicType) ? 2 : 1;
struct gl_uniform_storage *uni;
if (_mesa_is_no_error_enabled(ctx)) {
+ if (location == -1)
+ return;
+
uni = shProg->UniformRemapTable[location];
/* The array index specified by the uniform location is just the
* uniform location minus the base location of of the uniform.
*/
assert(uni->array_elements > 0 || location == (int)uni->remap_location);
offset = location - uni->remap_location;
} else {
uni = validate_uniform(location, count, values, &offset, ctx, shProg,
basicType, src_components);
--
2.9.3
More information about the mesa-dev
mailing list