summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_texture.c
AgeCommit message (Collapse)Author
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-01st/mesa: fix non-mipmap lastLevel calculation.Cooper Yuan
reviewed by 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-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.
2009-05-08mesa/st: remove redundant call to st_finish in CopyTexSubImageKeith Whitwell
Rendering should already have been flushed, any synchronization will be done by the driver or memory manager.
2009-04-28mesa/st: workaround for crashes in st_copy_texsubimageKeith Whitwell
Proper fix for this hasn't been identified, but avoid crashing.
2009-04-27mesa/st: fix incorrect face, level in compress_with_blitKeith Whitwell
We were incorrectly applying the destination texture face and level when requesting a transfer to the temporary texture, which has only one face and level. This would obviously cause problems uploading to compressed cube and mipmap textures.
2009-04-20mesa: Handle failure to create a transfer.José Fonseca
2009-04-17gallium: Create OGL state tracker wrappers for various CPU access operations.Thomas Hellstrom
There are two usage types of buffer CPU accesses: One where we try to use the buffer contents for multiple draw commands in a batch. (batch := sequence of commands that are flushed together), like incrementally adding bitmaps to a bitmap texture that is reallocated on flush. And one where we assume we can safely overwrite the old buffer contexts, like glTexSubImage. In this case we need to make sure all old drawing commands referencing the buffer are flushed before we map the buffer. This is easily forgotten. Add wrappers for the most common of these operations. The first type is prefixed with "st_no_flush" and the second type is prefixed with "st_cond_flush", where "cond" indicates that we attmpt to only flush if there is indeed unflushed draw commands referencing the buffer. Prefixed functions are screen::get_tex_transfer pipe_buffer_write pipe_buffer_read pipe_buffer_map Please use the wrappers whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-16Merge branch 'gallium-s3tc'José Fonseca
2009-04-15st: remove XXX commentBrian Paul
2009-04-15st: check for fast memcpy path in decompress_with_blit()Brian Paul
2009-04-15st: decompress_with_blit() path for glGetTexImage().Brian Paul
Decompress a texture by rendering a textured quad.
2009-04-15gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom
Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-14mesa: Fix gcc assembly enable logic.José Fonseca
The i386 symbol is defined on WINDDK.
2009-04-09st: remove another unneeded 'is compressed' comparisonBrian Paul
2009-04-09st: remove comp_byte parameter to st_texture_create()Brian Paul
We can determine if the texture is compressed by checking the format.
2009-04-09st: consolidate format->usage computationBrian Paul
2009-04-09st: add const qualifiers, use GL typesBrian Paul
2009-04-09st: make loops over 3D texture slices a litte more intuitiveBrian Paul
2009-04-09st: reformatting and clean-ups in texture codeBrian Paul
2009-04-09st: If the hw supports it do hw conversion of texture uploadsJakob Bornecrantz
2009-04-07st: implement glCopyTexImage() for GL_DEPTH24_STENCIL8 internal formatBrian Paul
2009-04-03mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new fileBrian Paul
2009-03-26st: init the default texture to (0,0,0,1)Brian Paul
The default texture is used when a sampler uses an incomplete texture. This change fixes the piglit fp-incomplete test.
2009-03-21st: Silence compiler warnings.Michal Krol