Commit graph

13619 commits

Author SHA1 Message Date
Brian
f69b5c56fe Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.
Still need to produce decl instructions for vertex shaders...
2007-09-20 14:47:22 -06:00
Brian
478d1e2c9c remove old/used code 2007-09-20 14:08:09 -06:00
Brian
064daf319c remove lots of dead code related to program input/output mapping 2007-09-20 14:03:00 -06:00
Brian
a8834a75a5 obsolete 2007-09-20 13:58:47 -06:00
Brian
c231a9d020 remove #includes of tgsi_attribs.h 2007-09-20 13:58:12 -06:00
Brian
674d013069 checkpoint: TGSI_ATTRIB_x tokens no longer used 2007-09-20 13:50:53 -06:00
Brian
086734502a Checkpoint: vertex attribute clean-up.
Remove/disable the attrib/slot mapping arrays in a few places.
Work in progress...
2007-09-20 13:43:23 -06:00
Brian
745f0cbe05 Always update st->state.vs, not just when the program is dirty.
This fixes a regression in the cubemap.c demo which alternates between
two different vertex shaders.
2007-09-20 13:43:23 -06:00
Brian
768302c539 remove unused lookup[] 2007-09-20 13:43:23 -06:00
Brian
b5908a7671 fix input/output typos 2007-09-20 13:43:23 -06:00
Zack Rusin
742e32a40b Cache the i915 sampler state. 2007-09-20 12:34:31 -04:00
Zack Rusin
cc2629f591 Make the rasterizer state in i915 use the cso semantics. 2007-09-20 11:33:35 -04:00
Zack Rusin
893f9cda76 Allow drivers to cache the template in case they want to
fallback through softpipe which will require the template.
2007-09-20 11:33:05 -04:00
Zack Rusin
1d8c31b47b Rewrite the depth_stencil state handling in i915.
Done to match the new cso semantics. translate in create,
use in bind and later delete.
2007-09-20 10:28:20 -04:00
Zack Rusin
7a06c026ad Fix failover state binding and convert the sampler to use the new
state constant state object semantics.
2007-09-20 10:07:10 -04:00
Zack Rusin
a6c0c5532f Convert depth_stencil state to the new semantics. 2007-09-20 08:35:10 -04:00
Zack Rusin
daf5b0f41b Switch fragment/vertex shaders to the new caching semantics.
Allow driver custom allocation within cached objects. The shaders
are currently twiced (by cso layer and by the program itself).
2007-09-20 07:50:33 -04:00
Brian
37cf13ed9a Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.
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.
2007-09-19 18:53:59 -06:00
José Fonseca
83a674a7af Update linux-profile config. 2007-09-19 23:48:07 +01:00
Zack Rusin
a0e948f3aa Fix a really stupid mistake that Michel hit. Return proper hash. 2007-09-19 15:29:48 -04:00
Michel Dänzer
c9a5ef1a1c Fix window resizes.
The memcmp is insufficient for eliminating redundant framebuffer state changes.
2007-09-19 20:40:09 +01:00
Michel Dänzer
617b39ce98 Pad surface dimensions to multiples of 2.
Avoids an assertion failure with softpipe if requested width or height is odd.
2007-09-19 20:40:09 +01:00
Zack Rusin
b8ecec7abe Adding proper includes often helps with the warnings,
or so i hear..
2007-09-19 14:14:03 -04:00
Zack Rusin
c8650b0874 Avoid redundant reallocation of the template.
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-19 14:06:19 -04:00
Zack Rusin
fe555c39bb Convert the rasterizer cso to the new semantics.
Basically make cso hold the driver specific struct, while
managing the template.
2007-09-19 14:01:18 -04:00
Zack Rusin
b6d50abd7d Convert the i915 driver blend state to the new semantics. 2007-09-19 13:12:09 -04:00
Zack Rusin
c0bf732208 Redo the cso cache to map driver data in a lot more pleasing way.
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-19 13:12:09 -04:00
Brian
b3cc74aa44 grab vertex program pointer after state validation 2007-09-19 10:16:46 -06:00
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