summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe
AgeCommit message (Collapse)Author
2007-09-21Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.Brian
2007-09-21Make the alpha test state a cso.Zack Rusin
2007-09-21Silence a few warnings.Zack Rusin
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-20Fix failover state binding and convert the sampler to use the newZack Rusin
state constant state object semantics.
2007-09-20Convert depth_stencil state to the new semantics.Zack Rusin
2007-09-20Switch fragment/vertex shaders to the new caching semantics.Zack Rusin
Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
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-19Avoid redundant reallocation of the template.Zack Rusin
cso already allocated the template for us. Returning 0 means we have no driver specific representation and just want the template on the bind.
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-19Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin
Drivers can now create whatever they want from the state template. We use cso_state object to store the template (necessary during lookups), and the driver data. Convert blend state to the new semantics.
2007-09-19Finish up conversions of shaders to immutable objects.Zack Rusin
Create/Delete calls should be split since in create we'll be compiling them so we want to know which one it is (vertex/fragment).
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-18Fix some issues with perspective-corrected interpolation.Brian
In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match post-transform vertex info convention). More to be done there... In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide by zero happening in perspective_interpolation() tgsi_exec.c As it was, we were only getting perspective correction of texture coords used by the TGSI_TEX instruction since it does a homogeneous divide. Other coords/varyings were incorrect.
2007-09-18additional comments for tri_persp_coeff()Brian
2007-09-18Convert shader to an immutable state object.Zack Rusin
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-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-09-18Fix the warning.Zack Rusin
The const is there to enforce the immutable state of the object, which is in reality owned by the pipe so just cast away the constness.
2007-09-18Make sampler an immutable state object.Zack Rusin
Switch the sample to be an immutable state object.
2007-09-18First stab at immutable state objects (create/bind/delete)Zack Rusin
We want our state objects to be immutable, handled via the create/bind/delete calls instead of struct propagation. Only implementing the blend state to see how it would look like and work.
2007-09-17Remove non-meaningful region_idle() interfaceKeith Whitwell
This is already handled by the semanics of map(), etc.
2007-09-11Implement query object interface.Brian
This replaces the temporary occlusion counter functions we had before. Added new ctx->Driver.WaitQuery() function which should block until the result is ready. Sketch out some code for vertex transformation feedback counters.
2007-09-10vertex feedback functionsBrian
2007-09-10merge buffer_unreference(), buffer_reference()Brian
2007-09-10More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian
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 unhandled switch/case warningBrian
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-24Fix fragment program color output mapping (0=depth, 1=color)Brian
2007-08-24Add support for more surface types in sp_surface.cBrian
replace PIPE_FORMAT_U_L8_A8 with PIPE_FORMAT_U_A8_L8
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-23For the time being, interpolate Z in shade_quad() rather in the shader.Brian
This was causing trouble for the i915 driver.
2007-08-22Rework of shader constant buffers.Brian
They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.
2007-08-21Silence compiler warnings.michal
2007-08-21First pass at a fallback concept for pipe devices.Keith Whitwell
Creates a new pipe driver that feeds commands to either a hardware or software pipe depending on fallback state. Untested concept checkpoint. At this point it compiles.
2007-08-20move ALIGN16-related macros into p_compiler.hBrian
2007-08-20include draw_context.hBrian
2007-08-20minor clean-upsBrian