summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
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.
2008-02-08gallium: added inClipCoords param to st_draw_vertices() to indicate coord ↵Brian
system of vertices Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
2008-02-06gallium: change pipe->texture_create() to operate like the CSO functionsBrian
Now, pass in a template object and return a new object.
2008-02-06clean-ups in guess_and_alloc_texture()Brian
2008-02-06plug in ctx->Driver.GenerateMipmap functionBrian
2008-02-06clean-upsBrian
2008-02-06added commentBrian
2008-02-06comments, clean-ups, constsBrian
2008-02-06clean-upBrian
2008-02-06gallium: add bitmap/drawpixels texcoord bias supportBrian
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.
2008-01-31gallium: fix problem in which texcoords and varying vars got mapped to the ↵Brian
same slot This fixes the glsl/bump.c and glsl/texdemo1.c programs
2008-01-31Fix problem in mapping vertex program outputs (found with "spring" game engine)Brian
If the vertex program writes to an output that's not consumed by the fragment program, map the vp output to an unused slot.
2008-01-29gallium: don't rely on assert(0) for error handling - may be disabledKeith Whitwell
2008-01-28gallium: check if surface has defined status in check_clear_depth_with_quad()Brian
This was part of Keith's patch from Friday.
2008-01-26gallium: minor cleanups to pipe interfaceKeith Whitwell
- Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
2008-01-26gallium: add notify_swapbuffers_complete, use it to set surfaces to ↵Keith Whitwell
undefined state
2008-01-26gallium: specialize glFlush vs other flush semanticsKeith Whitwell
2008-01-25gallium: replace prim pipeline begin/end() functions with flush()Brian
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.
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-25gallium: Simplify winsys buffer interface.Michel Dänzer
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.
2008-01-25gallium: added rastpos_destroy()Brian
2008-01-24gallium: added rastpos_destroy()Brian
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
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-23gallium: s/INTERP_NONE/INTERP_LINEAR/ to fix assertion with ↵Brian
progs/samples/select.c
2008-01-23gallium: fix computation of raster.point_size_per_vertex flagBrian
2008-01-22gallium: use temp reg for storing color to avoid reading 'result.color'Brian
2008-01-21gallium: silence warningsBrian
2008-01-17Revert "temporarily don't emit TGSI immediates, use the constant buffer"José Fonseca
This reverts commit 310e7ca44b33558a9aa22f43024d1bfb63642128.
2008-01-17Back-port miscellaneous fixes from internal branch (mostly portability fixes).José Fonseca
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
2008-01-17temporarily don't emit TGSI immediates, use the constant bufferBrian
This allows a few more programs to run and not crash. Need to get constant buffer uploads working...
2008-01-16tweaks to quad drawing, set UsesKill in bitmap shaderBrian
2008-01-16Fix a two-sided lighting bug (fixes samples/wave.c)Brian
2008-01-15include pipe/draw/draw_context.hBrian
2008-01-14free stvp->draw_shaderBrian
2008-01-14Fix problems with vertex shaders and the private draw module.Brian
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.
2008-01-14Remove pipe->get/put_tile_rgba.Michel Dänzer
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.
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-04gallium: Make texture target an enum for better debuggability.Michel Dänzer
Also make enum pipe_format used in a couple more places.
2008-01-01unref buffer after drawing, fixes rastpos mem leakBrian
2008-01-01unref const buffers during context destroyBrian
2007-12-20gallium: make state tracker explictly ask for rendercache flushesKeith Whitwell
2007-12-20gallium: translate ARB fp/vp immediates consistently to tgsi immediatesKeith Whitwell
2007-12-19Add some prototype code for converting RET to END for main(). Disabled for now.Brian
2007-12-19Fix problem with initial viewport/scissor size.Brian
If an app never called glViewport, the viewport size was always 0 by 0 pixels. Now pass initial size to st_create_framebuffer() and initialize the viewport and scissor bounds in st_make_current(). This could also be fixed by ensuring the gl_framebuffers passed to _mesa_make_current() were initialized to the right size. But that involves allocating the renderbuffers/pipe_surfaces earlier and that runs into some other issues ATM. Also remove obsolete createRenderbuffers param to st_create_framebuffer().
2007-12-19convert Mesa OPCODE_END to TGSI_OPCODE_END, not TGSI_OPCOD_RETBrian
2007-12-19special-case PSIZE tooBrian
2007-12-19new assertionsBrian
2007-12-19actually set the max_index. useful in the driverZack Rusin