summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_state_derived.c
AgeCommit message (Collapse)Author
2008-01-23gallium: rename FORMAT_x to EMIT_x and use EMIT_ALL to emit whole vertex ↵Brian
as-is in vbuf code
2008-01-23gallium: improved vertex layout and interpolant setup in softpipeBrian
2008-01-23gallium: rework compute_vertex_layout() to intelligently map vs outputs to ↵Brian
fs inputs Some follow-on simplification in prim setup is possible...
2008-01-23gallium: restore/rewrite vbuf code for softpipeBrian
Now based on the draw_vbuf code, instead being a custom one-off. Disabled by default, enable with SP_VBUF env var.
2008-01-23gallium: overhaul usage of vertex_info in draw module.Brian
Remove all dependencies on vertex_info, except for draw_vbuf. Drawing stages now strictly operate on post-transformed vertices and don't know anything about hw vertices. Use vertex program output info for two-side/flat/etc stages. Temporarily disable vbuf module in softpipe driver.
2008-01-21gallium: add a src_index[] array to draw's vertex_info for mapping ↵Brian
post-xform vertex attribs to hw vertex attribs
2008-01-01Clean-up, re-org some vertex/fragment shader state code.Brian
2007-12-18fix some semantic info mix-ups in calculate_vertex_layout()Brian
2007-12-17gallium: incorporate alpha state into depth_stencil state object.Keith Whitwell
2007-12-14Don't always declare frag shader INPUT[0] as fragment position.Brian
We were doing this for the sake of softpipe and the tgsi intergrepter since we always need the fragment position and W-coordinate information in order to compute fragment interpolants. But that's not appropriate for hardware drivers. The tgsi interpreter now get x,y,w information from a separate tgsi_exec_vector variable setup by softpipe. The new pipe_shader_state->input_map[] defines how vert shader outputs map to frag shader inputs. It may go away though, since one can also examine the semantic label on frag shader input[0] to figure things out.
2007-11-23gallium: remove sp_headers.h references.Michal Krol
2007-11-23gallium: reorg tgsi directories.Michal Krol
2007-11-21Replace draw_set_vertex_attributes() with simpler draw_set_vertex_info().Brian
Just pass in the vertex_info object and make a copy of it.
2007-10-29fix bad fragment shader pointer assignmentBrian
2007-10-29Remove typedefs from enums.Zack Rusin
typedefs are rather evil, remove them and use the enum keyword explicitely.
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-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-21fix some post-transform vertex layout issues (bcolors, psize emitted lastBrian
2007-09-21Fix up some point size breakage. Start on fogcoord too.Brian
2007-09-21Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.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 #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-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-18Convert shader to an immutable state object.Zack Rusin
2007-09-18converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin
state
2007-09-18Combing depth and stencil objects and making them immutable.Zack Rusin
Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
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-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-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-24Fixup include paths after renameKeith Whitwell
2007-08-23Use vertex_info struct for softpipe - lots of clean-up.Brian
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-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-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-20Move guts of vertex array drawing into the 'draw' module.Brian
2007-08-18more work on vertex shaders, now using vertex shaders instead of TnL module ↵Brian
by default
2007-08-16Break mesa dependencies.michal
Silence compiler warnings.
2007-08-15Hook in new draw_arrays() code, disabled for now.Brian
2007-08-15Add UsageMask to DECLARATION in TGSI.michal
Interpolate FS attributes in the shader. Do not copy WPOS in FS.
2007-08-14Continue reducing dependencies on core mesa include files.Keith Whitwell
Mainly down to the support for legacy TNL processing now.
2007-07-27Clip triangles against softpipe->cliprect which includes scissor and surface ↵Brian
bounds. This prevents rendering out of bounds when the viewport is partially outside the surface bounds.
2007-07-27Maintain cliprect (scissor) info in sp_state_derived.c.Brian
The cliprect depends on the scissor rect (if enabled), otherwise the drawing surface bounds.
2007-07-24Add VF_ATTRIB_VAR0..7 for varying variables.Brian
The demos/fslight.c demo runs now.
2007-07-24Compute need_z and need_w properly and use the correct ↵Brian
const/linear/perspective interpolation in shade_quad().
2007-07-24Fix a typo (i << i) that was fouling up the vertex layout info.Brian