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

17 years agofix incorrect vertex index for POLYGON drawing
Brian [Thu, 23 Aug 2007 23:41:03 +0000 (17:41 -0600)]
fix incorrect vertex index for POLYGON drawing

17 years agoget rid of VERT_RESULT_ usage
Brian [Thu, 23 Aug 2007 23:40:19 +0000 (17:40 -0600)]
get rid of VERT_RESULT_ usage

17 years agomap Mesa vertex attribs/arrays to TGSI attribs
Brian [Thu, 23 Aug 2007 23:39:52 +0000 (17:39 -0600)]
map Mesa vertex attribs/arrays to TGSI attribs

17 years agoCheckpoint: new vertex/fragment attribute naming
Brian [Thu, 23 Aug 2007 23:00:47 +0000 (17:00 -0600)]
Checkpoint: new vertex/fragment attribute naming

Replace VF_ATTRIB_x with TGSI_ATTRIB_x
When converting mesa programs to TGSI programs, also convert the InputsRead
and OutputsWritten to a mask of TGSI_ATTRIB_ bits.
Still need to do conversion for vertex programs...

17 years agoTGSI_ATTRIB_ tokens
Brian [Thu, 23 Aug 2007 22:59:08 +0000 (16:59 -0600)]
TGSI_ATTRIB_ tokens

17 years agodefine new TGSI_ATTRIB_ tokens for program inputs/outputs, plus translation functions
Brian [Thu, 23 Aug 2007 20:58:26 +0000 (14:58 -0600)]
define new TGSI_ATTRIB_ tokens for program inputs/outputs, plus translation functions

17 years agocomment about code duplication
Brian [Thu, 23 Aug 2007 20:56:00 +0000 (14:56 -0600)]
comment about code duplication

17 years agoclean-up comments
Brian [Thu, 23 Aug 2007 20:55:43 +0000 (14:55 -0600)]
clean-up comments

17 years agoremove dead/debug code, misc clean-up
Brian [Thu, 23 Aug 2007 19:41:23 +0000 (13:41 -0600)]
remove dead/debug code, misc clean-up

17 years agoCheckpoint commit: i915 texture works, use new vertex_info struct
Brian [Thu, 23 Aug 2007 19:27:18 +0000 (13:27 -0600)]
Checkpoint commit: i915 texture works, use new vertex_info struct

Basic i915 2D texturing seems to work now.
The vertex format is determined from the current fragment shader.

17 years agoDefine a re-usable vertex_info structure to describe vertex layouts.
Brian [Thu, 23 Aug 2007 19:25:46 +0000 (13:25 -0600)]
Define a re-usable vertex_info structure to describe vertex layouts.

This also includes legacy #defines for VF_ATTRIB_*, FRAG_ATTRIB_*, etc tokens.
Those will go away eventually, but at least we no longer need vf/vf.h

17 years agoFor the time being, interpolate Z in shade_quad() rather in the shader.
Brian [Thu, 23 Aug 2007 19:24:06 +0000 (13:24 -0600)]
For the time being, interpolate Z in shade_quad() rather in the shader.

This was causing trouble for the i915 driver.

17 years agoCheckpoint: texture image and sampler state handling, plus better vertex format code.
Brian [Thu, 23 Aug 2007 00:51:39 +0000 (18:51 -0600)]
Checkpoint: texture image and sampler state handling, plus better vertex format code.

Texture image/sampler state code should be working, but is disabled for now.
Need to fix outstanding issues with vertex formats and texcoords first...

17 years agofix assertions in swizzle()
Brian [Thu, 23 Aug 2007 00:48:28 +0000 (18:48 -0600)]
fix assertions in swizzle()

17 years agomore debug output
Brian [Thu, 23 Aug 2007 00:47:19 +0000 (18:47 -0600)]
more debug output

17 years agoNeed to store vendor and renderer strings in the context.
Brian [Thu, 23 Aug 2007 00:35:50 +0000 (18:35 -0600)]
Need to store vendor and renderer strings in the context.

As it was, we always returned the same pointer.  So glxinfo, which calls
glGetString() before printing anything, was printing the same string for
both vendor and renderer.

17 years agoremove old draw_vertices()
Brian [Thu, 23 Aug 2007 00:17:49 +0000 (18:17 -0600)]
remove old draw_vertices()

17 years agoAdd deco_caps.c.
michal [Wed, 22 Aug 2007 16:37:32 +0000 (17:37 +0100)]
Add deco_caps.c.

17 years agoFirst pass on tgsi deco.
michal [Wed, 22 Aug 2007 16:21:02 +0000 (17:21 +0100)]
First pass on tgsi deco.

