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