summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/softpipe
Commit message (Collapse)AuthorAgeFilesLines
* Checkpoint: vertex attribute clean-up.Brian2007-09-203-9/+10
| | | | | Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
* Fix failover state binding and convert the sampler to use the newZack Rusin2007-09-202-18/+9
| | | | state constant state object semantics.
* Convert depth_stencil state to the new semantics.Zack Rusin2007-09-202-19/+11
|
* Switch fragment/vertex shaders to the new caching semantics.Zack Rusin2007-09-202-23/+15
| | | | | Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
* Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian2007-09-192-44/+56
| | | | | | | | 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.
* Avoid redundant reallocation of the template.Zack Rusin2007-09-191-5/+4
| | | | | | cso already allocated the template for us. Returning 0 means we have no driver specific representation and just want the template on the bind.
* Convert the rasterizer cso to the new semantics.Zack Rusin2007-09-192-15/+11
| | | | | Basically make cso hold the driver specific struct, while managing the template.
* Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin2007-09-192-8/+8
| | | | | | 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.
* Finish up conversions of shaders to immutable objects.Zack Rusin2007-09-191-4/+6
| | | | | 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).
* Checkpoint: rework shader input/output register mapping.Brian2007-09-181-0/+8
| | | | | | | 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...
* Fix some issues with perspective-corrected interpolation.Brian2007-09-181-5/+4
| | | | | | | | | | 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.
* additional comments for tri_persp_coeff()Brian2007-09-181-0/+4
|
* Convert shader to an immutable state object.Zack Rusin2007-09-186-19/+41
|
* Finishing up rename of the setup state to the rasterizer state.Zack Rusin2007-09-183-3/+3
|
* converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin2007-09-188-32/+56
| | | | state
* Combing depth and stencil objects and making them immutable.Zack Rusin2007-09-189-63/+70
| | | | | Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
* Fix the warning.Zack Rusin2007-09-181-1/+1
| | | | | | 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.
* Make sampler an immutable state object.Zack Rusin2007-09-184-11/+36
| | | | Switch the sample to be an immutable state object.
* First stab at immutable state objects (create/bind/delete)Zack Rusin2007-09-187-19/+42
| | | | | | | 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.
* Remove non-meaningful region_idle() interfaceKeith Whitwell2007-09-171-7/+0
| | | | This is already handled by the semanics of map(), etc.
* Implement query object interface.Brian2007-09-113-13/+39
| | | | | | 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.
* vertex feedback functionsBrian2007-09-101-0/+72
|
* merge buffer_unreference(), buffer_reference()Brian2007-09-102-4/+5
|
* More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian2007-09-105-0/+41
|
* Define attrib_format and interp_mode enum typedefs and use where appropriate.Brian2007-08-312-5/+5
|
* Consolidate vertex-related code in new draw_vertex.cBrian2007-08-301-32/+14
| | | | | | | 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()
* Remove dependency on TGSI_ATTRIB_x tokens in draw_twoside.cBrian2007-08-301-6/+19
| | | | | Added a new draw_set_twoside_attributes() function for specifying which vertex attributes are to be copied/replaced when a polygon is back-facing.
* fix unhandled switch/case warningBrian2007-08-301-0/+4
|
* In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors ↵Brian2007-08-303-8/+7
| | | | | | | 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().
* Sketch out per-vertex point size.Brian2007-08-302-3/+16
| | | | | | | 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.
* Fix fragment program color output mapping (0=depth, 1=color)Brian2007-08-241-2/+2
|
* Add support for more surface types in sp_surface.cBrian2007-08-241-0/+364
| | | | replace PIPE_FORMAT_U_L8_A8 with PIPE_FORMAT_U_A8_L8
* Fixup include paths after renameKeith Whitwell2007-08-244-4/+4
|
* Use vertex_info struct for softpipe - lots of clean-up.Brian2007-08-233-62/+51
|
* Vertex shader outputs are now tightly packed into the output slots.Brian2007-08-231-30/+3
| | | | | Fix softpipe vertex attribute setup. Also, update vs constants when the projection matrix changes (fixes samples/prim.c)
* Checkpoint: new vertex/fragment attribute namingBrian2007-08-233-46/+46
| | | | | | | 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...
* Checkpoint commit: i915 texture works, use new vertex_info structBrian2007-08-231-61/+1
| | | | | Basic i915 2D texturing seems to work now. The vertex format is determined from the current fragment shader.
* For the time being, interpolate Z in shade_quad() rather in the shader.Brian2007-08-231-0/+43
| | | | This was causing trouble for the i915 driver.
* Rework of shader constant buffers.Brian2007-08-226-3/+68
| | | | | They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.
* Silence compiler warnings.michal2007-08-211-1/+1
|
* First pass at a fallback concept for pipe devices.Keith Whitwell2007-08-212-10/+12
| | | | | | | 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.
* move ALIGN16-related macros into p_compiler.hBrian2007-08-201-23/+4
|
* include draw_context.hBrian2007-08-201-0/+1
|
* minor clean-upsBrian2007-08-201-7/+6
|
* remove some of the #ifndef MESA stuffBrian2007-08-201-2/+2
|
* Checkpoint: remove more of the old draw_vb() code.Brian2007-08-202-42/+4
|
* Start to remove the temporary draw_vb() and draw_vertices() code.Brian2007-08-201-0/+6
| | | | new st_draw_vertices() utility used by glClear and glDrawPixels
* Move guts of vertex array drawing into the 'draw' module.Brian2007-08-204-348/+22
|
* implement draw_elements()Brian2007-08-203-8/+46
|
* remove debug printfBrian2007-08-201-1/+0
|