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-12-17Move the remaining format pf_get_* functions to u_format.h.Michal Krol
Previously they depended on format blocks, but after removing those they started depending on format encoding.
2009-12-17Merge branch 'master' into pipe-format-simplifyMichal Krol
Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
2009-12-03Move pf_get_bits/size() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_get_block() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_depth_and_stencil() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_depth_stencil() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_compressed() to u_format auxiliary module.Michal Krol
2009-11-30gallium: interface cleanups, remove nblocksx/y from pipe_texture and moreRoland Scheidegger
This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
2009-11-27Merge branch 'width0'Roland Scheidegger
Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
2009-11-19gallium: don't use arrays for texture width,height,depthKeith Whitwell
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