aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_atom_texture.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: assorted state tracker fixes for > 8 texture samplersBrian Paul2009-01-021-1/+1
|
* gallium: check vertex shaders for samplers/texture usage as we do for ↵Brian2008-12-041-6/+14
| | | | fragment shaders
* gallium: use a default texture in update_textures(), update_samplers() when ↵Brian Paul2008-08-141-11/+23
| | | | | | | needed The default texture is used when the current fragment shader has texture sample instructions but the user has not provided/bound a texture.
* gallium: fix some render to texture bugsBrian Paul2008-05-071-30/+50
| | | | | | | | | | | | | | | 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: Reallocate pipe_texture in st_TexImage if the texture object was used.Michel Dänzer2008-05-021-0/+2
| | | | Fixes problems with interleaved glTexImage and rendering calls.
* Some changed for non-C99 compilersAlan Hourihane2008-05-021-10/+5
|
* gallium: use simple color pass-through fragment shader if textures don't existBrian Paul2008-04-251-2/+28
| | | | | | | If we run out of texture memory we may not have the texture needed by the fragment shader. If this happens, plug in a color passthrough shader. So instead of crashing, we just don't see the texture. GL_OUT_OF_MEMORY is raised, of course.
* gallium: adjust the code in update_textures() to look more like ↵Brian2008-04-041-8/+7
| | | | update_samplers()
* gallium: check SamplersUsed to determine if texture needed, as in ↵Brian Paul2008-03-241-16/+15
| | | | | | | st_atom_sampler.c Otherwise, we were sometimes setting texture state but not the corresponding sampler state.
* gallium: catch some out of memory conditions in the texture image code.Brian Paul2008-03-201-1/+4
| | | | | st_finalize_texture()'s return code now indicates success/fail instead of presence of texture border (which we discard earlier).
* gallium: add face, dirtyLevels params to pipe->texture_update()Brian Paul2008-03-191-5/+0
| | | | | This provides better information about which images in texture object have changed. Also, call texture_update() from more places previously missed.
* gallium: michel's patch to rework texture/sampler binding interfaceKeith Whitwell2008-03-051-6/+9
| | | | | Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
* gallium: change st->state.sampler_texture[] to store pipe_texture pointersBrian Paul2008-02-291-8/+6
| | | | | This is a better fix for the previous check-in. Fixes texadd.c conform test, and probably other bugs.
* gallium: fix update_textures() bug in pipe_texture binding logicBrian Paul2008-02-291-1/+3
| | | | | The 'st' pointer might not have changed, but st->pt might have. The dirtyData flag will indicate when that's happened, so check it.
* gallium: new pipe->texture_update() functionBrian2008-02-201-4/+10
| | | | | Called whenever texture data is changed (glTexImage, glTexSubImage, glCopyTexSubImage, etc).
* gallium: state tracker didn't always notify drivers of texobj data changesBrian2008-02-201-9/+9
| | | | | | | | Calling glTexSubImage() or glTexImage() to replace texture data didn't reliably cause pipe->set_sampler_texture() to get called so drivers didn't always get notified of new texture data. The st_texture_object->pt pointer doesn't always indicate changed data so added a dirtyData field.
* added commentBrian2008-02-061-0/+1
|
* clean-upBrian2008-02-061-12/+7
|
* gallium: remove set_sampler_units interfaceKeith Whitwell2007-12-111-11/+21
| | | | | The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
* Hide texture layout details from the state tracker.Michel Dänzer2007-12-061-7/+7
| | | | pipe->get_tex_surface() has to be used for access to texture image data.
* silence the finalize_mipmap_tree msgBrian2007-11-011-0/+2
|
* add names to tracked state atoms to improve debugkeithw2007-08-251-0/+1
|
* fix some issues with texture/mipmap_tree state trackingBrian2007-08-131-4/+5
|
* debug infoBrian2007-08-071-0/+5
|
* plug in texture/sampler state updateBrian2007-08-071-1/+4
|
* texture image state handlingBrian2007-08-071-0/+76