mesa.git
17 years agobetter debugging
Brian [Wed, 26 Sep 2007 21:34:31 +0000 (15:34 -0600)]
better debugging

17 years agocomments, null ptr checks, etc.
Brian [Tue, 25 Sep 2007 23:07:59 +0000 (17:07 -0600)]
comments, null ptr checks, etc.

17 years agodon't apply pixelzoom to bitmaps
Brian [Tue, 25 Sep 2007 23:03:19 +0000 (17:03 -0600)]
don't apply pixelzoom to bitmaps

17 years agost_draw_vertices() no longer needs attribs[] array parameter
Brian [Tue, 25 Sep 2007 22:56:35 +0000 (16:56 -0600)]
st_draw_vertices() no longer needs attribs[] array parameter

17 years agoSimple implementation of glBitmap rendering.
Brian [Tue, 25 Sep 2007 22:52:38 +0000 (16:52 -0600)]
Simple implementation of glBitmap rendering.

Create a texture matching the bitmap image and use a fragment program
to modulate current raster color by the boolean-valued texture.  Need to
eventually use fragment culling (see comments in code).

17 years agore-org/prep for glBitmap
Brian [Tue, 25 Sep 2007 21:48:14 +0000 (15:48 -0600)]
re-org/prep for glBitmap

17 years agoclean-up #includes
Brian [Tue, 25 Sep 2007 21:21:19 +0000 (15:21 -0600)]
clean-up #includes

17 years agobetter debug output
Brian [Tue, 25 Sep 2007 21:20:58 +0000 (15:20 -0600)]
better debug output

17 years agoinclude programopt.h
Brian [Tue, 25 Sep 2007 21:20:04 +0000 (15:20 -0600)]
include programopt.h

17 years agoDisable vertex shader fog, compute fog in fragment shader.
Brian [Tue, 25 Sep 2007 21:18:51 +0000 (15:18 -0600)]
Disable vertex shader fog, compute fog in fragment shader.

17 years agosome clean-up of ST_NEW_ shader flags
Brian [Tue, 25 Sep 2007 20:46:49 +0000 (14:46 -0600)]
some clean-up of ST_NEW_ shader flags

17 years agodisable TGSI_DEBUG
Brian [Tue, 25 Sep 2007 20:46:18 +0000 (14:46 -0600)]
disable TGSI_DEBUG

17 years agoreplaced by st_atom_shader.c
Brian [Tue, 25 Sep 2007 20:30:26 +0000 (14:30 -0600)]
replaced by st_atom_shader.c

17 years agoTranslate mesa vertex/fragment programs to TGSI programs at same time to do proper...
Brian [Tue, 25 Sep 2007 20:29:11 +0000 (14:29 -0600)]
Translate mesa vertex/fragment programs to TGSI programs at same time to do proper linking.

Previously, programs were translated independently during validation.
The problem is the translation to TGSI format, which packs shader
input/outputs into continuous slots, depends on which vertex program is
being paired with which fragment shader.  Now, we look at the outputs
of the vertex program in conjunction with the inputs of the fragment shader
to be sure the attributes match up correctly.

The new 'linked_program_pair' class keeps track of the associations
between vertex and fragment shaders.  It's also the place where the TGSI
tokens are kept since they're no longer per-program state but per-linkage.

Still a few loose ends, like implementing some kind of hash/lookup table
for linked_program_pairs.

17 years agotranslate Mesa programs to TGSI programs (formerly in st_atom_[fv]s.c)
Brian [Tue, 25 Sep 2007 20:22:13 +0000 (14:22 -0600)]
translate Mesa programs to TGSI programs (formerly in st_atom_[fv]s.c)

17 years agovertex/fragment shader state and linking
Brian [Tue, 25 Sep 2007 20:21:18 +0000 (14:21 -0600)]
vertex/fragment shader state and linking

17 years agotest for presence of both front and back color vertex slots
Brian [Fri, 21 Sep 2007 18:41:24 +0000 (12:41 -0600)]
test for presence of both front and back color vertex slots

17 years agoremove unused lookup array
Brian [Fri, 21 Sep 2007 18:39:26 +0000 (12:39 -0600)]
remove unused lookup array

