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
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
michal [Fri, 24 Aug 2007 16:51:12 +0000 (17:51 +0100)]
Hook-up SSE2 to VS.
michal [Fri, 24 Aug 2007 15:23:02 +0000 (16:23 +0100)]
Indent. Remove GL dependencies. Simplify. Add rtasm instructions.
michal [Fri, 24 Aug 2007 11:52:47 +0000 (12:52 +0100)]
Add tgsi_sse2.
Brian [Fri, 24 Aug 2007 18:38:31 +0000 (12:38 -0600)]
remove deleted i915_state_fragprog.c
Brian [Fri, 24 Aug 2007 18:08:38 +0000 (12:08 -0600)]
fix a tracking of changed lighting state
Brian [Fri, 24 Aug 2007 18:08:11 +0000 (12:08 -0600)]
add some warnings about bitmaps/copypixels
keithw [Fri, 24 Aug 2007 10:23:55 +0000 (11:23 +0100)]
disable debug
keithw [Fri, 24 Aug 2007 09:22:37 +0000 (10:22 +0100)]
remove dead file
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.
keithw [Fri, 24 Aug 2007 09:09:34 +0000 (10:09 +0100)]
sampler state tweaks
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.
Brian [Fri, 24 Aug 2007 15:56:47 +0000 (09:56 -0600)]
re-enable compute_clipmask() call
Brian [Fri, 24 Aug 2007 15:52:25 +0000 (09:52 -0600)]
emit S4_VFMT_XYZ vs. S4_VFMT_XYZW as needed
Keith Whitwell [Fri, 24 Aug 2007 09:01:20 +0000 (10:01 +0100)]
Fixup include paths after rename
Keith Whitwell [Fri, 24 Aug 2007 09:01:03 +0000 (10:01 +0100)]
Rename tgsi "core" directory
Brian [Thu, 23 Aug 2007 20:59:48 +0000 (21:59 +0100)]
track more vertex-related state changes
Brian [Thu, 23 Aug 2007 20:59:27 +0000 (21:59 +0100)]
added GL_STENCIL_INDEX8_EXT
Brian [Thu, 23 Aug 2007 20:59:06 +0000 (21:59 +0100)]
fix-up stencil buffers
Brian [Thu, 23 Aug 2007 20:39:51 +0000 (21:39 +0100)]
check for null ptr in xm_buffer_unreference()
Brian [Fri, 24 Aug 2007 01:28:59 +0000 (19:28 -0600)]
Use vertex_info struct for softpipe - lots of clean-up.
Brian [Fri, 24 Aug 2007 01:05:38 +0000 (19:05 -0600)]
remove dead code
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)
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.
Brian [Thu, 23 Aug 2007 23:59:17 +0000 (17:59 -0600)]
minor improvement to get_vertex() in-use flag setting
Brian [Thu, 23 Aug 2007 23:57:08 +0000 (17:57 -0600)]
fix an edgeflag logic error, see comments
Brian [Thu, 23 Aug 2007 23:41:03 +0000 (17:41 -0600)]
fix incorrect vertex index for POLYGON drawing
Brian [Thu, 23 Aug 2007 23:40:19 +0000 (17:40 -0600)]
get rid of VERT_RESULT_ usage
Brian [Thu, 23 Aug 2007 23:39:52 +0000 (17:39 -0600)]
map Mesa vertex attribs/arrays to TGSI attribs
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...
Brian [Thu, 23 Aug 2007 22:59:08 +0000 (16:59 -0600)]
TGSI_ATTRIB_ tokens
Brian [Thu, 23 Aug 2007 20:58:26 +0000 (14:58 -0600)]
define new TGSI_ATTRIB_ tokens for program inputs/outputs, plus translation functions
Brian [Thu, 23 Aug 2007 20:56:00 +0000 (14:56 -0600)]
comment about code duplication
Brian [Thu, 23 Aug 2007 20:55:43 +0000 (14:55 -0600)]
clean-up comments
Brian [Thu, 23 Aug 2007 19:41:23 +0000 (13:41 -0600)]
remove dead/debug code, misc clean-up
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.
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
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.
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...
Brian [Thu, 23 Aug 2007 00:48:28 +0000 (18:48 -0600)]
fix assertions in swizzle()
Brian [Thu, 23 Aug 2007 00:47:19 +0000 (18:47 -0600)]
more debug output
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.
Brian [Thu, 23 Aug 2007 00:17:49 +0000 (18:17 -0600)]
remove old draw_vertices()
michal [Wed, 22 Aug 2007 16:37:32 +0000 (17:37 +0100)]
Add deco_caps.c.
michal [Wed, 22 Aug 2007 16:21:02 +0000 (17:21 +0100)]
First pass on tgsi deco.
michal [Wed, 22 Aug 2007 15:38:00 +0000 (16:38 +0100)]
Include headers.
michal [Wed, 22 Aug 2007 15:24:35 +0000 (16:24 +0100)]
New file.
michal [Wed, 22 Aug 2007 15:17:41 +0000 (16:17 +0100)]
New file.
Brian [Wed, 22 Aug 2007 19:33:19 +0000 (13:33 -0600)]
Sampler state code now compiles and is built. Not tested yet.
Brian [Wed, 22 Aug 2007 19:30:26 +0000 (13:30 -0600)]
added border_color to sampler state
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.
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.
Keith Whitwell [Wed, 22 Aug 2007 09:33:55 +0000 (10:33 +0100)]
Import some sampler state code.
Doesn't compile, isn't built.
Brian [Wed, 22 Aug 2007 16:04:45 +0000 (10:04 -0600)]
code movement, null ptr checks, etc
Brian [Wed, 22 Aug 2007 16:04:36 +0000 (10:04 -0600)]
remove unneeded include
Brian [Wed, 22 Aug 2007 16:04:16 +0000 (10:04 -0600)]
remove unneeded includes
Brian [Wed, 22 Aug 2007 15:41:51 +0000 (09:41 -0600)]
Obsolete.
Brian [Wed, 22 Aug 2007 15:41:32 +0000 (09:41 -0600)]
don't need i915_fpc.c
Brian [Wed, 22 Aug 2007 15:41:20 +0000 (09:41 -0600)]
implement negation for src operands
Keith Whitwell [Wed, 22 Aug 2007 08:00:51 +0000 (09:00 +0100)]
Clear all the dirtyflag words
Keith Whitwell [Wed, 22 Aug 2007 07:59:51 +0000 (08:59 +0100)]
Remove duplicate i915 shader disassembler
michal [Tue, 21 Aug 2007 19:47:31 +0000 (20:47 +0100)]
Headers.
Fix alignment issues.
Silence compiler warnings.
More debugging code.
michal [Tue, 21 Aug 2007 19:45:09 +0000 (20:45 +0100)]
Silence compiler warnings.
michal [Tue, 21 Aug 2007 19:42:33 +0000 (20:42 +0100)]
Define __MSC__.
Make ALIGN macros more error-proof.
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
Brian [Wed, 22 Aug 2007 02:13:53 +0000 (20:13 -0600)]
comments
Brian [Wed, 22 Aug 2007 02:13:31 +0000 (20:13 -0600)]
Fragment shader translation seems to basically work now. More testing needed.
keithw [Tue, 21 Aug 2007 18:49:46 +0000 (19:49 +0100)]
fix cut and paste
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.
Keith Whitwell [Thu, 16 Aug 2007 11:41:51 +0000 (12:41 +0100)]
Add missing #include
Brian [Tue, 21 Aug 2007 22:24:48 +0000 (16:24 -0600)]
added fpc sources
Brian [Tue, 21 Aug 2007 22:24:38 +0000 (16:24 -0600)]
Initial check-in of i915 fragment program translation (from tgsi).
Brian [Mon, 20 Aug 2007 20:45:14 +0000 (21:45 +0100)]
Set viewport state so viewport matches window dims.
trivial/readpixels.c works again.
Brian [Tue, 21 Aug 2007 00:53:41 +0000 (18:53 -0600)]
Move vertex transformation/shader code into draw_prim.c to avoid need for vs_flush() function pointer.