Commit graph

527 commits

Author SHA1 Message Date
Keith Whitwell
871d39ec8c softpipe: calculate determinant for all triangles, don't rely on draw module to do it 2008-04-14 16:18:00 +01:00
Keith Whitwell
8cbda9f108 draw: remove dead code 2008-04-14 16:15:39 +01:00
Keith Whitwell
36bacf97a6 draw: always malloc verts for fetch_shade_pipeline 2008-04-14 12:46:57 +01:00
Keith Whitwell
a82e4996a1 draw: flush pipeline before trying to allocate more hw vertices 2008-04-14 12:37:19 +01:00
Keith Whitwell
e106b2d3d6 draw: move vertex header init out of fetch_shade_pipeline.c 2008-04-14 12:27:25 +01:00
Keith Whitwell
caf293343f draw: hide passthrough shading paths behind an environment variable 2008-04-14 12:08:46 +01:00
Keith Whitwell
8e7326832a softpipe: do our own culling, don't rely on the draw module.
May not always happen due to passthrough modes, etc.
2008-04-14 11:32:50 +01:00
Zack Rusin
0c1cb54923 Implement fetch/shade/pipeline or emit vertex passthrough. 2008-04-14 11:05:37 +01:00
Zack Rusin
3f7a3dd58c Make shaders operate on a block of memory instead of arrays of vertex_header's 2008-04-14 11:00:35 +01:00
Zack Rusin
808f968f3a return true if one of the vertices has been clipped 2008-04-14 11:00:35 +01:00
Zack Rusin
aadbb1d7fb pass arbitrary number of vertices to the shader execution cycle 2008-04-14 11:00:35 +01:00
Zack Rusin
4f550ab821 introduce a define to maxout the processed vertices 2008-04-14 11:00:26 +01:00
José Fonseca
84994693f5 gallium: Add u_time.c 2008-04-13 18:52:54 +09:00
José Fonseca
fb2b5f7a4a gallium: Buffer cache. 2008-04-13 15:10:18 +09:00
José Fonseca
21c302b0ec gallium: Initial port of Thomas slab suballocator to pipebuffer.
Not tested yet -- just compiles.

This includes only the slab algorithm. Fencing is already
implemented in pb_bufmgr_fence and time-based caching will be commited in a
separate module shortly.
2008-04-13 15:10:17 +09:00
José Fonseca
cd59312406 gallium: OS independent time-manipulation functions. 2008-04-13 15:10:17 +09:00
Michal Krol
45cc4f546e tgsi: Fix source register short dump code. 2008-04-12 23:00:35 +02:00
Brian
2ebc99fcbc gallium: move duplicated compute_clipmask() code to draw_vs.h 2008-04-12 11:03:56 -06:00
Brian Paul
593cf5a6b5 gallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.
The two functions were mostly the same.  We can look at the shader header
info to determine if it's a vertex or fragment shader.
2008-04-11 15:27:00 -06:00
Brian Paul
7c2416f06e gallium: handle TGSI immediates in SSE code for vertex shaders 2008-04-11 15:02:21 -06:00
Brian Paul
e3cf0cd6a9 gallium: implement immediates (aka literals) for SSE fragment shaders 2008-04-11 14:19:32 -06:00
Brian Paul
097301395d gallium: comments 2008-04-11 14:19:31 -06:00
Brian Paul
9e8a85ef67 gallium: fix SCS codegen (sin scalar src comes from X, not Y) 2008-04-11 14:19:31 -06:00
Keith Whitwell
4d184cc331 gallium: fix broken x86_call() 2008-04-11 14:19:31 -06:00
Michal Krol
f41cc50ef0 tgsi: Dump processor type and version as a single token. 2008-04-11 11:50:09 +02:00
Michal Krol
2483062f10 tgsi: Dump semantics before interpolator. 2008-04-11 11:50:08 +02:00
José Fonseca
03a3373bdf gallium: Thread condition variables. 2008-04-11 12:18:06 +09:00
Brian Paul
87b0b8e7bc gallium: flags param to surface_alloc_storage() is unused and deprecated 2008-04-10 18:33:53 -06:00
José Fonseca
bc56e87ce1 gallium: Attribute realloc leaks to the first malloc call. 2008-04-11 09:32:26 +09:00
Keith Whitwell
c95dcc4962 remove usage of vertex_header 2008-04-10 14:35:47 -04:00
Brian Paul
a52faa9325 gallium: remove unneeded st->haveFramebufferSurfaces field. 2008-04-09 16:09:46 -06:00
Brian Paul
f7e475280a gallium: fix bug in PIPE_BLENDFACTOR_INV_DST_ALPHA case 2008-04-09 14:20:43 -06:00
Brian
da8934034b gallium: re-order, clean-up PIPE_MAX_* definitions 2008-04-08 21:43:36 -06:00
Brian
be37e8350f gallium: remove obsolete/unused PIPE_ATTRIB_MAX 2008-04-08 21:38:44 -06:00
Brian
7e57a9e8bb cell: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
Brian
1f888abf16 i915: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
Brian
28cf8c8fdc gallium: keep track of num_vertex_attribs/buffers for shorter loops 2008-04-08 21:20:10 -06:00
José Fonseca
4382b0c9cb gallium: Fix overzealous assert. 2008-04-08 20:42:24 +09:00
Brian
17f6409903 gallium: get rid of bufloop quad stage 2008-04-07 22:00:41 -06:00
Brian
c7daa68ca3 gallium: begin reworking quad stages for multiple color outputs 2008-04-07 21:59:12 -06:00
José Fonseca
4e2127b0e5 gallium: Allow to debug memory leaks in nested scopes. 2008-04-08 12:04:03 +09:00
Keith Whitwell
a8a5376406 draw: strip edgeflags out of fetch-emit path 2008-04-07 12:28:31 +01:00
Keith Whitwell
5c19e47362 draw: fix edgeflag handling on the pt paths
Encode edgeflags (and reset_stipple info) into the top two bits of the
fetch elements.  This info could be moved elsewhere, but for now we
can live with a 1<<30 maximum element size...

Also use the primitive decomposition code from draw_prim.c verbatim, as
it includes all this stuff and is known to work.
2008-04-06 14:31:41 +01:00
Michal Krol
a8ca549553 draw: Use debug_printf(). 2008-04-05 10:22:47 +02:00
José Fonseca
fdff063343 gallium: Keep fenced buffers list ordered.
This allows to keep the list small without the overhead of full walks.
2008-04-05 13:45:41 +09:00
José Fonseca
f1efef809c gallium: Fix typo. 2008-04-05 13:45:40 +09:00
José Fonseca
c1d26d3dcc gallium: Use the custom snprintf implementation everywhere (for Win32).
Because winddk's implemenation does not handle floats.
2008-04-05 13:45:40 +09:00
Brian Paul
5ffc5cce15 gallium: new debug code, disabled 2008-04-04 12:24:01 -06:00
Keith Whitwell
84501e68f6 gallium: Handle client-supplied edgeflags.
Also, implement support in the draw module.  We were hardwiring these
to one for quite a long time...

Currently using a draw_set_edgeflags() function, may be better to push
the argument into the draw_arrays() function.  TBD.
2008-04-04 17:05:27 +01:00
Keith Whitwell
0b20d1b9b5 draw: move code to run pipeline from pt to new file
Add facility for draw_vbuf.c to reset these vertex ids on flushes.
Pre-initialize vertex ids correctly.
2008-04-04 13:19:26 +01:00