17 years agoInclude headers.
michal [Wed, 22 Aug 2007 15:38:00 +0000 (16:38 +0100)]
Include headers.

17 years agoNew file.
michal [Wed, 22 Aug 2007 15:24:35 +0000 (16:24 +0100)]
New file.

17 years agoNew file.
michal [Wed, 22 Aug 2007 15:17:41 +0000 (16:17 +0100)]
New file.

17 years agoSampler state code now compiles and is built. Not tested yet.
Brian [Wed, 22 Aug 2007 19:33:19 +0000 (13:33 -0600)]
Sampler state code now compiles and is built.  Not tested yet.

17 years agoadded border_color to sampler state
Brian [Wed, 22 Aug 2007 19:30:26 +0000 (13:30 -0600)]
added border_color to sampler state

17 years agoImproved pipe_region/surface_reference() functions
Brian [Wed, 22 Aug 2007 18:41:59 +0000 (12:41 -0600)]
Improved pipe_region/surface_reference() functions

Now dereferences the old object first.
Target object may be NULL to clear the pointer.

17 years agoRework of shader constant buffers.
Brian [Wed, 22 Aug 2007 18:24:51 +0000 (12:24 -0600)]
Rework of shader constant buffers.

They're now totally independent of the actual shaders.
Also, implemented in terms of pipe_buffer_handles/objects.

17 years agoImport some sampler state code.
Keith Whitwell [Wed, 22 Aug 2007 09:33:55 +0000 (10:33 +0100)]
Import some sampler state code.

Doesn't compile, isn't built.

17 years agocode movement, null ptr checks, etc
Brian [Wed, 22 Aug 2007 16:04:45 +0000 (10:04 -0600)]
code movement, null ptr checks, etc

17 years agoremove unneeded include
Brian [Wed, 22 Aug 2007 16:04:36 +0000 (10:04 -0600)]
remove unneeded include

17 years agoremove unneeded includes
Brian [Wed, 22 Aug 2007 16:04:16 +0000 (10:04 -0600)]
remove unneeded includes

17 years agoObsolete.
Brian [Wed, 22 Aug 2007 15:41:51 +0000 (09:41 -0600)]
Obsolete.

17 years agodon't need i915_fpc.c
Brian [Wed, 22 Aug 2007 15:41:32 +0000 (09:41 -0600)]
don't need i915_fpc.c

17 years agoimplement negation for src operands
Brian [Wed, 22 Aug 2007 15:41:20 +0000 (09:41 -0600)]
implement negation for src operands

17 years agoClear all the dirtyflag words
Keith Whitwell [Wed, 22 Aug 2007 08:00:51 +0000 (09:00 +0100)]
Clear all the dirtyflag words

17 years agoRemove duplicate i915 shader disassembler
Keith Whitwell [Wed, 22 Aug 2007 07:59:51 +0000 (08:59 +0100)]
Remove duplicate i915 shader disassembler

17 years agoHeaders.
michal [Tue, 21 Aug 2007 19:47:31 +0000 (20:47 +0100)]
Headers.
Fix alignment issues.
Silence compiler warnings.
More debugging code.

17 years agoSilence compiler warnings.
michal [Tue, 21 Aug 2007 19:45:09 +0000 (20:45 +0100)]
Silence compiler warnings.

17 years agoDefine __MSC__.
michal [Tue, 21 Aug 2007 19:42:33 +0000 (20:42 +0100)]
Define __MSC__.
Make ALIGN macros more error-proof.

17 years agotemporarily call _mesa_enable_sw_extensions() so we can run more test progs without...
Brian [Wed, 22 Aug 2007 02:15:00 +0000 (20:15 -0600)]
temporarily call _mesa_enable_sw_extensions() so we can run more test progs without failing the extension checks

17 years agocomments
Brian [Wed, 22 Aug 2007 02:13:53 +0000 (20:13 -0600)]
comments

17 years agoFragment shader translation seems to basically work now. More testing needed.
Brian [Wed, 22 Aug 2007 02:13:31 +0000 (20:13 -0600)]
Fragment shader translation seems to basically work now. More testing needed.

17 years agofix cut and paste
keithw [Tue, 21 Aug 2007 18:49:46 +0000 (19:49 +0100)]
fix cut and paste

17 years agoFirst pass at a fallback concept for pipe devices.
Keith Whitwell [Tue, 21 Aug 2007 18:46:48 +0000 (19:46 +0100)]
First pass at a fallback concept for pipe devices.

Creates a new pipe driver that feeds commands to either a hardware or
software pipe depending on fallback state.

Untested concept checkpoint.  At this point it compiles.