summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* gallium: added null ptr checkBrian2008-02-121-1/+1
|
* gallium: rename st_fragment_program's fs field to cso to match st_vertex_programBrian2008-02-127-11/+11
|
* gallium: move gen-mipmap global/static vars into st_contextBrian2008-02-122-28/+22
| | | | This fixes potential problems with multi-context programs.
* gallium: remove unused first_level param from st_texture_create()Brian2008-02-124-10/+5
|
* gallium: clean-up, simplification of mipmapped texturesBrian2008-02-124-64/+71
| | | | | | | | 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.
* gallium: take pitch/stride into account in mipmap generationBrian2008-02-111-1/+2
|
* gallium: comments about mipmap genBrian2008-02-111-0/+5
|
* gallium: implement software fallback for mipmap generationBrian2008-02-111-8/+60
| | | | | This is used when we can't render to the surface type of the texture (such as luminance/alpha).
* gallium: strip borders from textures passed to st_TexImage.Brian2008-02-111-3/+50
| | | | | Manipulate the unpack params to skip the border. Gallium drivers won't support texture borders.
* gallium: use _mesa_tex_target_to_face()Brian2008-02-111-21/+1
|
* gallium: include st_cb_drawpixels.hBrian2008-02-081-0/+1
|
* gallium: initial implemenation of auto mipmap generation in state trackerBrian2008-02-084-7/+414
| | | | | | Use hardware rendering to compute/render mipmap levels. The fallback path (which will be used for non-renderable texture formats) isn't working yet.
* gallium: added inClipCoords param to st_draw_vertices() to indicate coord ↵Brian2008-02-085-20/+28
| | | | | | system of vertices Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
* gallium: change pipe->texture_create() to operate like the CSO functionsBrian2008-02-061-18/+13
| | | | Now, pass in a template object and return a new object.
* clean-ups in guess_and_alloc_texture()Brian2008-02-061-6/+12
|
* plug in ctx->Driver.GenerateMipmap functionBrian2008-02-061-0/+2
|
* clean-upsBrian2008-02-061-38/+29
|
* added commentBrian2008-02-061-0/+1
|
* comments, clean-ups, constsBrian2008-02-062-16/+22
|
* clean-upBrian2008-02-061-12/+7
|
* gallium: add bitmap/drawpixels texcoord bias supportBrian2008-02-063-2/+10
| | | | | | | The state tracker will call pipe->get_paramf(PIPE_CAP_BITMAP_TEXCOORD_BIAS) to get a bias factor for adjusting the texcoords used in bitmap/drawpixels. This allows us to compensate for small differences in rasterization from one device to another.
* gallium: fix problem in which texcoords and varying vars got mapped to the ↵Brian2008-01-311-6/+16
| | | | | | same slot This fixes the glsl/bump.c and glsl/texdemo1.c programs
* Fix problem in mapping vertex program outputs (found with "spring" game engine)Brian2008-01-311-4/+6
| | | | | If the vertex program writes to an output that's not consumed by the fragment program, map the vp output to an unused slot.
* gallium: don't rely on assert(0) for error handling - may be disabledKeith Whitwell2008-01-291-0/+2
|
* gallium: check if surface has defined status in check_clear_depth_with_quad()Brian2008-01-281-1/+3
| | | | This was part of Keith's patch from Friday.
* gallium: minor cleanups to pipe interfaceKeith Whitwell2008-01-261-6/+29
| | | | | - Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
* gallium: add notify_swapbuffers_complete, use it to set surfaces to ↵Keith Whitwell2008-01-262-0/+21
| | | | undefined state
* gallium: specialize glFlush vs other flush semanticsKeith Whitwell2008-01-262-13/+38
|
* gallium: replace prim pipeline begin/end() functions with flush()Brian2008-01-252-29/+6
| | | | | | | | | | | | | This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
* gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell2008-01-256-18/+22
| | | | | | | | | | | 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.
* gallium: Simplify winsys buffer interface.Michel Dänzer2008-01-255-89/+86
| | | | | | The properties of a buffer represented by struct pipe_buffer_handle are now basically constant over its lifetime. The state tracker gets to deal with any more complex buffer semantics it may need to provide.
* gallium: added rastpos_destroy()Brian2008-01-251-0/+1
|
* gallium: added rastpos_destroy()Brian2008-01-241-0/+7
|
* gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian2008-01-232-10/+11
| | | | now.
* gallium: overhaul usage of vertex_info in draw module.Brian2008-01-231-0/+4
| | | | | | | | 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.
* gallium: s/INTERP_NONE/INTERP_LINEAR/ to fix assertion with ↵Brian2008-01-231-1/+1
| | | | progs/samples/select.c
* gallium: fix computation of raster.point_size_per_vertex flagBrian2008-01-231-1/+14
|
* gallium: use temp reg for storing color to avoid reading 'result.color'Brian2008-01-221-28/+37
|
* gallium: silence warningsBrian2008-01-212-3/+3
|
* Revert "temporarily don't emit TGSI immediates, use the constant buffer"José Fonseca2008-01-171-9/+2
| | | | This reverts commit 310e7ca44b33558a9aa22f43024d1bfb63642128.
* Back-port miscellaneous fixes from internal branch (mostly portability fixes).José Fonseca2008-01-172-0/+5
| | | | | | These are changes that are in our internal branch, but somehow were skipped so far. It was done using visual comparison of the branches -- it is likely that changes are being carried on the wrong way
* temporarily don't emit TGSI immediates, use the constant bufferBrian2008-01-171-2/+9
| | | | | This allows a few more programs to run and not crash. Need to get constant buffer uploads working...
* tweaks to quad drawing, set UsesKill in bitmap shaderBrian2008-01-161-12/+15
|
* Fix a two-sided lighting bug (fixes samples/wave.c)Brian2008-01-161-1/+8
|
* include pipe/draw/draw_context.hBrian2008-01-151-0/+1
|
* free stvp->draw_shaderBrian2008-01-141-1/+5
|
* Fix problems with vertex shaders and the private draw module.Brian2008-01-149-32/+43
| | | | | | | | The CSO returned by pipe->create_vs_state() can't be passed to the private draw module. That was causing glRasterPos to blow up. Add a 'draw_shader' field to st_vertex_program for use with the private draw module. Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
* Remove pipe->get/put_tile_rgba.Michel Dänzer2008-01-144-18/+20
| | | | | | | pipe_get/put_tile_rgba() now use pipe->get/put_tile internally. Also simplify the <format>_get/put_tile_rgba() helper functions and clean up some inconsitencies in them.
* Remove mapping fields from struct pipe_surface.Michel Dänzer2008-01-145-144/+19
| | | | It's now the responsibility of surface users to keep track of their mappings.
* gallium: Make texture target an enum for better debuggability.Michel Dänzer2008-01-043-5/+5
| | | | Also make enum pipe_format used in a couple more places.