aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_texture.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: fix some render to texture bugsBrian Paul2008-05-071-0/+16
| | | | | | | | | | | | | | | Before, we were sometimes rendering into a stale texture because st_finalize_texture() would discard the old texture and create a new one. Moved st_update_framebuffer atom after texture validation so that we can create a new renderbuffer surface if the texture changes. Also, split texture validation into two parts: finalize_textures and update_textures. Do finalize_textures first to avoid getting into the situtation where we're doing a pipe->surface_copy() mid-way through state validation. Some debug code still in place, but disabled...
* gallium: Add texture usage flags, special-case allocation of display targetsKeith Whitwell2008-05-021-1/+3
| | | | | | | | | | | For many envirionments it's necessary to allocate display targets in a window-system friendly manner. Add facilities so that a driver can tell if a texture is likely to be used to generate a display surface and if use special allocation paths if necessary. Hook up softpipe to call into the winsys->surface_alloc_storage() routine in this case, though we probably want to change that interface slightly also.
* gallium: use screen->tex_surface_release()Brian Paul2008-05-011-2/+2
|
* gallium: tex surface checkpointKeith Whitwell2008-05-011-11/+23
|
* gallium: use new buffer wrapper functions in p_inlines.hBrian Paul2008-04-301-1/+0
| | | | This allows us to remove most of the direct references to winsys in the state tracker.
* gallium: fix the compressed texture hack in st_texture_image_copy()Brian Paul2008-04-251-3/+2
| | | | | Actually, the hack is still there and needs to be revisited, but I get a bit further with compressed textures now.
* gallium: fix Element() macro redefinition warningBrian2008-03-271-0/+2
|
* gallium: added a texture format sanity check/assertion in st_texture_create()Brian Paul2008-02-281-0/+1
| | | | make sure the tex format is actually supported by the driver.
* gallium: remove pipe_context->texture_create/release/get_tex_surface()Brian2008-02-271-6/+10
| | | | These functions are now per-screen, not per-context.
* gallium: replace some ordinary assignments with pipe_reference_texture()Brian2008-02-201-3/+6
| | | | This fixes at least one instance of dereferencing an invalid texture pointer.
* gallium: pipe->surface_copy can flip the contents vertically when necessary.Michel Dänzer2008-02-131-0/+1
| | | | Fixes gears being upside down on the box in demos/gearbox.
* gallium: remove unused first_level param from st_texture_create()Brian2008-02-121-4/+2
|
* gallium: clean-up, simplification of mipmapped texturesBrian2008-02-121-9/+26
| | | | | | | | Remove pipe_texture->first_level (always implicitly zero). This means there's never any unused mipmap levels at the top. In the state tracker, we no longer re-layout mipmapped textures if the MinLod/MaxLod texture parameters change. It's up to the driver to obey the pipe_sampler->min/max_lod clamps.
* gallium: change pipe->texture_create() to operate like the CSO functionsBrian2008-02-061-18/+13
| | | | Now, pass in a template object and return a new object.
* comments, clean-ups, constsBrian2008-02-061-12/+18
|
* gallium: minor cleanups to pipe interfaceKeith Whitwell2008-01-261-6/+29
| | | | | - Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
* gallium: Make texture target an enum for better debuggability.Michel Dänzer2008-01-041-2/+2
| | | | Also make enum pipe_format used in a couple more places.
* Remove internal_format field from struct pipe_texture.Michel Dänzer2007-12-111-4/+2
| | | | It's state tracker specific / not really necessary anyway.
* Eliminate struct pipe_region.Michel Dänzer2007-12-071-5/+4
| | | | | Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
* Hide texture layout details from the state tracker.Michel Dänzer2007-12-061-0/+276
pipe->get_tex_surface() has to be used for access to texture image data.