17 years agoFirst attempt at building vertex buffers post-clip.
Keith Whitwell [Tue, 25 Sep 2007 12:20:53 +0000 (13:20 +0100)]
First attempt at building vertex buffers post-clip.

Build a buffer of contigous vertices and indices at the backend of our
software transformation/clipping path.  This will become the mechanism
for emitting buffers of vertices to rasterization hardware.

This is similar to but not the same as the post-transform vertex cache.
In particular, these vertices are subject to clipping, culling, poly offset,
etc.  The vertices emitted will all be used by hardware.

TODOs include the actual transformation to hardware vertex formats, moving
this out of softpipe to somewhere more useful and allowing >1 primitive to
share the generated VB.

17 years agoturn off shader debug
keithw [Tue, 25 Sep 2007 12:16:25 +0000 (13:16 +0100)]
turn off shader debug

17 years agotest against -1 for front/back attrib
keithw [Tue, 25 Sep 2007 11:08:16 +0000 (12:08 +0100)]
test against -1 for front/back attrib

17 years agoEnable SSE2 for FS.
michal [Mon, 24 Sep 2007 11:32:26 +0000 (12:32 +0100)]
Enable SSE2 for FS.

17 years agoIn here we actually do want to assign it. Fix compilation.
Zack Rusin [Mon, 24 Sep 2007 09:43:07 +0000 (05:43 -0400)]
In here we actually do want to assign it. Fix compilation.

17 years agoinvert draw_vertex_cache_check_space()
Brian [Fri, 21 Sep 2007 18:37:13 +0000 (12:37 -0600)]
invert draw_vertex_cache_check_space()

17 years agoadded PSIZE
Brian [Fri, 21 Sep 2007 18:36:59 +0000 (12:36 -0600)]
added PSIZE

