summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw
AgeCommit message (Collapse)Author
2007-10-15Change 'drawing' field to boolean.Brian
2007-10-15remove unused includesBrian
2007-10-11Init draw->prim = ~0Brian
We weren't rendering correctly if the first thing drawn was a point (PRIM_MODE_POINT=0).
2007-10-10added SSCALED cases in fetch_attrib4()Brian
2007-10-03Move XSTDCALL definition to p_compiler.hBrian
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
2007-10-03Unify the definitions of the 4 component dot product into oneZack Rusin
location.
2007-10-03Unify handling of userplanes and regular planes to simplifyZack Rusin
the clipping code. (really done by Keith)
2007-10-02remove dead codeBrian
2007-10-02Move tgsi machine state init/allocations so they're done less frequently.Brian
This, plus expanding all instructions ahead of time, seems to have improved the performance of program execution by 8x or so.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-28Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin
This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
2007-09-28Revert "Use sse only if GALLIUM_SSE is defined"Zack Rusin
This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-27fix mergekeithw
2007-09-27disable debugKeith Whitwell
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-25Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian
proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
2007-09-25test for presence of both front and back color vertex slotsBrian
2007-09-25remove unused lookup arrayBrian
2007-09-25First attempt at building vertex buffers post-clip.Keith Whitwell
Build a buffer of contigous vertices and indices at the backend of our software transformation/clipping path. This will become the mechanism for emitting buffers of vertices to rasterization hardware. This is similar to but not the same as the post-transform vertex cache. In particular, these vertices are subject to clipping, culling, poly offset, etc. The vertices emitted will all be used by hardware. TODOs include the actual transformation to hardware vertex formats, moving this out of softpipe to somewhere more useful and allowing >1 primitive to share the generated VB.
2007-09-25test against -1 for front/back attribkeithw
2007-09-21invert draw_vertex_cache_check_space()Brian
2007-09-20Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.Brian
Still need to produce decl instructions for vertex shaders...
2007-09-20remove old/used codeBrian
2007-09-20remove #includes of tgsi_attribs.hBrian
2007-09-20checkpoint: TGSI_ATTRIB_x tokens no longer usedBrian
2007-09-20Checkpoint: vertex attribute clean-up.Brian
Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
2007-09-20remove unused lookup[]Brian
2007-09-19Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian
TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
2007-09-18Checkpoint: rework shader input/output register mapping.Brian
This is a step toward removing TGSI_ATTRIB_ tokens. Basically, when translating Mesa programs to TGSI programs, pass in input and output register re-maps, plus interpolation info. There's some known breakage (cubemap.c) so more to be done...
2007-09-18Finishing up rename of the setup state to the rasterizer state.Zack Rusin
2007-09-18converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin
state
2007-09-10More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian
2007-09-06Initial work for post-transformed vertex feedback buffers.Brian
This will be used for: GL_NV_transform_feedback, or similar GL3 functionality glRasterPos GL selection/feedback modes
2007-09-06Initial work for post-transform vertex feedback buffers.Brian
This will be used for: GL_NV_transform_feedback, or GL3 equivalent. RasterPos GL select/feedback modes
2007-08-31move some protos from draw_vertex.h to draw_private.hBrian
2007-08-31Define attrib_format and interp_mode enum typedefs and use where appropriate.Brian
2007-08-30Consolidate vertex-related code in new draw_vertex.cBrian
A few functions which were basically duplicated between softpipe and the i915 driver are now re-used: draw_emit_vertex_attr() draw_compute_vertex_size()
2007-08-30Remove dependency on TGSI_ATTRIB_x tokens in draw_twoside.cBrian
Added a new draw_set_twoside_attributes() function for specifying which vertex attributes are to be copied/replaced when a polygon is back-facing.
2007-08-30fix breakage from prev commitBrian
2007-08-30In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors ↵Brian
to cpy. One less dependency on the TGSI_ATTRIB_x flags. This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
2007-08-30Fix lost edge flags problem when clipping.Brian
In emit_poly() we need to compute header.edgeflags from the vertex edge flags. Also need to set header.det so later stages can determine front/back orientation.
2007-08-30Sketch out per-vertex point size.Brian
The code is all in place, but mostly disabled for now: In t_vp_build.c, write the VERT_RESULT_PSIZE register In sp_state_derived.c, need to emit vertex point size if drawing points. In setup_point() use the point size from the vertex.
2007-08-27Split out vertex shader/cache/fetch functionality from draw_prim.cKeith Whitwell
2007-08-24Hook-up SSE2 to VS.michal
2007-08-24Fix user-defined clip planes. They seem to work properly now.Brian
The bits for the N user-defined planes are now set in the vertex_header->clipmask. See some detailed comments about this in the clip_line() function. CLIP_USER_BIT no longer exists.