Zack Rusin [Fri, 28 Sep 2007 08:33:55 +0000 (04:33 -0400)]
Remove gl dependency from the x86 assembler code
Zack Rusin [Fri, 28 Sep 2007 16:28:16 +0000 (12:28 -0400)]
Revert "Redoing the way we handle vertex shaders for the draw module."
This reverts commit
6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
Zack Rusin [Fri, 28 Sep 2007 16:28:06 +0000 (12:28 -0400)]
Revert "Use sse only if GALLIUM_SSE is defined"
This reverts commit
57b5d3605745c96ddc2b6de7d50c93db65ba1257.
Zack Rusin [Fri, 28 Sep 2007 11:33:54 +0000 (07:33 -0400)]
Use sse only if GALLIUM_SSE is defined
Zack Rusin [Fri, 28 Sep 2007 08:33:55 +0000 (04:33 -0400)]
Redoing the way we handle vertex shaders for the draw module.
Brian [Thu, 27 Sep 2007 22:33:01 +0000 (16:33 -0600)]
set miptree pitch to region pitch after allocating the region in st_miptree_create()
This fixes rendering with small (4x4) textures with softpipe.
Haven't yet tested with i915.
Brian [Thu, 27 Sep 2007 22:31:13 +0000 (16:31 -0600)]
comments
keithw [Thu, 27 Sep 2007 15:20:31 +0000 (16:20 +0100)]
remove dead code
keithw [Thu, 27 Sep 2007 11:50:02 +0000 (12:50 +0100)]
reduced debug
Keith Whitwell [Wed, 26 Sep 2007 12:30:01 +0000 (13:30 +0100)]
Fix some compiler warnings with -pedantic
Keith Whitwell [Wed, 26 Sep 2007 11:46:45 +0000 (12:46 +0100)]
Enable codegen based whenever __i386__ is defined.
keithw [Wed, 26 Sep 2007 11:10:46 +0000 (12:10 +0100)]
fix merge
Keith Whitwell [Wed, 26 Sep 2007 11:08:08 +0000 (12:08 +0100)]
disable debug
keithw [Wed, 26 Sep 2007 10:57:28 +0000 (11:57 +0100)]
restore primitive trimming in sp_draw_arrays.c
Keith Whitwell [Wed, 26 Sep 2007 10:56:17 +0000 (11:56 +0100)]
Make flushing more lazy in the draw module.
keithw [Wed, 26 Sep 2007 10:55:08 +0000 (11:55 +0100)]
Use Gallium in the renderer string
Brian [Thu, 27 Sep 2007 00:54:20 +0000 (18:54 -0600)]
Do image flipping in do_copy_texsubimage() and GL pixel transfer ops (except convolution).
Brian [Thu, 27 Sep 2007 00:39:14 +0000 (18:39 -0600)]
fallback_copy_texsubimage() basically works now (at least w/ Xlib driver).
Have to map regions before calling get_tile()/put_tile().
Need to invert srcY of glCopyTexSubImage() depending on renderbuffers
up/down orientation.
Still need to invert image in fallback_copy_texsubimage() when needed.
Brian [Thu, 27 Sep 2007 00:34:43 +0000 (18:34 -0600)]
added a8r8g8b8_put_tile()
Brian [Thu, 27 Sep 2007 00:34:13 +0000 (18:34 -0600)]
don't use scissored bounds in _mesa_clip_copytexsubimage()
Brian [Wed, 26 Sep 2007 23:57:15 +0000 (17:57 -0600)]
More work on glCopyTexSubImage.
Start sketching out a fallback path based on surface->get_tile(), put_tile()
which will do format convertion and GL's pixel transfer ops.
Brian [Wed, 26 Sep 2007 23:18:42 +0000 (17:18 -0600)]
checkpoint: glCopyTexImage work
Brian [Wed, 26 Sep 2007 23:03:40 +0000 (17:03 -0600)]
s/_mesa_copy_rect/copy_rect/
Brian [Wed, 26 Sep 2007 23:03:11 +0000 (17:03 -0600)]
Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in the drivers.
This should probably be pulled into main-line Mesa...
Brian [Wed, 26 Sep 2007 21:34:51 +0000 (15:34 -0600)]
check for _NEW_PROGRAM mesa state (fixes arbfplight)
Brian [Wed, 26 Sep 2007 21:34:31 +0000 (15:34 -0600)]
better debugging
Brian [Tue, 25 Sep 2007 23:07:59 +0000 (17:07 -0600)]
comments, null ptr checks, etc.
Brian [Tue, 25 Sep 2007 23:03:19 +0000 (17:03 -0600)]
don't apply pixelzoom to bitmaps
Brian [Tue, 25 Sep 2007 22:56:35 +0000 (16:56 -0600)]
st_draw_vertices() no longer needs attribs[] array parameter
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).
Brian [Tue, 25 Sep 2007 21:48:14 +0000 (15:48 -0600)]
re-org/prep for glBitmap
Brian [Tue, 25 Sep 2007 21:21:19 +0000 (15:21 -0600)]
clean-up #includes
Brian [Tue, 25 Sep 2007 21:20:58 +0000 (15:20 -0600)]
better debug output
Brian [Tue, 25 Sep 2007 21:20:04 +0000 (15:20 -0600)]
include programopt.h
Brian [Tue, 25 Sep 2007 21:18:51 +0000 (15:18 -0600)]
Disable vertex shader fog, compute fog in fragment shader.
Brian [Tue, 25 Sep 2007 20:46:49 +0000 (14:46 -0600)]
some clean-up of ST_NEW_ shader flags
Brian [Tue, 25 Sep 2007 20:46:18 +0000 (14:46 -0600)]
disable TGSI_DEBUG
Brian [Tue, 25 Sep 2007 20:30:26 +0000 (14:30 -0600)]
replaced by st_atom_shader.c
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.
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)
Brian [Tue, 25 Sep 2007 20:21:18 +0000 (14:21 -0600)]
vertex/fragment shader state and linking
Brian [Fri, 21 Sep 2007 18:41:24 +0000 (12:41 -0600)]
test for presence of both front and back color vertex slots
Brian [Fri, 21 Sep 2007 18:39:26 +0000 (12:39 -0600)]
remove unused lookup array
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.
keithw [Tue, 25 Sep 2007 12:16:25 +0000 (13:16 +0100)]
turn off shader debug
keithw [Tue, 25 Sep 2007 11:08:16 +0000 (12:08 +0100)]
test against -1 for front/back attrib
michal [Mon, 24 Sep 2007 11:32:26 +0000 (12:32 +0100)]
Enable SSE2 for FS.
Zack Rusin [Mon, 24 Sep 2007 09:43:07 +0000 (05:43 -0400)]
In here we actually do want to assign it. Fix compilation.
Brian [Fri, 21 Sep 2007 18:37:13 +0000 (12:37 -0600)]
invert draw_vertex_cache_check_space()
Brian [Fri, 21 Sep 2007 18:36:59 +0000 (12:36 -0600)]
added PSIZE
Brian [Fri, 21 Sep 2007 18:21:05 +0000 (12:21 -0600)]
fix some post-transform vertex layout issues (bcolors, psize emitted last
Brian [Fri, 21 Sep 2007 18:06:08 +0000 (12:06 -0600)]
Fix up some point size breakage. Start on fogcoord too.
Brian [Fri, 21 Sep 2007 17:55:28 +0000 (11:55 -0600)]
reenable some clear code that was temporarily disabled
Brian [Fri, 21 Sep 2007 17:54:57 +0000 (11:54 -0600)]
remove debug printfs
Brian [Fri, 21 Sep 2007 17:34:28 +0000 (11:34 -0600)]
comments
Brian [Fri, 21 Sep 2007 17:34:20 +0000 (11:34 -0600)]
use VERT_ATTRIB_MAX for loop limit
Brian [Fri, 21 Sep 2007 17:22:34 +0000 (11:22 -0600)]
remove SEMANTIC_TEXCOORD
Brian [Fri, 21 Sep 2007 17:20:29 +0000 (11:20 -0600)]
Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.
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
Brian [Fri, 21 Sep 2007 16:57:30 +0000 (10:57 -0600)]
minor renaming
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
Brian [Fri, 21 Sep 2007 16:53:45 +0000 (10:53 -0600)]
fix in/out typos
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.
Brian [Fri, 21 Sep 2007 16:38:18 +0000 (10:38 -0600)]
fix 1/i typos
José Fonseca [Fri, 21 Sep 2007 15:47:00 +0000 (16:47 +0100)]
Fix the doxygen target in the top-level Makefile.
Zack Rusin [Fri, 21 Sep 2007 11:06:19 +0000 (07:06 -0400)]
Convert i915 to use cso semantics of alpha_test.
Zack Rusin [Fri, 21 Sep 2007 11:00:20 +0000 (07:00 -0400)]
Make the alpha test state a cso.
Zack Rusin [Fri, 21 Sep 2007 08:56:39 +0000 (04:56 -0400)]
Silence a few warnings.
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
Brian [Thu, 20 Sep 2007 21:32:18 +0000 (15:32 -0600)]
remove old code in src_vector()
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...
Brian [Thu, 20 Sep 2007 20:08:09 +0000 (14:08 -0600)]
remove old/used code
Brian [Thu, 20 Sep 2007 20:03:00 +0000 (14:03 -0600)]
remove lots of dead code related to program input/output mapping
Brian [Thu, 20 Sep 2007 19:58:47 +0000 (13:58 -0600)]
obsolete
Brian [Thu, 20 Sep 2007 19:58:12 +0000 (13:58 -0600)]
remove #includes of tgsi_attribs.h
Brian [Thu, 20 Sep 2007 19:50:53 +0000 (13:50 -0600)]
checkpoint: TGSI_ATTRIB_x tokens no longer used
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...
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.
Brian [Thu, 20 Sep 2007 15:55:56 +0000 (09:55 -0600)]
remove unused lookup[]
Brian [Thu, 20 Sep 2007 15:43:51 +0000 (09:43 -0600)]
fix input/output typos
Zack Rusin [Thu, 20 Sep 2007 16:34:31 +0000 (12:34 -0400)]
Cache the i915 sampler state.
Zack Rusin [Thu, 20 Sep 2007 15:33:35 +0000 (11:33 -0400)]
Make the rasterizer state in i915 use the cso semantics.
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.
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.
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.
Zack Rusin [Thu, 20 Sep 2007 12:35:10 +0000 (08:35 -0400)]
Convert depth_stencil state to the new 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).
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.
José Fonseca [Wed, 19 Sep 2007 22:43:36 +0000 (23:43 +0100)]
Update linux-profile config.
Zack Rusin [Wed, 19 Sep 2007 19:29:17 +0000 (15:29 -0400)]
Fix a really stupid mistake that Michel hit. Return proper hash.
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.
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.
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..
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.
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.
Zack Rusin [Wed, 19 Sep 2007 17:05:58 +0000 (13:05 -0400)]
Convert the i915 driver blend state to the new semantics.
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.
Brian [Wed, 19 Sep 2007 16:16:46 +0000 (10:16 -0600)]
grab vertex program pointer after state validation
Michel Dänzer [Wed, 19 Sep 2007 15:39:04 +0000 (16:39 +0100)]
Only generate vertex shader code when necessary.
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).