summaryrefslogtreecommitdiff
path: root/src/mesa/main/teximage.c
AgeCommit message (Collapse)Author
2011-03-08mesa: add ATI_texture_compression_3dcMarek Olšák
LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy. Note that there is no specification for 3DC, just a few white papers from ATI.
2011-03-08mesa: add EXT_texture_compression_latcMarek Olšák
The encoding/decoding algorithms are shared with RGTC. Thanks to some magic with the base format, the RGTC texstore functions work for LATC too. swrast passes the related piglit tests besides two things: - The alpha channel is wrong (it's always 1), however the incorrect alpha channel makes some other tests fail too, so I guess it's unrelated to LATC. - Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]), however RGTC has the same problem. Further testing (with other of my patches) shows that hardware drivers and softpipe work. BTW, ETQW uses this extension.
2011-02-28mesa: reduce calls to _mesa_test_framebuffer_completeness()Brian Paul
when doing glCopyTex[Sub]Image() and checking the source buffer's completeness. We only need to determine FBO completeness when the status is indeterminate.
2011-01-26mesa: fix MESA/EXT typoBrian Paul
Spotted by Bernd Buschinski.
2011-01-25mesa: add checks for GL_EXT_texture_arrayBrian Paul
In case the driver enables GL_MESA_texture_array but not the EXT version.
2011-01-24mesa: allow internalFormat=GL_BGRA_EXT in TexImage2DBenjamin Franzke
2011-01-11mesa/swrast: handle sRGB FBOs correctly (v2)Dave Airlie
From reading EXT_texture_sRGB and EXT_framebuffer_sRGB and interactions with FBO I've found that swrast is converting the sRGB values to linear for blending when an sRGB texture is bound as an FBO. According to the spec and further explained in the framebuffer_sRGB spec this behaviour is not required unless the GL_FRAMEBUFFER_SRGB is enabled and the Visual/config exposes GL_FRAMEBUFFER_SRGB_CAPABLE_EXT. This patch fixes swrast to use a separate Fetch call for FBOs bound to SRGB and avoid the conversions. v2: export _mesa_get_texture_dimensions as per Brian's comments. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-07mesa: Directly include mfeatures.h in files that perform feature tests.Vinson Lee
2011-01-04mesa: Fix the baseFormat for GL_COMPRESSED_SLUMINANCE_EXT.Eric Anholt
It's just LUMINANCE, not LUMINANCE_ALPHA. Fixes fbo-generatemipmap-formats GL_EXT_texture_sRGB-s3tc assertion failure when it tries to pack the L8 channels into LUMINANCE_ALPHA and wonders why it's trying to do that.
2010-12-08mesa: simplify target checking for TexImage functionsBrian Paul
2010-12-08mesa: revamp error checking for compressed texture imagesBrian Paul
Simplify some code, remove unneeded checks, etc.
2010-12-07mesa: make _mesa_test_proxy_teximage() easier to readBrian Paul
2010-12-07mesa: consolidate glCompressedTexImage1/2/3D() functionsBrian Paul
2010-12-07mesa: consolidate glCopyTexSubImage1/2/3D() functionsBrian Paul
2010-12-07mesa: consolidate glCopyTexImage1/2D() codeBrian Paul
2010-12-07mesa: consolidate the glTexSubImage1/2/3D() functionsBrian Paul
2010-12-07mesa: simplify proxy texture code in texture_error_check()Brian Paul
2010-12-06mesa: consolidate glTexImage1/2/3D() codeBrian Paul
Something similar could be done for glCopyTex[Sub]Image() and the compressed texture image functions as well.
2010-12-02mesa: raise max texture sizes to 16KBrian Paul
This allows 16K x 16K 2D textures, for example, but we don't want to allow that for 3D textures. The new gl_constants::MaxTextureMBytes field is used to prevent allocating too large of texture image. This allows a 16K x 32 x 32 3D texture, for example, but prevents 16K^3. Drivers can override this limit. The default is currently 1GB. Apps should use the proxy texture mechanism to determine the actual max texture size.
2010-11-21mesa: fix get_texture_dimensions() for texture array targetsBrian Paul
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31779
2010-11-18mesa: pass gl_format to _mesa_init_teximage_fields()Brian Paul
This should prevent the field going unset in the future. See bug http://bugs.freedesktop.org/show_bug.cgi?id=31544 for background. Also remove unneeded calls to clear_teximage_fields(). Finally, call _mesa_set_fetch_functions() from the _mesa_init_teximage_fields() function so callers have one less thing to worry about.
2010-11-16mesa: reorder texture_error_check() paramsBrian Paul
To better match other functions.
2010-11-16mesa: 80-column wrappingBrian Paul
2010-11-12mesa: consolidate assertions in teximage codeBrian Paul
2010-10-26mesa: rename function to _mesa_is_format_integer_color()Brian Paul
Be a bit more clear about its operation.
2010-10-25mesa: additional teximage error checks for GL_EXT_texture_integerBrian Paul
2010-10-23mesa: simplify target_can_be_compressed() functionBrian Paul
2010-10-14mesa: remove post-convolution width/height varsBrian Paul
These were left-over bits from when convolution was removed.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-01mesa: Add ARB_texture_compression_rgtc as an alias for ↵Ian Romanick
EXT_texture_compression_rgtc Change the name in the extension tracking structure to ARB (from EXT).
2010-10-01ARB_texture_rg: Correct some errors in RED / RG internal format handlingIan Romanick
Fixes several problems: The half-float, float, and integer internal formats depend on ARB_texture_rg and other extensions. RG_INTEGER is not a valid internal format. Generic compressed formats depend on ARB_texture_rg, not EXT_texture_compression_rgtc. Use GL_RED instead of GL_R.
2010-09-23mesa: Remove EXT_convolution.Eric Anholt
More optional code.
2010-09-02mesa: Fix printf-like warnings.Vinson Lee
2010-07-20mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.Brian Paul
When defining mipmap level 'L' and level L-1 exists and the new level's internalFormat matches level L-1's internalFormat, then use the same hw format. Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call. This avoids a problem where we end up choosing different hw formats for different mipmap levels depending on how the levels are defined (glTexImage vs. glCopyTexImage vs. glGenerateMipmap, etc). The root problem is the ChooseTextureFormat() implementation in some drivers uses the user's glTexImage format/type parameters in the choosing heuristic. Later mipmap levels might be generated with different calls (ex: glCopyTexImage()) so we don't always have format/type info and the driver may choose a different format. For more background info see the July 2010 mesa-dev thread "Bug in _mesa_meta_GenerateMipmap"
2010-07-15mesa: Add error path in compressed_texture_error_check.Vinson Lee
Add error path for unhandled dimensions in compressed_texture_error_check.
2010-07-07mesa: initial support for new GL 3.0 texture formatsBrian Paul
2010-07-05mesa: initial support for unnormalized integer texture formatsBrian Paul
As defined by GL_EXT_texture_integer.
2010-05-11mesa: fix error message stringsBrian Paul
2010-05-02Merge branch 'gles2-2'Kristian Høgsberg
Conflicts: src/mesa/drivers/dri/common/dri_util.h
2010-05-02mesa: s/sprintf/_mesa_snprintf/Vinson Lee
2010-04-28mesa: Move support for paletted textures to main/teximage.cKristian Høgsberg
2010-04-23mesa: make is_compressed_format() non-staticBrian Paul
2010-04-23mesa: faster, simpler is_compressed_format()Brian Paul
2010-04-15mesa: Add missing format specifiers in error strings.Vinson Lee
2010-04-06mesa: Add OES_EGL_image to extension list.Chia-I Wu
2010-02-24mesa: Fix SCons build.Vinson Lee
2010-02-24core: Implement GL_OES_EGL_image entry pointsKristian Høgsberg
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-01-27mesa: fix int/uint comparison warningsBrian Paul
Reported by Karl Schultz.