summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_texture.c
AgeCommit message (Collapse)Author
2008-05-08gallium: fix out of tex memory crashesBrian Paul
2008-05-07gallium: fix some render to texture bugsBrian Paul
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...
2008-05-02gallium: Add texture usage flags, special-case allocation of display targetsKeith Whitwell
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.
2008-05-01gallium: use screen->tex_surface_release()Brian Paul
2008-05-01gallium: tex surface checkpointKeith Whitwell
2008-04-30gallium: use new buffer wrapper functions in p_inlines.hBrian Paul
This allows us to remove most of the direct references to winsys in the state tracker.
2008-04-25gallium: fix the compressed texture hack in st_texture_image_copy()Brian Paul
Actually, the hack is still there and needs to be revisited, but I get a bit further with compressed textures now.
2008-03-27gallium: fix Element() macro redefinition warningBrian
2008-02-28gallium: added a texture format sanity check/assertion in st_texture_create()Brian Paul
make sure the tex format is actually supported by the driver.
2008-02-27gallium: remove pipe_context->texture_create/release/get_tex_surface()Brian
These functions are now per-screen, not per-context.
2008-02-20gallium: replace some ordinary assignments with pipe_reference_texture()Brian
This fixes at least one instance of dereferencing an invalid texture pointer.
2008-02-13gallium: pipe->surface_copy can flip the contents vertically when necessary.Michel Dänzer
Fixes gears being upside down on the box in demos/gearbox.
2008-02-12gallium: remove unused first_level param from st_texture_create()Brian
2008-02-12gallium: clean-up, simplification of mipmapped texturesBrian
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.
2008-02-06gallium: change pipe->texture_create() to operate like the CSO functionsBrian
Now, pass in a template object and return a new object.
2008-02-06comments, clean-ups, constsBrian
2008-01-26gallium: minor cleanups to pipe interfaceKeith Whitwell
- Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
2008-01-04gallium: Make texture target an enum for better debuggability.Michel Dänzer
Also make enum pipe_format used in a couple more places.
2007-12-11Remove internal_format field from struct pipe_texture.Michel Dänzer
It's state tracker specific / not really necessary anyway.
2007-12-07Eliminate struct pipe_region.Michel Dänzer
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
2007-12-06Hide texture layout details from the state tracker.Michel Dänzer
pipe->get_tex_surface() has to be used for access to texture image data.