diff options
author | Eric Anholt <[email protected]> | 2009-02-09 14:55:31 +0100 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2009-02-10 18:45:18 -0800 |
commit | 0b63f6449e095fa3b5ef510e1c1eadc2e0e0ea36 (patch) | |
tree | 67153a20e393a5aa9f181313725c8c83b5dc1552 /src/mesa | |
parent | d11981e0d722282894b5012d37b2960ee3fbfac2 (diff) |
intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_pixel_draw.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_pixel_draw.c b/src/mesa/drivers/dri/intel/intel_pixel_draw.c index 0c9cf08ab9c..7be7ea82b35 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_draw.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_draw.c @@ -73,6 +73,7 @@ intel_texture_drawpixels(GLcontext * ctx, GLfloat texcoords[4][2]; GLfloat z; GLint old_active_texture; + GLenum internalFormat; /* We're going to mess with texturing with no regard to existing texture * state, so if there is some set up we have to bail. @@ -134,11 +135,11 @@ intel_texture_drawpixels(GLcontext * ctx, _mesa_TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); _mesa_TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); _mesa_TexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - /* - _mesa_TexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_REPLACE); - _mesa_TexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE); - */ - _mesa_TexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, format, + if (type == GL_ALPHA) + internalFormat = GL_ALPHA; + else + internalFormat = GL_RGBA; + _mesa_TexImage2D(GL_TEXTURE_2D, 0, internalFormat, width, height, 0, format, type, pixels); intel_meta_set_passthrough_transform(intel); |