From 37178dc999e92b7c3b093b10a5589ecdeed78747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 4 Sep 2014 15:03:31 +0200 Subject: [PATCH 2/2] mesa: set UniformBooleanTrue = 1.0f by default because NativeIntegers is 0 by default. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82882 Cc: 10.2 10.3 mesa-stable@lists.freedesktop.org --- src/mesa/main/context.c | 3 +++ src/mesa/main/macros.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index fbdbd68..8b5693e 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -653,6 +653,9 @@ _mesa_init_constants(struct gl_constants *consts, gl_api api) /* GL_ARB_framebuffer_object */ consts->MaxSamples = 0; + /* GLSL default if NativeIntegers == FALSE */ + consts->UniformBooleanTrue = FLT_AS_UINT(1.0f); + /* GL_ARB_sync */ consts->MaxServerWaitTimeout = 0x1fff7fffffffULL; diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index 0ba658a..2d54ca5 100644 --- a/src/mesa/main/macros.h +++ b/src/mesa/main/macros.h @@ -184,6 +184,13 @@ static inline GLfloat UINT_AS_FLT(GLuint u) return tmp.f; } +static inline unsigned FLT_AS_UINT(float f) +{ + fi_type tmp; + tmp.f = f; + return tmp.u; +} + /** * Convert a floating point value to an unsigned fixed point value. * -- 1.9.1