Commit Graph

15141 Commits

Author SHA1 Message Date
Michel Dänzer bcc13fd3f8 Only generate vertex shader code when necessary. 2007-09-19 16:39:04 +01:00
Zack Rusin f22e920f47 Finish up conversions of shaders to immutable objects.
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-19 06:46:32 -04:00
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