summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_draw.c
AgeCommit message (Collapse)Author
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
2007-12-18gallium: rationalize vertex_element state packetKeith Whitwell
Remove dst_offset (not used) Add nr_components, which could be calculated from format, but would be too much effort. Update i965 driver to cope.
2007-12-10XXX comments about some hard-coded values that need to be fixedBrian
2007-12-10Correct user VBO size.Ben Skeggs
2007-12-09gallium: support the full range of possible vertex typesKeith Whitwell
2007-12-09add fence interfaces and buffer create flags to pipe_winsyskeithw
2007-12-07New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl ↵Brian
module.
2007-12-05silence warningBrian
2007-11-21Replace draw_set_vertex_attributes() with simpler draw_set_vertex_info().Brian
Just pass in the vertex_info object and make a copy of it.
2007-11-16adjustments so st_feedback_draw_vbo() can be used for glRasterPosBrian
2007-11-06Supply buffer usage hints to winsys.José Fonseca
Winsys driver needs some hints in order to allocate the appropriate kind of memory for the buffer.
2007-10-31Use ffvertex_prog.c code instead of t_vp_build.c code.Brian
2007-10-29Remove typedefs from enums.Zack Rusin
typedefs are rather evil, remove them and use the enum keyword explicitely.
2007-10-24Fix glDrawElements + VBO rendering when ptr/offset is not zero.Brian
When an index VBO is bound, glDrawElement's indices pointer is really an offset into the element buffer. Add that offset to the prims[i].start value before calling pipe->draw_elements(). Fixes vbo.c conform test.