mesa.git
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

17 years agoupdate begin/end_query() functions
Brian [Mon, 17 Sep 2007 16:05:21 +0000 (10:05 -0600)]
update begin/end_query() functions

17 years agoFix linux-dri-x86 build.
Michel Dänzer [Mon, 17 Sep 2007 12:22:51 +0000 (13:22 +0100)]
Fix linux-dri-x86 build.

17 years agointel_winsys: Fix intel_buffer_reference.
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.

17 years agointel_winsys: Adapt to recent drm changes (s/pipes/planes/).
Michel Daenzer [Fri, 14 Sep 2007 14:48:54 +0000 (15:48 +0100)]
intel_winsys: Adapt to recent drm changes (s/pipes/planes/).

17 years agoImplement query object interface.
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.

17 years agovertex feedback functions
Brian [Mon, 10 Sep 2007 23:02:58 +0000 (17:02 -0600)]
vertex feedback functions

17 years agomerge buffer_unreference(), buffer_reference()
Brian [Mon, 10 Sep 2007 22:52:05 +0000 (16:52 -0600)]
merge buffer_unreference(), buffer_reference()

17 years agoclean-ups, comments
Brian [Mon, 10 Sep 2007 22:35:16 +0000 (16:35 -0600)]
clean-ups, comments

17 years agos/xm_softpipe.c/xm_winsys.c/
Brian [Mon, 10 Sep 2007 22:32:24 +0000 (16:32 -0600)]
s/xm_softpipe.c/xm_winsys.c/

17 years agoRename
Brian [Mon, 10 Sep 2007 22:31:24 +0000 (16:31 -0600)]
Rename

17 years agoMore work on vertex feedback / glRasterPos. Basic rasterpos works now.
Brian [Mon, 10 Sep 2007 22:29:23 +0000 (16:29 -0600)]
More work on vertex feedback / glRasterPos.  Basic rasterpos works now.

17 years agoadded st_cb_rasterpos.c
Brian [Mon, 10 Sep 2007 22:28:39 +0000 (16:28 -0600)]
added st_cb_rasterpos.c

17 years agoplug in rasterpos/feedback code
Brian [Mon, 10 Sep 2007 22:28:27 +0000 (16:28 -0600)]
plug in rasterpos/feedback code

17 years agoglRasterPos function
Brian [Mon, 10 Sep 2007 22:28:10 +0000 (16:28 -0600)]
glRasterPos function

17 years agomove FLUSH_CURRENT
Brian [Mon, 10 Sep 2007 22:27:07 +0000 (16:27 -0600)]
move FLUSH_CURRENT

17 years agoInitial work for post-transformed vertex feedback buffers.
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

17 years agoInitial work for post-transform vertex feedback buffers.
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

17 years agoMove guts of glRasterPos down into T&L module.
Brian [Thu, 6 Sep 2007 23:02:07 +0000 (17:02 -0600)]
Move guts of glRasterPos down into T&L module.

17 years agoMove guts of glRasterPos into tnl module, called via new ctx->Driver.RasterPos()...
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.

17 years agomove some protos from draw_vertex.h to draw_private.h
Brian [Fri, 31 Aug 2007 17:28:31 +0000 (11:28 -0600)]
move some protos from draw_vertex.h to draw_private.h

17 years agoDefine attrib_format and interp_mode enum typedefs and use where appropriate.
Brian [Fri, 31 Aug 2007 17:27:16 +0000 (11:27 -0600)]
Define attrib_format and interp_mode enum typedefs and use where appropriate.

17 years agoConsolidate vertex-related code in new draw_vertex.c
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()

17 years agoRemove dependency on TGSI_ATTRIB_x tokens in draw_twoside.c
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.

17 years agofix breakage from prev commit
Brian [Thu, 30 Aug 2007 22:04:10 +0000 (16:04 -0600)]
fix breakage from prev commit

17 years agofix unhandled switch/case warning
Brian [Thu, 30 Aug 2007 22:01:23 +0000 (16:01 -0600)]
fix unhandled switch/case warning

17 years agomore usage info
Brian [Thu, 30 Aug 2007 20:44:40 +0000 (14:44 -0600)]
more usage info

17 years agotest flat shading w/ clipping
Brian [Thu, 30 Aug 2007 20:43:59 +0000 (14:43 -0600)]
test flat shading w/ clipping

17 years agoIn draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors to cpy.
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().

17 years agoFix lost edge flags problem when clipping.
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.

