summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_rasterizer.c
AgeCommit message (Collapse)Author
2011-01-22st/mesa: update comment, use st_fb_orientation()Brian Paul
2010-10-27Track separate programs for each stageIan Romanick
The assumption is that all stages are the same program or that varyings are passed between stages using built-in varyings.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
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-05-14gallium: more work on ccw flag removalKeith Whitwell
The linux-debug target builds...
2010-03-31st/mesa: use BITFIELD64_BIT to access shader OutputsWritten in more placesBen Skeggs
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-06-19Merge branch 'ext-provoking-vertex'Brian Paul
Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
2009-06-01st/mesa: fix incorrect sprite origin when drawing to FBO/textureBrian Paul
Need to take the draw buffer's up/down orientation into consideration when setting the sprite_coord_mode field. Fixes inverted sprites when drawing into an FBO.
2009-05-28st: set pipe_rasterizer_state::flatshade_first according to provoking vertex ↵Brian Paul
state
2009-04-28mesa/st: remove duplicate offset calculationKeith Whitwell
2009-03-21gallium: remove remaining references to origin_lower_leftKeith Whitwell
2009-03-20gallium: remove use of origin_lower_leftBrian Paul
This was used to indicate OpenGL's lower-left origin for fragment window coordinates for polygon stipple and gl_FragCoord. Now: - fragment coordinate origin is always upper-left corner - GL polygon stipple is inverted and shifted before given to gallium - GL fragment programs that use INPUT[WPOS] are modified to use an inverted window coord which is placed in a temp register. Note: the origin_lower_left field still exists in pipe_rasterizer_state. Remove it when all the drivers, etc. no longer reference it.
2008-12-18gallium: fix two-sided lighting test in state trackerBrian Paul
This fixes two-sided lighting for vertex shaders.
2008-10-09mesa: rasterizer state depends on ST_NEW_VERTEX_PROGRAMBrian Paul
Check for per-vertex point size must be done when vertex program changes.
2008-09-17gallium: clean-up/fix msaa override in state trackerBrian Paul
2008-08-11gallium: added _NEW_PROGRAM to dependenciesBrian Paul
2008-07-15st: Silence compiler warnings on Windows.Michal Krol
2008-07-02mesa: fix issues around multisample enableRoland Scheidegger
multisample enable is enabled by default, however gl mandates multisample rendering rules only apply if there's also a multisampled buffer.
2008-05-02Some changed for non-C99 compilersAlan Hourihane
2008-04-02gallium: add a flag to turn on gl rasterization rulesKeith Whitwell
Use this to set up hardware rasterization (if your hardware can do it) or otherwise turn on various tweaks in the draw module. Currently only hooked up to point biasing code.
2008-04-02gallium: add temporary facility for rasterization-time clamping of point sizesKeith Whitwell
2008-03-14gallium: if point size not computed per vertex, apply size clamp immediately.Brian Paul
Fixes glean pointAtten failure.
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-25gallium: clamp line width when creating raster state objectBrian
2008-01-23gallium: fix computation of raster.point_size_per_vertex flagBrian
2008-01-16Fix a two-sided lighting bug (fixes samples/wave.c)Brian
2007-12-18fix bug on GL_VERTEX_PROGRAM_TWO_SIDE pathBrian
2007-12-14Added origin_lower_left field to pipe_rasterizer_stateBrian
This controls whether the window origin is considered to be the lower-left or upper-left corner. This effects computation of gl_FragCoord and the application of polygon stipple.
2007-10-22new flag to control psize (from vertex shader or fixed size)Brian
2007-10-22add support for sprite texcoord modesBrian
2007-10-22add point_sprite flag to rasterizer stateBrian
2007-09-19Convert the rasterizer cso to the new semantics.Zack Rusin
Basically make cso hold the driver specific struct, while managing the template.
2007-09-18Finishing up rename of the setup state to the rasterizer state.Zack Rusin