17 years agofix some post-transform vertex layout issues (bcolors, psize emitted last
Brian [Fri, 21 Sep 2007 18:21:05 +0000 (12:21 -0600)]
fix some post-transform vertex layout issues (bcolors, psize emitted last

17 years agoFix up some point size breakage. Start on fogcoord too.
Brian [Fri, 21 Sep 2007 18:06:08 +0000 (12:06 -0600)]
Fix up some point size breakage.  Start on fogcoord too.

17 years agoreenable some clear code that was temporarily disabled
Brian [Fri, 21 Sep 2007 17:55:28 +0000 (11:55 -0600)]
reenable some clear code that was temporarily disabled

17 years agoremove debug printfs
Brian [Fri, 21 Sep 2007 17:54:57 +0000 (11:54 -0600)]
remove debug printfs

17 years agocomments
Brian [Fri, 21 Sep 2007 17:34:28 +0000 (11:34 -0600)]
comments

17 years agouse VERT_ATTRIB_MAX for loop limit
Brian [Fri, 21 Sep 2007 17:34:20 +0000 (11:34 -0600)]
use VERT_ATTRIB_MAX for loop limit

17 years agoremove SEMANTIC_TEXCOORD
Brian [Fri, 21 Sep 2007 17:22:34 +0000 (11:22 -0600)]
remove SEMANTIC_TEXCOORD

17 years agoGet rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.
Brian [Fri, 21 Sep 2007 17:20:29 +0000 (11:20 -0600)]
Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.

17 years agorename index var from i to attr, use FRAG_ATTRIB_MAX instead of 16
Brian [Fri, 21 Sep 2007 17:01:26 +0000 (11:01 -0600)]
rename index var from i to attr, use FRAG_ATTRIB_MAX instead of 16

17 years agominor renaming
Brian [Fri, 21 Sep 2007 16:57:30 +0000 (10:57 -0600)]
minor renaming

17 years agopass vs output semantics to tgsi_mesa_compile_vp_program() to generate output DECs
Brian [Fri, 21 Sep 2007 16:56:32 +0000 (10:56 -0600)]
pass vs output semantics to tgsi_mesa_compile_vp_program() to generate output DECs

17 years agofix in/out typos
Brian [Fri, 21 Sep 2007 16:53:45 +0000 (10:53 -0600)]
fix in/out typos

17 years agoPass vertex program input semantics into tgsi_mesa_compile_vp_program() to produce...
Brian [Fri, 21 Sep 2007 16:40:18 +0000 (10:40 -0600)]
Pass vertex program input semantics into tgsi_mesa_compile_vp_program() to produce DCLs.

17 years agofix 1/i typos
Brian [Fri, 21 Sep 2007 16:38:18 +0000 (10:38 -0600)]
fix 1/i typos

17 years agoFix the doxygen target in the top-level Makefile.
José Fonseca [Fri, 21 Sep 2007 15:47:00 +0000 (16:47 +0100)]
Fix the doxygen target in the top-level Makefile.

17 years agoConvert i915 to use cso semantics of alpha_test.
Zack Rusin [Fri, 21 Sep 2007 11:06:19 +0000 (07:06 -0400)]
Convert i915 to use cso semantics of alpha_test.

17 years agoMake the alpha test state a cso.
Zack Rusin [Fri, 21 Sep 2007 11:00:20 +0000 (07:00 -0400)]
Make the alpha test state a cso.

17 years agoSilence a few warnings.
Zack Rusin [Fri, 21 Sep 2007 08:56:39 +0000 (04:56 -0400)]
Silence a few warnings.

17 years agoremove :5 form format field in pipe_surface, makes no difference at this time
Brian [Fri, 21 Sep 2007 01:06:26 +0000 (19:06 -0600)]
remove :5 form format field in pipe_surface, makes no difference at this time

17 years agoremove old code in src_vector()
Brian [Thu, 20 Sep 2007 21:32:18 +0000 (15:32 -0600)]
remove old code in src_vector()

17 years agoClean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.
Brian [Thu, 20 Sep 2007 20:47:22 +0000 (14:47 -0600)]
Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.

Still need to produce decl instructions for vertex shaders...

17 years agoremove old/used code
Brian [Thu, 20 Sep 2007 20:08:09 +0000 (14:08 -0600)]
remove old/used code

17 years agoremove lots of dead code related to program input/output mapping
Brian [Thu, 20 Sep 2007 20:03:00 +0000 (14:03 -0600)]
remove lots of dead code related to program input/output mapping

17 years agoobsolete
Brian [Thu, 20 Sep 2007 19:58:47 +0000 (13:58 -0600)]
obsolete

17 years agoremove #includes of tgsi_attribs.h
Brian [Thu, 20 Sep 2007 19:58:12 +0000 (13:58 -0600)]
remove #includes of tgsi_attribs.h

17 years agocheckpoint: TGSI_ATTRIB_x tokens no longer used
Brian [Thu, 20 Sep 2007 19:50:53 +0000 (13:50 -0600)]
checkpoint: TGSI_ATTRIB_x tokens no longer used

17 years agoCheckpoint: vertex attribute clean-up.
Brian [Thu, 20 Sep 2007 19:42:37 +0000 (13:42 -0600)]
Checkpoint: vertex attribute clean-up.

Remove/disable the attrib/slot mapping arrays in a few places.
Work in progress...

17 years agoAlways update st->state.vs, not just when the program is dirty.
Brian [Thu, 20 Sep 2007 19:39:17 +0000 (13:39 -0600)]
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.

17 years agoremove unused lookup[]
Brian [Thu, 20 Sep 2007 15:55:56 +0000 (09:55 -0600)]
remove unused lookup[]

17 years agofix input/output typos
Brian [Thu, 20 Sep 2007 15:43:51 +0000 (09:43 -0600)]
fix input/output typos

17 years agoCache the i915 sampler state.
Zack Rusin [Thu, 20 Sep 2007 16:34:31 +0000 (12:34 -0400)]
Cache the i915 sampler state.

17 years agoMake the rasterizer state in i915 use the cso semantics.
Zack Rusin [Thu, 20 Sep 2007 15:33:35 +0000 (11:33 -0400)]
Make the rasterizer state in i915 use the cso semantics.

17 years agoAllow drivers to cache the template in case they want to
Zack Rusin [Thu, 20 Sep 2007 15:33:05 +0000 (11:33 -0400)]
Allow drivers to cache the template in case they want to
fallback through softpipe which will require the template.

17 years agoRewrite the depth_stencil state handling in i915.
Zack Rusin [Thu, 20 Sep 2007 14:28:20 +0000 (10:28 -0400)]
Rewrite the depth_stencil state handling in i915.

Done to match the new cso semantics. translate in create,
use in bind and later delete.

17 years agoFix failover state binding and convert the sampler to use the new
Zack Rusin [Thu, 20 Sep 2007 14:07:10 +0000 (10:07 -0400)]
Fix failover state binding and convert the sampler to use the new
state constant state object semantics.

17 years agoConvert depth_stencil state to the new semantics.
Zack Rusin [Thu, 20 Sep 2007 12:35:10 +0000 (08:35 -0400)]
Convert depth_stencil state to the new semantics.

17 years agoSwitch fragment/vertex shaders to the new caching semantics.
Zack Rusin [Thu, 20 Sep 2007 11:50:33 +0000 (07:50 -0400)]
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).

17 years agoCheckpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.
Brian [Thu, 20 Sep 2007 00:53:36 +0000 (18:53 -0600)]
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.

17 years agoUpdate linux-profile config.
José Fonseca [Wed, 19 Sep 2007 22:43:36 +0000 (23:43 +0100)]
Update linux-profile config.

17 years agoFix a really stupid mistake that Michel hit. Return proper hash.
Zack Rusin [Wed, 19 Sep 2007 19:29:17 +0000 (15:29 -0400)]
Fix a really stupid mistake that Michel hit. Return proper hash.

17 years agoFix window resizes.
Michel Dänzer [Wed, 19 Sep 2007 19:03:08 +0000 (20:03 +0100)]
Fix window resizes.

The memcmp is insufficient for eliminating redundant framebuffer state changes.

17 years agoPad surface dimensions to multiples of 2.
Michel Dänzer [Wed, 19 Sep 2007 16:59:51 +0000 (17:59 +0100)]
Pad surface dimensions to multiples of 2.

Avoids an assertion failure with softpipe if requested width or height is odd.

17 years agoAdding proper includes often helps with the warnings,
Zack Rusin [Wed, 19 Sep 2007 18:14:03 +0000 (14:14 -0400)]
Adding proper includes often helps with the warnings,
or so i hear..

17 years agoAvoid redundant reallocation of the template.
Zack Rusin [Wed, 19 Sep 2007 18:06:19 +0000 (14:06 -0400)]
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.

17 years agoConvert the rasterizer cso to the new semantics.
Zack Rusin [Wed, 19 Sep 2007 18:01:18 +0000 (14:01 -0400)]
Convert the rasterizer cso to the new semantics.

Basically make cso hold the driver specific struct, while
managing the template.

17 years agoConvert the i915 driver blend state to the new semantics.
Zack Rusin [Wed, 19 Sep 2007 17:05:58 +0000 (13:05 -0400)]
Convert the i915 driver blend state to the new semantics.

17 years agoRedo the cso cache to map driver data in a lot more pleasing way.
Zack Rusin [Wed, 19 Sep 2007 16:35:29 +0000 (12:35 -0400)]
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.

17 years agograb vertex program pointer after state validation
Brian [Wed, 19 Sep 2007 16:16:46 +0000 (10:16 -0600)]
grab vertex program pointer after state validation

17 years agoOnly generate vertex shader code when necessary.
Michel Dänzer [Wed, 19 Sep 2007 15:39:04 +0000 (16:39 +0100)]
Only generate vertex shader code when necessary.

17 years agoFinish up conversions of shaders to immutable objects.
Zack Rusin [Wed, 19 Sep 2007 10:46:32 +0000 (06:46 -0400)]
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).

