Age | Commit message (Collapse) | Author |
|
|
|
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...
|
|
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.
|
|
|
|
|
|
This allows us to remove most of the direct references to winsys in the state tracker.
|
|
Actually, the hack is still there and needs to be revisited, but I get a bit
further with compressed textures now.
|
|
|
|
make sure the tex format is actually supported by the driver.
|
|
These functions are now per-screen, not per-context.
|
|
This fixes at least one instance of dereferencing an invalid texture pointer.
|
|
Fixes gears being upside down on the box in demos/gearbox.
|
|
|
|
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.
|
|
Now, pass in a template object and return a new object.
|
|
|
|
- Remove put/get tile, just have users call put_tile_raw, etc directly.
- Remove surface_data call, just map it locally.
|
|
Also make enum pipe_format used in a couple more places.
|
|
It's state tracker specific / not really necessary anyway.
|
|
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
(un)mapping.
|
|
pipe->get_tex_surface() has to be used for access to texture image data.
|