summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_texture.c
AgeCommit message (Collapse)Author
2010-01-04st/mesa: Only call st_texture_image_unmap() if texImage->Data is non-NULL.Michel Dänzer
This was already done in st_TexImage() but was missed between incremental changes to st_TexSubimage().
2009-11-19st/mesa: get rid of compressed_num_bytes() codeBrian Paul
2009-11-19st/mesa: remove is_compressed_mesa_format()Brian Paul
2009-11-19st/mesa: remove pointless assertionBrian Paul
2009-11-03Merge branch 'mesa_7_6_branch'Brian Paul
2009-11-03st/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencilBrian Paul
util_blit_pixels_writemask() only works for color formats at this time. Also, it might never work for depth/stencil surfaces since we can't get handle stencil values in a fragment shader. Fixes glCopyTexSubImage(GL_DEPTH_COMPONENT).
2009-11-03st/mesa: fix tests for depth and depth/stencil texture formatsBrian Paul
2009-10-28Merge branch 'texformat-rework'Brian Paul
Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
2009-10-25mesa: choose texture format in core mesa, not driversBrian Paul
Call the ctx->Driver.ChooseTextureFormat() function from core Mesa's _mesa_[Copy]TexImage functions instead of in the driver functions. One less thing for drivers to do.
2009-10-25mesa: remove _mesa_compressed_row_stride() callsBrian Paul
2009-10-24mesa: remove ctx->Driver.CompressedTextureSize() hookBrian Paul
It always just called _mesa_compressed_texture_size() anyway.
2009-10-24mesa: change compressed texture size callsBrian Paul
Replace calls to ctx->Driver.CompressedTextureSize with calls to _mesa_format_image_size. The former always called the later.
2009-10-17gallium: Permit surface_copy and surface_fill to be NULL.Corbin Simpson
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc. please make sure you are not broken, and fix yourself up if you are. There were only two or three places where the code did not have painful fallbacks, so I would advise st maintainers to find less painful workarounds, or consider overhauling util_surface_copy and util_surface_fill. Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is. I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
2009-10-08mesa: remove a bunch of gl_renderbuffer fieldsBrian Paul
_ActualFormat is replaced by Format (MESA_FORMAT_x). ColorEncoding, ComponentType, RedBits, GreenBits, BlueBits, etc. are all replaced by MESA_FORMAT_x queries.
2009-10-05mesa/st: add ST_DEBUG environment variableKeith Whitwell
At last it's possible to turn on tgsi dumps and other debugging in the state tracker without modifying sources...
2009-10-01mesa: removed gl_texture_image::CompressedSize fieldBrian Paul
Just call ctx->Driver.CompressedTextureSize() when we need to get the compressed image size.
2009-10-01mesa: move mesa_set_fetch_functions()Brian Paul
2009-10-01mesa: remove gl_texture_image::IsCompressed fieldBrian Paul
Use _mesa_is_format_compressed() instead.
2009-10-01st/mesa: fix non-mipmap lastLevel calculation.Brian Paul
reviewed by Brian Paul. (cherry picked from master, commit ae2daacbac7242938cffe0e2409071e030e00863)
2009-10-01st/mesa: fix non-mipmap lastLevel calculation.Cooper Yuan
reviewed by Brian Paul.
2009-09-30mesa: replace gl_texture_format with gl_formatBrian Paul
Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
2009-09-28st/mesa: use _mesa_texstore()Brian Paul
2009-09-28st/mesa: check gl_texture_object::GenerateMipmap field when allocating texmemBrian Paul
In guess_and_alloc_texture() use the gl_texture_object::GenerateMipmap field as another hint as to whether to allocate space for a whole mipmap.
2009-09-28Merge branch 'mesa_7_6_branch'Brian Paul
2009-09-28Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-28st/mesa: fix/simplify st_texture_object::lastLevel calculationBrian Paul
Don't compute the st_texture_object::lastLevel field based on the texture filters. Use the _MaxLevel value that core Mesa computes for us. When called from the GenerateMipmap path, we'll use the lastLevel field as-is.
2009-09-27mesa: use texture format functionsBrian Paul
2009-09-27st/mesa: use _mesa_get_texstore_func()Brian Paul
2009-09-20Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_clear.c
2009-09-20Merge branch 'mesa_7_5_branch' into mesa_7_6_branchNicolai Hähnle
2009-09-16st/mesa: fix some incorrect branching/clean-up code in TexImage functionsBrian Paul
We need to be sure to call the _mesa_unmap_teximage_pbo() function if we called _mesa_validate_pbo_teximage().
2009-09-16st/mesa: fix texture memory allocation bugBrian Paul
The following example caused an incorrect GL_OUT_OF_MEMORY error to be raised in glTexSubImage2D: glTexImage2D(level=0, width=32, height=32, pixels=NULL); glTexImage2D(level=0, width=64, height=64, pixels=NULL); glTexSubImage2D(level=0, pixels!=NULL); The second glTexImage2D() call needs to cause the first image to be deallocated then reallocated at the new size. This was not happening because we were testing for pixels==NULL too early.
2009-09-15mesa: move generate mipmap callsBrian Paul
Per the suggestion in the Intel driver, move the calls to ctx->Driver.GenerateMipmap() into core Mesa so that drivers don't have to worry about it.
2009-09-03st/mesa: silence uninitialized var warningsBrian Paul
2009-09-03st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell
State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
2009-09-03st/mesa: silence uninitialized var warningsBrian Paul
2009-09-03mesa: consolidate PBO map/unmap helpersBrian Paul
Instead of _mesa_map_readpix_pbo() use _mesa_map_pbo_source(). Instead of _mesa_map_drawpix_pbo() and _mesa_map_bitmap_pbo() use _mesa_map_pbo_dest().
2009-09-02st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell
State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
2009-08-05mesa/st: Add support for binding pipe surface to texture.Chia-I Wu
This commit adds functions to bind a pipe surface to a texture. This allows texturing directly from the surface. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-01mesa st: Move logbase2 function to util/u_math.hPatrice Mandin
2009-07-27st/mesa: silence warningBrian Paul
2009-07-16mesa: Fix logbase2.José Fonseca
It was providing 1 too many for non power two values.
2009-07-14mesa: Report the true face number when flushing.José Fonseca
2009-07-07gallium: Fixes for clobbering stencil values in combined depth/stencil textures.Michel Dänzer
Also fix one case where a 32 bit depth value was incorrectly converted to a combined depth/stencil value.
2009-07-02mesa: Assume depth textures have a single level unless told otherwise.José Fonseca
2009-06-30st/gl: Add stubs for CompressedTexSubImage[1D|3D]Jakob Bornecrantz
2009-06-30st/gl: Add support for glCompressedTexSubImageJakob Bornecrantz
2009-06-01mesa/st: restore flush to copy_texsubimage (was previously finish)Keith Whitwell
Need a flush here even though the original finish was overkill.
2009-06-01st/gl: Fix mip gen for compressed texturesJakob Bornecrantz
2009-05-08mesa/st: keep surface_copy arguments positiveKeith Whitwell
The src/dest x,y, and w,h arguments of the pipe->surface_copy function are unsigned and the drivers aren't expecting negative (or extremly-large unsigned) values as inputs. Trim the requests at the state-tracker level before passing down.