17 years agoCheckpoint: rework shader input/output register mapping.
Brian [Wed, 19 Sep 2007 01:37:36 +0000 (19:37 -0600)]
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...

17 years agotemporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled
Brian [Wed, 19 Sep 2007 01:29:26 +0000 (19:29 -0600)]
temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled

17 years agointel_winsys: Disable scheduled buffer swaps for now.
Michel Dänzer [Tue, 18 Sep 2007 20:50:31 +0000 (21:50 +0100)]
intel_winsys: Disable scheduled buffer swaps for now.

They don't work with private back buffers yet.

This gets vsync working.

17 years agoFix linux-dri-x86 target.
Michel Dänzer [Tue, 18 Sep 2007 20:49:43 +0000 (21:49 +0100)]
Fix linux-dri-x86 target.

17 years agouse perspective projection, press r/R to rotate the quad
Brian [Tue, 18 Sep 2007 18:55:53 +0000 (12:55 -0600)]
use perspective projection, press r/R to rotate the quad

17 years agoFix some issues with perspective-corrected interpolation.
Brian [Tue, 18 Sep 2007 18:55:20 +0000 (12:55 -0600)]
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.

17 years agoadditional comments for tri_persp_coeff()
Brian [Tue, 18 Sep 2007 18:50:20 +0000 (12:50 -0600)]
additional comments for tri_persp_coeff()

