summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_draw.c
AgeCommit message (Collapse)Author
2009-03-09st: silence warningBrian Paul
2009-03-09st: use pointer_to_offset() cast wrapper to convert pointers to uintBrian Paul
Silences warnings with 64-bit builds. See comments for details.
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-12mesa: consistantly use mesa memory-functions in gallium state trackerBrian Paul
Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
2009-02-09mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul
Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
2009-02-03mesa: fix offset problem with interleaved arraysAlan Hourihane
2009-01-27gallium: standardize on stride instead of pitch in the interfaceZack Rusin
2008-12-15Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
Conflicts: src/gallium/winsys/gdi/SConscript
2008-12-12mesa: move declarationAlan Hourihane
2008-12-12mesa: when we have interleaved arrays, check bounds for bothAlan Hourihane
VBO's and user space objects
2008-12-12gallium: fix refcount bug introduced in eb20e2984Keith Whitwell
2008-12-12st: reduce unnecessary calls to pipe->set_vertex_buffers()Keith Whitwell
2008-12-12st: move feedback draw function to new fileKeith Whitwell
2008-11-10Mesa: fix number of buffers in st_draw_vbo().Pekka Paalanen
The clean-up call to pipe->set_vertex_buffers() should use the same number of buffers as the first call. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-11-05gallium: added check for degenerate drawing callsBrian Paul
2008-11-05gallium: if VERBOSE_GLSL flag is set, check for non-initialized uniforms at ↵Brian Paul
draw time This will warn the user that the shader being run may be using uninitialized uniform variables.
2008-10-07Mesa: fix the case where there are no vertex attributes.Stephane Marchesin
This is a backport of 8e8208d6db8b764568539784a6473d545dec2265 to gallium-0.1
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-08-27gallium: better support for user-space interleaved arraysBrian Paul
Basically, set up one user-space wrapper for all arrays instead of the individual arrays.
2008-08-27gallium: in st_draw_vbo() try to detect interleaved arrays in a single VBO.Brian Paul
2008-08-15gallium: in st_draw_vbo() use ctx->Current.Attrib[] values when arrays are ↵Brian Paul
missing/null fixes potential segfaults when vertex arrays are missing
2008-08-07mesa: pf_sprint_name->pf_name.José Fonseca
2008-07-10gallium: check for FEATURE_feedback and FEATURE_drawpix when creating/using ↵Brian Paul
the aux draw module
2008-07-07gallium: move assertion (though not really significant)Brian Paul
2008-07-07gallium: simplify/fix buffer_offset, src_offset computation for VBO arraysBrian Paul
Things broke when vertex position wasn't the first attribute.
2008-06-24mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca
2008-06-23gallium: added support for fixed-point formats, drawingBrian Paul
2008-05-29draw: make sure constant buffer data is aligned before passing to aos.cKeith Whitwell
2008-05-29draw: draw_range_elements trialKeith Whitwell
2008-05-02Some changed for non-C99 compilersAlan Hourihane
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-25gallium: remove unused st_draw_vertices()Brian Paul
2008-04-24gallium: fix an edgeflags crashBrian Paul
2008-04-24gallium: initial edgeflags codeBrian Paul
2008-04-19draw: move incoming vertex state into draw->ptKeith Whitwell
This state is effectively private to the vertex processing part of the draw module.
2008-03-29gallium: Set vertex state/buffers en-mass.Brian Paul
2008-03-27gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBSBrian
The later follows the naming scheme of other limits. Keep the old definition until all possible usage is updated.
2008-03-19gallium: remove old commented-out codeBrian
2008-03-13gallium: remove semantic info from pipe_shader_stateBrian Paul
Brian's patch to clean up the shader interfaces.
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-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-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-01-29gallium: don't rely on assert(0) for error handling - may be disabledKeith Whitwell
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-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-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-01unref buffer after drawing, fixes rastpos mem leakBrian
2007-12-19actually set the max_index. useful in the driverZack Rusin