diff options
author | Eric Anholt <[email protected]> | 2011-04-26 12:56:37 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2011-04-29 12:02:44 -0700 |
commit | 8c1637a4c233fd02a57dee1e38ac87012a04c4c5 (patch) | |
tree | f85f6dfb712fd4fc72e749b16c8980e7bbdf5af9 /src/mesa/drivers/common | |
parent | 2be2e1d3ada2d9cb5c1c42e955629d8fbbafcd0b (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.c | 3 |
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)) { |