17 years agoConvert shader to an immutable state object.
Zack Rusin [Tue, 18 Sep 2007 17:24:44 +0000 (13:24 -0400)]
Convert shader to an immutable state object.

17 years agoAdd emacs dirvars file with Mesa indention definition.
Zack Rusin [Tue, 18 Sep 2007 14:02:51 +0000 (10:02 -0400)]
Add emacs dirvars file with Mesa indention definition.

17 years agoFinishing up rename of the setup state to the rasterizer state.
Zack Rusin [Tue, 18 Sep 2007 14:02:16 +0000 (10:02 -0400)]
Finishing up rename of the setup state to the rasterizer state.

17 years agomove cso cache to the pipe directory
Zack Rusin [Tue, 18 Sep 2007 10:24:54 +0000 (06:24 -0400)]
move cso cache to the pipe directory

17 years agoFix a silly bug on setting samplers.
Zack Rusin [Mon, 17 Sep 2007 17:49:12 +0000 (13:49 -0400)]
Fix a silly bug on setting samplers.

Bind when the currently bound state is /not/ the one
we just found/created.

17 years agoconverting the setup state to immutable object and renaming it to rasterizer state
Zack Rusin [Mon, 17 Sep 2007 16:59:50 +0000 (12:59 -0400)]
converting the setup state to immutable object and renaming it to rasterizer state

17 years agoCombing depth and stencil objects and making them immutable.
Zack Rusin [Mon, 17 Sep 2007 15:55:18 +0000 (11:55 -0400)]
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.

17 years agoFix the warning.
Zack Rusin [Mon, 17 Sep 2007 13:50:08 +0000 (09:50 -0400)]
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.

17 years agoMake sampler an immutable state object.
Zack Rusin [Mon, 17 Sep 2007 13:47:41 +0000 (09:47 -0400)]
Make sampler an immutable state object.

Switch the sample to be an immutable state object.

17 years agoImplementing a better hash, removing state_tracker dependency from the cache.
Zack Rusin [Mon, 17 Sep 2007 11:56:56 +0000 (07:56 -0400)]
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.

17 years agoFirst stab at immutable state objects (create/bind/delete)
Zack Rusin [Fri, 14 Sep 2007 08:08:58 +0000 (04:08 -0400)]
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.

17 years agoReplace GL_TEXTURE_* tokens with PIPE_TEXTURE_*
Brian [Mon, 17 Sep 2007 21:44:59 +0000 (15:44 -0600)]
Replace GL_TEXTURE_* tokens with PIPE_TEXTURE_*

Must have missed this a while back.  This fixes cube mapping.

17 years agoPlug in selection/feedback code.
Brian [Mon, 17 Sep 2007 20:24:11 +0000 (14:24 -0600)]
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...

17 years agoselection/feedback support
Brian [Mon, 17 Sep 2007 20:22:49 +0000 (14:22 -0600)]
selection/feedback support

17 years agos/bugmgr/bufgr/
Brian [Mon, 17 Sep 2007 18:18:32 +0000 (12:18 -0600)]
s/bugmgr/bufgr/

17 years agoMerge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa...
Brian [Mon, 17 Sep 2007 18:07:29 +0000 (12:07 -0600)]
Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch

17 years agoRemove non-meaningful region_idle() interface
Keith Whitwell [Mon, 17 Sep 2007 17:02:46 +0000 (18:02 +0100)]
Remove non-meaningful region_idle() interface

This is already handled by the semanics of map(), etc.

17 years agosilence warning
Brian [Mon, 17 Sep 2007 16:05:34 +0000 (10:05 -0600)]
silence warning