summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw
AgeCommit message (Collapse)Author
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.
2007-08-24re-enable compute_clipmask() callBrian
2007-08-24Fixup include paths after renameKeith Whitwell
2007-08-23remove dead codeBrian
2007-08-23Vertex shader outputs are now tightly packed into the output slots.Brian
Fix softpipe vertex attribute setup. Also, update vs constants when the projection matrix changes (fixes samples/prim.c)
2007-08-23Need to copy header->edgeflags to tmp when creating new prim_header.Brian
Edge flags were random/undefined otherwise.
2007-08-23minor improvement to get_vertex() in-use flag settingBrian
2007-08-23fix an edgeflag logic error, see commentsBrian
2007-08-23fix incorrect vertex index for POLYGON drawingBrian
2007-08-23get rid of VERT_RESULT_ usageBrian
2007-08-23Checkpoint: new vertex/fragment attribute namingBrian
Replace VF_ATTRIB_x with TGSI_ATTRIB_x When converting mesa programs to TGSI programs, also convert the InputsRead and OutputsWritten to a mask of TGSI_ATTRIB_ bits. Still need to do conversion for vertex programs...
2007-08-23comment about code duplicationBrian
2007-08-23Checkpoint commit: i915 texture works, use new vertex_info structBrian
Basic i915 2D texturing seems to work now. The vertex format is determined from the current fragment shader.
2007-08-23Define a re-usable vertex_info structure to describe vertex layouts.Brian
This also includes legacy #defines for VF_ATTRIB_*, FRAG_ATTRIB_*, etc tokens. Those will go away eventually, but at least we no longer need vf/vf.h
2007-08-22more debug outputBrian
2007-08-22remove old draw_vertices()Brian