From 92427707243940521fe55bab92a347d3608a5353 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Thu, 4 Sep 2014 15:03:31 +0200 Subject: 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 Reviewed-by: Brian Paul Reviewed-by: Matt Turner (cherry picked from commit d67db73458c8d66861b97675660289a9555695ce) [emil velikov: s|consts->|ctx->Const.|] Signed-off-by: Emil Velikov --- src/mesa/main/context.c | 3 +++ src/mesa/main/macros.h | 7 +++++++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 9eba1264d20..6b95b60a435 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -647,6 +647,9 @@ _mesa_init_constants(struct gl_context *ctx) /* GL_ARB_framebuffer_object */ ctx->Const.MaxSamples = 0; + /* GLSL default if NativeIntegers == FALSE */ + ctx->Const.UniformBooleanTrue = FLT_AS_UINT(1.0f); + /* GL_ARB_sync */ ctx->Const.MaxServerWaitTimeout = 0x1fff7fffffffULL; diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index 5228c3a8f28..886e0cdf1c4 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. * -- cgit v1.2.3