summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_gen_mipmap.c
AgeCommit message (Collapse)Author
2009-03-04gallium: Unify reference counting.Michel Dänzer
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-02-05gallium: No longer allow CPU mapping surfaces directly.Michel Dänzer
Instead, a new pipe_transfer object has to be created and mapped for transferring data between the CPU and a texture. This gives the driver more flexibility for textures in address spaces that aren't CPU accessible. This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows a black window. Looks like something's off related to the Z buffer, so the depth test always fails.
2009-02-02gallium: remove pipe_buffer from surfacesZack Rusin
this change disassociates, at least from the driver perspective, the surface from buffer. surfaces are technically now views on the textures so make it so by hiding the buffer in the internals of textures.
2009-01-14mesa: handle some cases of 0x0 render targetsAlan Hourihane
2008-09-26mesa: fix incorrect parameter orderBrian Paul
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-07-19gallium: Finer grained is_format_supported.José Fonseca
2008-06-27gallium: Drop pipe_texture->cpp and pipe_surface->cpp.José Fonseca
The chars-per-pixel concept falls apart with compressed and yuv images, where more than one pixel are coded in a single data block.
2008-06-20gallium: remove unneeded #includeBrian Paul
2008-05-20Merge branch 'gallium-0.1' into gallium-tex-surfacesBrian Paul
2008-05-20gallium: replace assignment with pipe_texture_reference()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-21gallium: Use CSO cache for shaders.Michel Dänzer
2008-03-24gallium: pass the filter mode to util_gen_mipmap().Brian
Remove util_gen_mipmap_filter() when no longer used.
2008-03-19gallium: implement CSO save/restore functions for use by meta operations ↵Brian
(blit, gen-mipmaps, quad-clear, etc) Also, additional cso_set_*() functions for viewport, framebuffer, blend color, etc. state.
2008-03-18gallium: fix typosBrian
2008-03-17gallium: use new gallium utility code for generating mipmapsBrian
2008-03-17gallium: set min_mip_filter = PIPE_TEX_MIPFILTER_NEARESTBrian Paul
Plus, comments, clean-ups.
2008-03-17gallium: in gen_mipmap, also set sampler lod_bias and do a flush() after ↵Brian Paul
rendering each level
2008-03-11gallium: rework CSO-related code in state trackerBrian
Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
2008-03-05gallium: michel's patch to rework texture/sampler binding interfaceKeith Whitwell
Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
2008-02-29gallium: change st->state.sampler_texture[] to store pipe_texture pointersBrian Paul
This is a better fix for the previous check-in. Fixes texadd.c conform test, and probably other bugs.
2008-02-27gallium: remove pipe_context->texture_create/release/get_tex_surface()Brian
These functions are now per-screen, not per-context.
2008-02-27gallium: move is_format_supported() to pipe_screen structBrian
2008-02-21gallium: fill in some blend/rasterizer template fields to make sure they're ↵Brian
all valid, even if not relevant
2008-02-20gallium: state tracker didn't always notify drivers of texobj data changesBrian
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.
2008-02-15Code reorganization: update build.José Fonseca
Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
2008-02-12gallium: rename st_fragment_program's fs field to cso to match st_vertex_programBrian
2008-02-12gallium: move gen-mipmap global/static vars into st_contextBrian
This fixes potential problems with multi-context programs.
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-11gallium: take pitch/stride into account in mipmap generationBrian
2008-02-11gallium: comments about mipmap genBrian
2008-02-11gallium: implement software fallback for mipmap generationBrian
This is used when we can't render to the surface type of the texture (such as luminance/alpha).
2008-02-08gallium: include st_cb_drawpixels.hBrian
2008-02-08gallium: initial implemenation of auto mipmap generation in state trackerBrian
Use hardware rendering to compute/render mipmap levels. The fallback path (which will be used for non-renderable texture formats) isn't working yet.