summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_context.c
AgeCommit message (Collapse)Author
2010-07-29gallium: implement bounds checking for constant buffersBrian Paul
Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
2010-07-21draw: disable depth clipping if depth clamp is enabledMarek Olšák
2010-07-06draw: implement vertex texture sampling using llvmZack Rusin
2010-06-11gallium/softpipe/draw: support samplers in geometry shadersZack Rusin
2010-06-08gallium: basic and initial implementation of the stream output interfaceZack Rusin
aka transform feedback
2010-05-14gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell
Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.
2010-04-21draw: Make LLVM integration work without llvmpipe too (e.g. sofptipe).José Fonseca
Prevents the assertion failure.
2010-04-21gallium/draw: fix point sprite handlingBrian Paul
New draw API function to indicate whether or not to convert points to quads for sprite rasterization. Fix point-to-quad conversion regression in the wide-point stage. We need to check the pipe_rasterizer_state::point_quad_rasterization flag.
2010-04-20Merge branch 'gallium-index-bias'José Fonseca
2010-04-20draw llvm: Move dereference of pointer after NULL check.Vinson Lee
2010-04-19draw llvm: fix constructor messZack Rusin
use just one constructor to figure out whether to use llvm.
2010-04-19draw: Implement index bias.José Fonseca
2010-04-19Merge branch '7.8'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/drivers/llvmpipe/lp_context.c
2010-04-19gallium/draw: use correct rasterization state for wide/AA points/linesBrian Paul
When points or lines are decomposed into triangles, we need to be sure to disable polygon culling, stippling, "un-filled" modes, etc. This patch sets the rasterization state to disable those things prior to drawing points/lines with triangles, then restores the previous state afterward. The new piglit point-no-line-cull test checks this problem & solution.
2010-04-18draw: Cosmetic cleanups and comments.José Fonseca
2010-03-15Merge remote branch 'origin/master' into gallium_draw_llvmZack Rusin
2010-02-22gallium/draw: initial code to properly support llvm in the draw moduleZack Rusin
code generate big chunks of the vertex pipeline in order to speed up software vertex processing.
2010-02-22gallium: Remove bypass_vs_clip_and_viewport from rasteriser state.Michal Krol
Needs testing.
2010-02-02draw: add const qualifiers, fix return typesBrian Paul
2010-02-02draw: new, updated commentsBrian Paul
Try to avoid future confusion between different, but similar functions.
2010-01-28gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol
2010-01-28gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol
2010-01-27gallium/draw: Remove unnecessary headers.Vinson Lee
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21draw: Remove unnecessary headers.Vinson Lee
2010-01-16draw: Fix memory leak in gs codeJakob Bornecrantz
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-12-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
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).
2009-03-13gallium: consolidate bypass_vs and bypass_clipping flagsKeith Whitwell
The draw module provides a similar interface to the driver which is retained as various bits of hardware may be able to take on incremental parts of the vertex pipeline. However, there's no need to advertise all this complexity to the state tracker. There are basically two modes now - normal and passthrough/screen-coords.
2009-02-14draw: Fix segfault if rast is nullJakob Bornecrantz
2008-12-10Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-12-10gallium: added draw_set_mrd() function to fix polygon offsetBrian Paul
The Minimum Resolvable Depth factor depends on the driver and can't just be computed from the number of Z buffer bits. Glean's polygon offset test now passes with softpipe. Still need to determine the MRD factor for other gallium drivers, if they use the draw module's polygon offset stage...
2008-12-10draw: add const qualifiersKeith Whitwell
2008-12-04gallium: added draw_texture_samplers() to support texture fetches from ↵Brian
vertex shaders This may only be practical for the softpipe driver at this time.
2008-10-07draw: add switch for drivers to force vertex data passthroughKeith Whitwell
2008-08-25gallium: added const qualifiers on some draw funcsBrian
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
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-29draw: share machineKeith Whitwell
2008-05-23draw: move some state into a new 'vs' areaKeith Whitwell
2008-04-23gallium: fix issues in recursive flushingBrian Paul
When flushing/rendering, some stages (like AA line/point) need to set pipe/driver state. Those driver functions often call draw_flush(). That leads to recursion. Use new draw->suspend_flush flag to explicitly prevent that in the key places. Remove the draw->vcache_flushing field. Reuse draw->flushing as a debug/assertion var.
2008-04-22gallium: added a flushing_vcache flag, test in draw_do_flush()Brian Paul
Fixes broken polygon stipple, aaline, aapoint stages
2008-04-22Fix a crash. Rasterizer can be nullZack Rusin
2008-04-22draw: allow drivers to query pipeline state more easilyKeith Whitwell
Also, provide a separate flag to say whether the driver can handle clipping/rhw tasks, in addition to the API flag which indicates they have already been done.
2008-04-21gallium: Centralize SSE usage logic.José Fonseca
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-04-19draw: put pipeline flushing behind a new interfaceKeith Whitwell
2008-04-19draw: move some pipeline-specific code & state to draw_pipe.[ch]Keith Whitwell
2008-04-19draw: remove dead data structuresKeith Whitwell