Commit graph

11829 commits

Author SHA1 Message Date
Zack Rusin
fbb2f840ae move cso cache to the pipe directory 2007-09-18 07:20:14 -04:00
Zack Rusin
29789ca026 Fix a silly bug on setting samplers.
Bind when the currently bound state is /not/ the one
we just found/created.
2007-09-18 07:19:12 -04:00
Zack Rusin
294401814d converting the setup state to immutable object and renaming it to rasterizer state 2007-09-18 07:18:12 -04:00
Zack Rusin
d6ac959833 Combing depth and stencil objects and making them immutable.
Converting depth and stencil objects into a single state object
(d3d10 like) and making it immutable.
2007-09-18 06:31:22 -04:00
Zack Rusin
56edb98d97 Fix the warning.
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-18 06:31:22 -04:00
Zack Rusin
f117327a3f Make sampler an immutable state object.
Switch the sample to be an immutable state object.
2007-09-18 06:31:22 -04:00
Zack Rusin
e16c045b83 Implementing a better hash, removing state_tracker dependency from the cache.
Replacing mesa's main hash with one that handles collisions, moving state_tracker
related caching to the state tracker to keep cso cache independent of it. Cleanups.
2007-09-18 06:31:22 -04:00
Zack Rusin
9780327c5d First stab at immutable state objects (create/bind/delete)
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-18 06:31:22 -04:00
Brian
ffacb1c12a Replace GL_TEXTURE_* tokens with PIPE_TEXTURE_*
Must have missed this a while back.  This fixes cube mapping.
2007-09-17 15:44:59 -06:00
Brian
b4bacd1fca Plug in selection/feedback code.
Not quite finished yet.
Selection/feedback are done with a private instance of the 'draw' module
in the state tracker.  Not quite all the draw context's state is set yet,
namely vertex format info.  Hold off on that for a bit...
2007-09-17 14:24:11 -06:00
Brian
2a40c71fed selection/feedback support 2007-09-17 14:22:49 -06:00
Brian
060a638027 s/bugmgr/bufgr/ 2007-09-17 12:18:32 -06:00
Brian
72d7d2bcc3 Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch 2007-09-17 12:07:29 -06:00
Keith Whitwell
5578f8ce3b Remove non-meaningful region_idle() interface
This is already handled by the semanics of map(), etc.
2007-09-17 18:04:03 +01:00
Brian
f48e055c10 silence warning 2007-09-17 10:05:34 -06:00
Brian
9ea91974e1 update begin/end_query() functions 2007-09-17 10:05:21 -06:00
Michel Dänzer
bf92350b5b Fix linux-dri-x86 build. 2007-09-17 13:22:51 +01:00
Michel Daenzer
d59c95bfae intel_winsys: Fix intel_buffer_reference.
Correctly clear the pointer to the old buffer (not sure how this could build at
all before...) and only reference the new one when its pointer is non-NULL.
2007-09-14 15:53:52 +01:00
Michel Daenzer
c01a5ec3d6 intel_winsys: Adapt to recent drm changes (s/pipes/planes/). 2007-09-14 15:48:54 +01:00
Brian
09fbb3837b Implement query object interface.
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-11 16:01:17 -06:00
Brian
5620d66e36 vertex feedback functions 2007-09-10 17:02:58 -06:00
Brian
6275b40063 merge buffer_unreference(), buffer_reference() 2007-09-10 16:52:05 -06:00
Brian
051a2a3028 clean-ups, comments 2007-09-10 16:35:16 -06:00
Brian
c3f7f3124a s/xm_softpipe.c/xm_winsys.c/ 2007-09-10 16:32:24 -06:00
Brian
b06641eb4a Rename 2007-09-10 16:31:24 -06:00
Brian
d56a3adc30 More work on vertex feedback / glRasterPos. Basic rasterpos works now. 2007-09-10 16:29:23 -06:00
Brian
b2dfe2be6c added st_cb_rasterpos.c 2007-09-10 16:28:39 -06:00
Brian
bee148cb7d plug in rasterpos/feedback code 2007-09-10 16:28:27 -06:00
Brian
bb193c6d22 glRasterPos function 2007-09-10 16:28:10 -06:00
Brian
21c925f491 move FLUSH_CURRENT 2007-09-10 16:27:07 -06:00
Brian
63a51aee86 Initial work for post-transformed vertex feedback buffers.
This will be used for:
   GL_NV_transform_feedback, or similar GL3 functionality
   glRasterPos
   GL selection/feedback modes
2007-09-06 17:07:09 -06:00
Brian
41ddd76b98 Initial work for post-transform vertex feedback buffers.
This will be used for:
  GL_NV_transform_feedback, or GL3 equivalent.
  RasterPos
  GL select/feedback modes
2007-09-06 17:03:54 -06:00
Brian
4c01d498fa Move guts of glRasterPos down into T&L module. 2007-09-06 17:02:07 -06:00
Brian
f2f168d0f8 Move guts of glRasterPos into tnl module, called via new ctx->Driver.RasterPos() function. 2007-09-06 14:26:35 -06:00
Brian
9a11a4a8b4 move some protos from draw_vertex.h to draw_private.h 2007-08-31 11:28:31 -06:00
Brian
2e21058e3d Define attrib_format and interp_mode enum typedefs and use where appropriate. 2007-08-31 11:27:16 -06:00
Brian
898d68a376 Consolidate vertex-related code in new draw_vertex.c
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-30 16:49:24 -06:00
Brian
963b8a7449 Remove dependency on TGSI_ATTRIB_x tokens in draw_twoside.c
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-30 16:37:56 -06:00
Brian
c9e133eab4 fix breakage from prev commit 2007-08-30 16:04:10 -06:00
Brian
8f1a0decad fix unhandled switch/case warning 2007-08-30 16:01:23 -06:00
Brian
050837045f more usage info 2007-08-30 14:44:40 -06:00
Brian
f726ffd060 test flat shading w/ clipping 2007-08-30 14:43:59 -06:00
Brian
942b9bc5bc In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors 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-30 14:43:08 -06:00
Brian
aaf03b9486 Fix lost edge flags problem when clipping.
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-30 14:43:08 -06:00
Brian
2d187672b7 Sketch out per-vertex point size.
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-30 14:43:08 -06:00
michal
e62b9241d2 Add p_compiler.h. 2007-08-29 22:35:28 +01:00
michal
a6e2b76fb5 Break GL dependencies. 2007-08-29 22:35:28 +01:00
michal
6468e68466 Break GL dependencies. 2007-08-29 22:35:28 +01:00
michal
86fe5f235b Break GL dependencies. 2007-08-29 22:35:28 +01:00
michal
529c411e40 Break GL dependencies. 2007-08-29 22:35:28 +01:00