summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/common
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-04-26 12:56:37 -0700
committerEric Anholt <[email protected]>2011-04-29 12:02:44 -0700
commit8c1637a4c233fd02a57dee1e38ac87012a04c4c5 (patch)
treef85f6dfb712fd4fc72e749b16c8980e7bbdf5af9 /src/mesa/drivers/common
parent2be2e1d3ada2d9cb5c1c42e955629d8fbbafcd0b (diff)
meta: Don't ask for floating point textures if not ARB_texture_float.
I was promoting to float for ARB_color_buffer_float unclamped, which failed when ARB_texture_float wasn't present. Since the metaops don't need results outside of [0,1] when not drawing to a floating point destination, they can just use a fixed point texture when floating point destinations are impossible. Fixes regression in fdo23670-depth_test when --enable-texture-float is not present. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36473
Diffstat (limited to 'src/mesa/drivers/common')
-rw-r--r--src/mesa/drivers/common/meta.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index a3964798b14..08b6024639f 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -1871,7 +1871,8 @@ _mesa_meta_DrawPixels(struct gl_context *ctx,
* just going for the matching set of channels, in floating
* point.
*/
- if (ctx->Color.ClampFragmentColor != GL_TRUE)
+ if (ctx->Color.ClampFragmentColor != GL_TRUE &&
+ ctx->Extensions.ARB_texture_float)
texIntFormat = GL_RGBA32F;
}
else if (_mesa_is_stencil_format(format)) {