summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_context.c
AgeCommit message (Collapse)Author
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
2008-01-23gallium: restore/rewrite vbuf code for softpipeBrian
Now based on the draw_vbuf code, instead being a custom one-off. Disabled by default, enable with SP_VBUF env var.
2008-01-23gallium: overhaul usage of vertex_info in draw module.Brian
Remove all dependencies on vertex_info, except for draw_vbuf. Drawing stages now strictly operate on post-transformed vertices and don't know anything about hw vertices. Use vertex program output info for two-side/flat/etc stages. Temporarily disable vbuf module in softpipe driver.
2008-01-14Remove mapping fields from struct pipe_surface.Michel Dänzer
It's now the responsibility of surface users to keep track of their mappings.
2008-01-10clean-up comments, codeBrian
2008-01-10softpipe: map only once in softpipe_map_surfacesJerome Glisse
softpipe_map_surfaces get call several time but softpipe_unmap_surfaces get call only once. So to make sure stuff are properly unmap when softpipe_unmap_surfaces get call we map surfaces only one time in softpipe_map_surfaces.
2008-01-01unref const buffers during context destroyBrian
2008-01-01free surface caches in softpipe_destroy()Brian
2007-12-17gallium: incorporate alpha state into depth_stencil state object.Keith Whitwell
2007-12-13remove unused varBrian
2007-12-12PIPE_SCREEN_SURFACE no longer neededBrian
2007-12-11Rework gallium and mesa queries a little.Keith Whitwell
Add a 'CheckQuery()' driver callback to mesa to check query completion. Make pipe_query an opaque type. Rework softpipe queries, support overlapping occlusion queries.
2007-12-11gallium: remove set_sampler_units interfaceKeith Whitwell
The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
2007-12-11gallium: remove redundant clear_color state.Keith Whitwell
2007-12-11gallium: Remove feedback interfaces from pipe driver.Keith Whitwell
Something similar will return when geometry shaders are added, but for now this interface is not required.
2007-12-10Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian
surface, etc. Additional types may be added in the future.
2007-12-09gallium: use SSE by defaultJosé Fonseca
2007-12-07shorten loops over color bufsBrian
2007-12-07Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian
This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
2007-12-07add some whitespaceBrian
2007-12-07minor code movementBrian
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.
2007-11-18Implement early depth test.Michal Krol
Early depth test is enabled when depth test is enabled and alpha test is disabled and fragment shader does not write depth. The early-z is implemented by moving the depth test stage just before the fragment shader stage and prepending it with an earlyz stage, introduced with this commit. The earlyz stage prepares the quad->outputs.depth for the following depth test stage by interpolating Z position, just as the fragment shader would do.
2007-11-08Added pipe->get_paramf() to query float limits.Brian
So far max point size, line width, texture anistopy and lod bias.
2007-11-06remove dead code in softpipe_is_format_supported()Brian
2007-11-06Remove pipe->max_texture_size(), use get_param() instead.Brian
Also, in st_init_limits(), clamp driver's values against Mesa's internal limits.
2007-11-05Determine GL extensions/limits by making pipe queries.Brian
The state tracker calls pipe->get_param() to determine the GL limits and which OpenGL extensions are supported. This is an initial implementation that'll probably change...
2007-10-29Make gallium compile in win32.Michal Krol
Use FREE, MALLOC, CALLOC, GETENV wrappers. Silence compiler warnings. Add proper copyrights.
2007-10-28Replace supported_formats with is_format_supported interface.Michal Krol
The old supported_formats interface returned a list of formats supported by a pipe/winsys implementation. This was reasonable when gallium had a fixed list of predefined format. Now things has changed and the definition of PIPE_FORMAT is more flexible. The new shiny is_format_supported interface gets PIPE_FORMAT as an argument and returns a boolean whether this particular format is supported.
2007-10-28Use FREE and MALLOC instead of free and malloc.Michal Krol
2007-10-28Control FS TGSI dumping with GALLIUM_DUMP_FS env variable.michal
2007-10-28Fix newlines.michal
2007-10-27Call quad stage destructors.michal
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-10-25Move the get/put_tile() functions to pipe_context.Brian
The _rgba versions are temporary until the state tracker is updated.
2007-10-22Finish unifying the surface and texture tile caches.Brian
2007-10-20init sp->sbuf_cache to avoid possible segfaultBrian
2007-10-20Convert Z/stencil ops to use cached tiles like colors.Brian
Also, quite a bit of re-org of the tile caches and surface mapping/unmapping. Leave surfaces mapped between primitives now.
2007-10-18remove old commentBrian
2007-10-18sp_context.c:255: error: 'false' undeclared (first use in this function)Oliver McFadden
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
2007-10-01fix a few vert/frag program items to get i915 driver going againBrian
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-28Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin
This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-25First attempt at building vertex buffers post-clip.Keith Whitwell
Build a buffer of contigous vertices and indices at the backend of our software transformation/clipping path. This will become the mechanism for emitting buffers of vertices to rasterization hardware. This is similar to but not the same as the post-transform vertex cache. In particular, these vertices are subject to clipping, culling, poly offset, etc. The vertices emitted will all be used by hardware. TODOs include the actual transformation to hardware vertex formats, moving this out of softpipe to somewhere more useful and allowing >1 primitive to share the generated VB.
2007-09-21Make the alpha test state a cso.Zack Rusin
2007-09-21Silence a few warnings.Zack Rusin