summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
AgeCommit message (Collapse)Author
2010-09-20draw: check bitshift against PIPE_MAX_SHADER_OUTPUSBrian Paul
2010-09-17gallium: rework handling of sprite_coord_enable stateBrian Paul
Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
2010-07-23draw: add small ybias factor for drawing wide pointsBrian Paul
Fixes minor rasterization error detected by some tests.
2010-06-16draw: handle some out of memory conditionsAlan Hourihane
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-19gallium/draw: use a local var to simplify some codeBrian Paul
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-13ffvertex: don't touch tex coords if coord replace is enabled.Dave Airlie
The fixed function vertex program shouldn't need to deal or touch tex coords if stuffing is enabled. Though I'm not 100% this won't break assumption made elsewhere it seems like the correct thing to do, and makes r300g point sprites a lot easier to implement. draw: fix point-sprite when vertex program is used. This commit regressed draw, so fix it as well to help bisection. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-02-04gallium: add point_quad_rasterization bit to rasterizer stateRoland Scheidegger
This determines if points should be rasterized according to GL point rules or as normal quads (GL point sprites / d3d points / d3d point sprites).
2010-02-03gallium: clean up point sprite rasterizer stateRoland Scheidegger
Don't need sprite coord origin per coord. Also, don't need separate sprite enable bit - if all coords have it diabled, then there are no point sprites (technically, there's a distinction in pre-GL3, but it only differs in having more leniency in clamping to max size, something the state tracker would need to handle and the hardware won't bother anyway). Also, use packed field for the per-coord enables. All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
2010-01-12gallium: remove point_size_min and point_size_max from rasterizer stateRoland Scheidegger
The state tracker is responsible for clamping to any graphics API enforced size min/max limits for both the static point_size setting as well as per vertex point size (in the vertex shader). Note that mesa state tracker didn't actually use these values.
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-07-31draw: fix-ups for point coord attributeBrian Paul
progs/glsl/pointcoord.c works again
2009-06-29gallium/draw: sketch out some missing pointcoord codeBrian Paul
The gl_PointCoord attribute is currently expected to be in the fog coord register's z/w components. This was never totally fleshed out though. This is just some placeholder code.
2009-06-01draw: reset extra_vp_outputs.slot to zero in widepoint_flush()Brian Paul
Fixes a crash when clearing the window with a quad after drawing large points. We were asking the draw module how many vertex shader outputs there were and got 3 instead of 2. This led to creating vertices with too many attributes and trying to read invalid memory. We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's flush functions already. This omission was just an oversight in the wide_point stage.
2009-04-28gallium/draw: add ability to print out active pipeline stagesKeith Whitwell
2008-09-17gallium: fix wide point / point coord semantic info (generic, not fog)Brian Paul
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-08-11gallium: emit sprite coords (gl_PointCoord)Brian Paul
2008-06-11draw: don't assume vertex position is in data[0]Keith Whitwell
2008-05-23draw: move some state into a new 'vs' areaKeith Whitwell
2008-04-21draw: propogate lots of errorsKeith Whitwell
2008-04-21draw: consolidate all the passthrough line/tri/point funcsKeith Whitwell
2008-04-19draw: move some pipeline-specific code & state to draw_pipe.[ch]Keith Whitwell
2008-04-19draw: rename pipeline files to draw_pipe_*Keith Whitwell