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).
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...
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
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.
Michel Dänzer [Tue, 18 Sep 2007 20:49:43 +0000 (21:49 +0100)]
Fix linux-dri-x86 target.
Brian [Tue, 18 Sep 2007 18:55:53 +0000 (12:55 -0600)]
use perspective projection, press r/R to rotate the quad
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.
Brian [Tue, 18 Sep 2007 18:50:20 +0000 (12:50 -0600)]
additional comments for tri_persp_coeff()
Zack Rusin [Tue, 18 Sep 2007 17:24:44 +0000 (13:24 -0400)]
Convert shader to an immutable state object.
Zack Rusin [Tue, 18 Sep 2007 14:02:51 +0000 (10:02 -0400)]
Add emacs dirvars file with Mesa indention definition.
Zack Rusin [Tue, 18 Sep 2007 14:02:16 +0000 (10:02 -0400)]
Finishing up rename of the setup state to the rasterizer state.
Zack Rusin [Tue, 18 Sep 2007 10:24:54 +0000 (06:24 -0400)]
move cso cache to the pipe directory
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.
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
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.
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.
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.
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.
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.
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.
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...
Brian [Mon, 17 Sep 2007 20:22:49 +0000 (14:22 -0600)]
selection/feedback support
Brian [Mon, 17 Sep 2007 18:18:32 +0000 (12:18 -0600)]
s/bugmgr/bufgr/
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
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.
Brian [Mon, 17 Sep 2007 16:05:34 +0000 (10:05 -0600)]
silence warning
Brian [Mon, 17 Sep 2007 16:05:21 +0000 (10:05 -0600)]
update begin/end_query() functions
Michel Dänzer [Mon, 17 Sep 2007 12:22:51 +0000 (13:22 +0100)]
Fix linux-dri-x86 build.
Michel Daenzer [Fri, 14 Sep 2007 14:51:00 +0000 (15:51 +0100)]
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.
Michel Daenzer [Fri, 14 Sep 2007 14:48:54 +0000 (15:48 +0100)]
intel_winsys: Adapt to recent drm changes (s/pipes/planes/).
Brian [Tue, 11 Sep 2007 22:01:17 +0000 (16:01 -0600)]
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.
Brian [Mon, 10 Sep 2007 23:02:58 +0000 (17:02 -0600)]
vertex feedback functions
Brian [Mon, 10 Sep 2007 22:52:05 +0000 (16:52 -0600)]
merge buffer_unreference(), buffer_reference()
Brian [Mon, 10 Sep 2007 22:35:16 +0000 (16:35 -0600)]
clean-ups, comments
Brian [Mon, 10 Sep 2007 22:32:24 +0000 (16:32 -0600)]
s/xm_softpipe.c/xm_winsys.c/
Brian [Mon, 10 Sep 2007 22:31:24 +0000 (16:31 -0600)]
Rename
Brian [Mon, 10 Sep 2007 22:29:23 +0000 (16:29 -0600)]
More work on vertex feedback / glRasterPos. Basic rasterpos works now.
Brian [Mon, 10 Sep 2007 22:28:39 +0000 (16:28 -0600)]
added st_cb_rasterpos.c
Brian [Mon, 10 Sep 2007 22:28:27 +0000 (16:28 -0600)]
plug in rasterpos/feedback code
Brian [Mon, 10 Sep 2007 22:28:10 +0000 (16:28 -0600)]
glRasterPos function
Brian [Mon, 10 Sep 2007 22:27:07 +0000 (16:27 -0600)]
move FLUSH_CURRENT
Brian [Thu, 6 Sep 2007 23:07:09 +0000 (17:07 -0600)]
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
Brian [Thu, 6 Sep 2007 23:03:54 +0000 (17:03 -0600)]
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
Brian [Thu, 6 Sep 2007 23:02:07 +0000 (17:02 -0600)]
Move guts of glRasterPos down into T&L module.
Brian [Thu, 6 Sep 2007 20:26:35 +0000 (14:26 -0600)]
Move guts of glRasterPos into tnl module, called via new ctx->Driver.RasterPos() function.
Brian [Fri, 31 Aug 2007 17:28:31 +0000 (11:28 -0600)]
move some protos from draw_vertex.h to draw_private.h
Brian [Fri, 31 Aug 2007 17:27:16 +0000 (11:27 -0600)]
Define attrib_format and interp_mode enum typedefs and use where appropriate.
Brian [Thu, 30 Aug 2007 22:49:24 +0000 (16:49 -0600)]
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()
Brian [Thu, 30 Aug 2007 22:37:56 +0000 (16:37 -0600)]
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.
Brian [Thu, 30 Aug 2007 22:04:10 +0000 (16:04 -0600)]
fix breakage from prev commit
Brian [Thu, 30 Aug 2007 22:01:23 +0000 (16:01 -0600)]
fix unhandled switch/case warning
Brian [Thu, 30 Aug 2007 20:44:40 +0000 (14:44 -0600)]
more usage info
Brian [Thu, 30 Aug 2007 20:43:59 +0000 (14:43 -0600)]
test flat shading w/ clipping
Brian [Thu, 30 Aug 2007 20:41:23 +0000 (14:41 -0600)]
In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors to cpy.
One less dependency on the TGSI_ATTRIB_x flags.
This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
Brian [Thu, 30 Aug 2007 20:31:42 +0000 (14:31 -0600)]
Fix lost edge flags problem when clipping.
In emit_poly() we need to compute header.edgeflags from the vertex
edge flags. Also need to set header.det so later stages can determine
front/back orientation.
Brian [Thu, 30 Aug 2007 17:08:03 +0000 (11:08 -0600)]
Sketch out per-vertex point size.
The code is all in place, but mostly disabled for now:
In t_vp_build.c, write the VERT_RESULT_PSIZE register
In sp_state_derived.c, need to emit vertex point size if drawing points.
In setup_point() use the point size from the vertex.
michal [Wed, 29 Aug 2007 21:30:20 +0000 (22:30 +0100)]
Add p_compiler.h.
michal [Wed, 29 Aug 2007 21:26:23 +0000 (22:26 +0100)]
Break GL dependencies.
michal [Wed, 29 Aug 2007 21:24:42 +0000 (22:24 +0100)]
Break GL dependencies.
michal [Wed, 29 Aug 2007 21:22:02 +0000 (22:22 +0100)]
Break GL dependencies.
michal [Wed, 29 Aug 2007 21:10:00 +0000 (22:10 +0100)]
Break GL dependencies.
michal [Wed, 29 Aug 2007 20:40:18 +0000 (21:40 +0100)]
Fix ffs().
Keith Whitwell [Mon, 27 Aug 2007 18:30:11 +0000 (19:30 +0100)]
Split out vertex shader/cache/fetch functionality from draw_prim.c
keithw [Sat, 25 Aug 2007 21:05:16 +0000 (22:05 +0100)]
add missing files
keithw [Sat, 25 Aug 2007 21:01:03 +0000 (22:01 +0100)]
fix frag vs vertex typo
keithw [Sat, 25 Aug 2007 21:00:36 +0000 (22:00 +0100)]
add names to tracked state atoms to improve debug
Keith Whitwell [Fri, 24 Aug 2007 17:30:00 +0000 (18:30 +0100)]
checkpoint in constant tracking rework
keithw [Fri, 24 Aug 2007 11:30:28 +0000 (12:30 +0100)]
remove unneeded dirty flag
Brian [Sat, 25 Aug 2007 01:36:23 +0000 (19:36 -0600)]
code re-org, minor improvements
Brian [Sat, 25 Aug 2007 00:50:56 +0000 (18:50 -0600)]
s/==/=/
Brian [Sat, 25 Aug 2007 00:26:42 +0000 (18:26 -0600)]
Fix fragment program color output mapping (0=depth, 1=color)
Brian [Sat, 25 Aug 2007 00:19:50 +0000 (18:19 -0600)]
check for USE_X86_ASM or SLANG_X86 in st_delete_program()
Brian [Sat, 25 Aug 2007 00:06:11 +0000 (18:06 -0600)]
set I915_NEW_VERTEX_FORMAT in calculate_vertex_layout(), fixes demos/texenv