17 years agoSketch out per-vertex point size.
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.

17 years agoAdd p_compiler.h.
michal [Wed, 29 Aug 2007 21:30:20 +0000 (22:30 +0100)]
Add p_compiler.h.

17 years agoBreak GL dependencies.
michal [Wed, 29 Aug 2007 21:26:23 +0000 (22:26 +0100)]
Break GL dependencies.

17 years agoBreak GL dependencies.
michal [Wed, 29 Aug 2007 21:24:42 +0000 (22:24 +0100)]
Break GL dependencies.

17 years agoBreak GL dependencies.
michal [Wed, 29 Aug 2007 21:22:02 +0000 (22:22 +0100)]
Break GL dependencies.

17 years agoBreak GL dependencies.
michal [Wed, 29 Aug 2007 21:10:00 +0000 (22:10 +0100)]
Break GL dependencies.

17 years agoFix ffs().
michal [Wed, 29 Aug 2007 20:40:18 +0000 (21:40 +0100)]
Fix ffs().

17 years agoSplit out vertex shader/cache/fetch functionality from draw_prim.c
Keith Whitwell [Mon, 27 Aug 2007 18:30:11 +0000 (19:30 +0100)]
Split out vertex shader/cache/fetch functionality from draw_prim.c

17 years agoadd missing files
keithw [Sat, 25 Aug 2007 21:05:16 +0000 (22:05 +0100)]
add missing files

17 years agofix frag vs vertex typo
keithw [Sat, 25 Aug 2007 21:01:03 +0000 (22:01 +0100)]
fix frag vs vertex typo

17 years agoadd names to tracked state atoms to improve debug
keithw [Sat, 25 Aug 2007 21:00:36 +0000 (22:00 +0100)]
add names to tracked state atoms to improve debug

17 years agocheckpoint in constant tracking rework
Keith Whitwell [Fri, 24 Aug 2007 17:30:00 +0000 (18:30 +0100)]
checkpoint in constant tracking rework

17 years agoremove unneeded dirty flag
keithw [Fri, 24 Aug 2007 11:30:28 +0000 (12:30 +0100)]
remove unneeded dirty flag

17 years agocode re-org, minor improvements
Brian [Sat, 25 Aug 2007 01:36:23 +0000 (19:36 -0600)]
code re-org, minor improvements

17 years agos/==/=/
Brian [Sat, 25 Aug 2007 00:50:56 +0000 (18:50 -0600)]
s/==/=/

17 years agoFix fragment program color output mapping (0=depth, 1=color)
Brian [Sat, 25 Aug 2007 00:26:42 +0000 (18:26 -0600)]
Fix fragment program color output mapping (0=depth, 1=color)

17 years agocheck for USE_X86_ASM or SLANG_X86 in st_delete_program()
Brian [Sat, 25 Aug 2007 00:19:50 +0000 (18:19 -0600)]
check for USE_X86_ASM or SLANG_X86 in st_delete_program()

17 years agoset I915_NEW_VERTEX_FORMAT in calculate_vertex_layout(), fixes demos/texenv
Brian [Sat, 25 Aug 2007 00:06:11 +0000 (18:06 -0600)]
set I915_NEW_VERTEX_FORMAT in calculate_vertex_layout(), fixes demos/texenv

17 years agoAdd support for more surface types in sp_surface.c
Brian [Fri, 24 Aug 2007 19:17:08 +0000 (13:17 -0600)]
Add support for more surface types in sp_surface.c

replace PIPE_FORMAT_U_L8_A8 with PIPE_FORMAT_U_A8_L8

17 years agoHook-up SSE2 to VS.
michal [Fri, 24 Aug 2007 16:51:12 +0000 (17:51 +0100)]
Hook-up SSE2 to VS.

17 years agoIndent. Remove GL dependencies. Simplify. Add rtasm instructions.
michal [Fri, 24 Aug 2007 15:23:02 +0000 (16:23 +0100)]
Indent. Remove GL dependencies. Simplify. Add rtasm instructions.

17 years agoAdd tgsi_sse2.
michal [Fri, 24 Aug 2007 11:52:47 +0000 (12:52 +0100)]
Add tgsi_sse2.

17 years agoremove deleted i915_state_fragprog.c
Brian [Fri, 24 Aug 2007 18:38:31 +0000 (12:38 -0600)]
remove deleted i915_state_fragprog.c

