Commit graph

11839 commits

Author SHA1 Message Date
Brian
bb611c5f1f Checkpoint: rework shader input/output register mapping.
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-18 19:38:35 -06:00
Brian
63be96bdc7 temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled 2007-09-18 19:38:35 -06:00
Michel Dänzer
3f0e04e0e6 intel_winsys: Disable scheduled buffer swaps for now.
They don't work with private back buffers yet.

This gets vsync working.
2007-09-18 21:50:31 +01:00
Michel Dänzer
d39dde6ed4 Fix linux-dri-x86 target. 2007-09-18 21:49:43 +01:00
Brian
6fbbeed690 use perspective projection, press r/R to rotate the quad 2007-09-18 12:56:23 -06:00
Brian
2a460f6185 Fix some issues with perspective-corrected interpolation.
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-18 12:56:23 -06:00
Brian
72b0a57cfa additional comments for tri_persp_coeff() 2007-09-18 12:56:22 -06:00
Zack Rusin
ccd63b54cf Convert shader to an immutable state object. 2007-09-18 13:24:44 -04:00
Zack Rusin
498a1b5dc4 Add emacs dirvars file with Mesa indention definition. 2007-09-18 10:02:51 -04:00
Zack Rusin
de69fc1703 Finishing up rename of the setup state to the rasterizer state. 2007-09-18 10:02:16 -04:00
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