aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_draw.c
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: Initialise vertex element instance divisor to 0.Michal Krol2010-01-151-0/+2
|
* st/mesa: removed unused varBrian Paul2010-01-111-2/+0
|
* Merge branch 'gallium-edgeflags'Roland Scheidegger2009-12-221-80/+30
|\ | | | | | | | | Conflicts: src/mesa/state_tracker/st_draw.c
| * gallium: don't use edgeflags if the app didn't supply themRoland Scheidegger2009-12-191-0/+8
| |
| * gallium: edgeflags change fixesRoland Scheidegger2009-12-161-16/+22
| | | | | | | | | | | | use correct number of vertex inputs fix not running pipeline in case of edgeflags changes to mesa to tgsi translation still very broken
| * gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell2009-12-091-64/+0
| | | | | | | | | | | | | | | | | | | | The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
* | Merge branch 'i965g-restart'Keith Whitwell2009-12-221-4/+28
|\ \ | | | | | | | | | | | | Conflicts: configure.ac
| * | Merge commit 'origin/master' into i965g-restartKeith Whitwell2009-12-211-5/+15
| |\| | | | | | | | | | | | | | | | | | | Conflicts: SConstruct configs/default configs/linux-dri
| * | mesa/st: avoid quadstrips if its easy to do soKeith Whitwell2009-12-011-3/+26
| | | | | | | | | | | | Tristrips are easier for many drivers to handle.
| * | i965g: more work on compiling, particularly the brw_draw filesKeith Whitwell2009-10-251-1/+2
| | |
* | | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-211-2/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | Conflicts: src/mesa/main/version.h src/mesa/state_tracker/st_atom_shader.c
| * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchIan Romanick2009-12-151-2/+2
| |\ \ | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_quad_blend.c
| | * | st/mesa: Silence uninitialized variables warnings in st_draw.c.Vinson Lee2009-12-121-2/+2
| | |/
* | | Merge commit 'origin/st-shader-varients'Roland Scheidegger2009-11-261-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | Conflicts: src/mesa/state_tracker/st_atom_shader.c src/mesa/state_tracker/st_program.c
| * | mesa/st: refactor vertex and fragment shader translationKeith Whitwell2009-11-151-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate vertex shaders independently of fragment shaders. Previously tried to make fragment shader semantic indexes always start at zero and exclude holes. This was unnecessary but meant that vertex shader translation had to be adjusted to take this into account. Now use a fixed scheme for labelling special FS input semantics (color, etc), and another fixed scheme for the generics. With this, vertex shaders can be translated independently of the bound fragment shader, assuming mesa has done its own job and ensured that the vertex shader provides at least the inputs the fragment shader is looking for. The state-tracker didn't attempt to do anything about this previously, so it shouldn't be needed now.
* / st/mesa: comments for st_draw.cBrian Paul2009-11-151-4/+14
|/
* Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-241-3/+9
|\
| * st/mesa: trim calculated userbuffer sizeKeith Whitwell2009-09-231-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | In get_array_bounds we were previously defining a user buffer sized as (nr_vertices * stride). The trouble is that if the vertex data occupies less than stride bytes, the extra tailing (stride - size) bytes may extend outside the memory actually allocated by the app and caused a segfault. To fix this, define a the buffer bounds to be: ptr .. ptr + (nr-1)*stride + element_size
* | vbo: Avoid extra validation of DrawElements.Eric Anholt2009-08-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
* | st/mesa: fix setup_edgeflags() regressionBrian Paul2009-06-221-1/+3
| | | | | | | | | | stobj is now non-null for the default/null buffer object. Update the test to check the buffer ID to see if it's a real buffer object.
* | st: add support for GL_EXT_vertex_array_bgraBrian Paul2009-05-211-1/+12
|/
* st: silence warningBrian Paul2009-03-091-0/+2
|
* st: use pointer_to_offset() cast wrapper to convert pointers to uintBrian Paul2009-03-091-3/+3
| | | | Silences warnings with 64-bit builds. See comments for details.
* gallium: Unify reference counting.Michel Dänzer2009-03-041-5/+5
| | | | | | | | | | | | | | 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().
* mesa: consistantly use mesa memory-functions in gallium state trackerBrian Paul2009-02-121-1/+1
| | | | | Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-091-0/+2
| | | | | | | | | | | | | | | | | | 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
* mesa: fix offset problem with interleaved arraysAlan Hourihane2009-02-031-1/+1
|
* gallium: standardize on stride instead of pitch in the interfaceZack Rusin2009-01-271-3/+3
|
* Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane2008-12-151-225/+17
|\ | | | | | | | | | | Conflicts: src/gallium/winsys/gdi/SConscript
| * gallium: fix refcount bug introduced in eb20e2984Keith Whitwell2008-12-121-4/+5
| |
| * st: reduce unnecessary calls to pipe->set_vertex_buffers()Keith Whitwell2008-12-121-5/+14
| |
| * st: move feedback draw function to new fileKeith Whitwell2008-12-121-226/+8
| |
* | mesa: move declarationAlan Hourihane2008-12-121-1/+2
| |
* | mesa: when we have interleaved arrays, check bounds for bothAlan Hourihane2008-12-121-9/+8
|/ | | | VBO's and user space objects
* Mesa: fix number of buffers in st_draw_vbo().Pekka Paalanen2008-11-101-1/+1
| | | | | | | 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 <[email protected]>
* gallium: added check for degenerate drawing callsBrian Paul2008-11-051-0/+3
|
* gallium: if VERBOSE_GLSL flag is set, check for non-initialized uniforms at ↵Brian Paul2008-11-051-0/+27
| | | | | | | draw time This will warn the user that the shader being run may be using uninitialized uniform variables.
* Mesa: fix the case where there are no vertex attributes.Stephane Marchesin2008-10-071-0/+2
| | | | This is a backport of 8e8208d6db8b764568539784a6473d545dec2265 to gallium-0.1
* gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca2008-09-031-20/+20
| | | | | We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
* gallium: better support for user-space interleaved arraysBrian Paul2008-08-271-35/+100
| | | | | Basically, set up one user-space wrapper for all arrays instead of the individual arrays.
* gallium: in st_draw_vbo() try to detect interleaved arrays in a single VBO.Brian Paul2008-08-271-27/+149
|
* gallium: in st_draw_vbo() use ctx->Current.Attrib[] values when arrays are ↵Brian Paul2008-08-151-10/+21
| | | | | | missing/null fixes potential segfaults when vertex arrays are missing
* mesa: pf_sprint_name->pf_name.José Fonseca2008-08-071-2/+1
|
* gallium: check for FEATURE_feedback and FEATURE_drawpix when creating/using ↵Brian Paul2008-07-101-0/+2
| | | | the aux draw module
* gallium: move assertion (though not really significant)Brian Paul2008-07-071-1/+2
|
* gallium: simplify/fix buffer_offset, src_offset computation for VBO arraysBrian Paul2008-07-071-2/+21
| | | | Things broke when vertex position wasn't the first attribute.
* mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca2008-06-241-1/+1
|
* gallium: added support for fixed-point formats, drawingBrian Paul2008-06-231-2/+12
|
* draw: make sure constant buffer data is aligned before passing to aos.cKeith Whitwell2008-05-291-3/+4
|
* draw: draw_range_elements trialKeith Whitwell2008-05-291-4/+23
|