17 years agofix a tracking of changed lighting state
Brian [Fri, 24 Aug 2007 18:08:38 +0000 (12:08 -0600)]
fix a tracking of changed lighting state

17 years agoadd some warnings about bitmaps/copypixels
Brian [Fri, 24 Aug 2007 18:08:11 +0000 (12:08 -0600)]
add some warnings about bitmaps/copypixels

17 years agodisable debug
keithw [Fri, 24 Aug 2007 10:23:55 +0000 (11:23 +0100)]
disable debug

17 years agoremove dead file
keithw [Fri, 24 Aug 2007 09:22:37 +0000 (10:22 +0100)]
remove dead file

17 years agohave to check I915_HW_SAMPLER when emitting MAP state, because of sampler_enable_flags.
keithw [Fri, 24 Aug 2007 09:15:06 +0000 (10:15 +0100)]
have to check I915_HW_SAMPLER when emitting MAP state, because of sampler_enable_flags.

17 years agosampler state tweaks
keithw [Fri, 24 Aug 2007 09:09:34 +0000 (10:09 +0100)]
sampler state tweaks

17 years agoFix user-defined clip planes. They seem to work properly now.
Brian [Fri, 24 Aug 2007 17:05:31 +0000 (11:05 -0600)]
Fix user-defined clip planes. They seem to work properly now.

The bits for the N user-defined planes are now set in the vertex_header->clipmask.
See some detailed comments about this in the clip_line() function.
CLIP_USER_BIT no longer exists.

17 years agore-enable compute_clipmask() call
Brian [Fri, 24 Aug 2007 15:56:47 +0000 (09:56 -0600)]
re-enable compute_clipmask() call

17 years agoemit S4_VFMT_XYZ vs. S4_VFMT_XYZW as needed
Brian [Fri, 24 Aug 2007 15:52:25 +0000 (09:52 -0600)]
emit S4_VFMT_XYZ vs. S4_VFMT_XYZW as needed

17 years agoFixup include paths after rename
Keith Whitwell [Fri, 24 Aug 2007 09:01:20 +0000 (10:01 +0100)]
Fixup include paths after rename

17 years agoRename tgsi "core" directory
Keith Whitwell [Fri, 24 Aug 2007 09:01:03 +0000 (10:01 +0100)]
Rename tgsi "core" directory

17 years agotrack more vertex-related state changes
Brian [Thu, 23 Aug 2007 20:59:48 +0000 (21:59 +0100)]
track more vertex-related state changes

17 years agoadded GL_STENCIL_INDEX8_EXT
Brian [Thu, 23 Aug 2007 20:59:27 +0000 (21:59 +0100)]
added GL_STENCIL_INDEX8_EXT

17 years agofix-up stencil buffers
Brian [Thu, 23 Aug 2007 20:59:06 +0000 (21:59 +0100)]
fix-up stencil buffers

17 years agocheck for null ptr in xm_buffer_unreference()
Brian [Thu, 23 Aug 2007 20:39:51 +0000 (21:39 +0100)]
check for null ptr in xm_buffer_unreference()

17 years agoUse vertex_info struct for softpipe - lots of clean-up.
Brian [Fri, 24 Aug 2007 01:28:59 +0000 (19:28 -0600)]
Use vertex_info struct for softpipe - lots of clean-up.

17 years agoremove dead code
Brian [Fri, 24 Aug 2007 01:05:38 +0000 (19:05 -0600)]
remove dead code

17 years agoVertex shader outputs are now tightly packed into the output slots.
Brian [Fri, 24 Aug 2007 01:03:42 +0000 (19:03 -0600)]
Vertex shader outputs are now tightly packed into the output slots.

Fix softpipe vertex attribute setup.
Also, update vs constants when the projection matrix changes (fixes samples/prim.c)

17 years agoNeed to copy header->edgeflags to tmp when creating new prim_header.
Brian [Fri, 24 Aug 2007 00:54:51 +0000 (18:54 -0600)]
Need to copy header->edgeflags to tmp when creating new prim_header.

Edge flags were random/undefined otherwise.

17 years agominor improvement to get_vertex() in-use flag setting
Brian [Thu, 23 Aug 2007 23:59:17 +0000 (17:59 -0600)]
minor improvement to get_vertex() in-use flag setting

17 years agofix an edgeflag logic error, see comments
Brian [Thu, 23 Aug 2007 23:57:08 +0000 (17:57 -0600)]
fix an edgeflag logic error, see comments