summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe
AgeCommit message (Collapse)Author
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
2007-08-20remove some of the #ifndef MESA stuffBrian
2007-08-20Checkpoint: remove more of the old draw_vb() code.Brian
2007-08-20Start to remove the temporary draw_vb() and draw_vertices() code.Brian
new st_draw_vertices() utility used by glClear and glDrawPixels
2007-08-20Move guts of vertex array drawing into the 'draw' module.Brian
2007-08-20implement draw_elements()Brian
2007-08-20remove debug printfBrian
2007-08-20call draw_trim()Brian
2007-08-19Fix some draw_arrays issues.Brian
We weren't mapping all the needed vertex array buffers. Move array state that was temporarily in draw_context to softpipe_context. Remove a bunch of dead code.
2007-08-18more work on vertex shaders, now using vertex shaders instead of TnL module ↵Brian
by default
2007-08-17pack output vertex attributes in sequential slotsBrian
2007-08-17write outputs according to vs.outputs_writtenBrian