Commit Graph

63 Commits

Author SHA1 Message Date
Brian Paul
46b5ae7169 softpipe: const qualifiers, comments 2010-02-18 16:58:38 -07:00
Brian Paul
a1a441179b fix bug in perspective corrected interpolants for lines 2010-02-09 15:33:06 +01:00
Michal Krol
5fbb62f761 softpipe: Properly implement cylindrical wrapping. 2010-02-09 15:32:53 +01:00
Michal Krol
00bd85e574 Revert "softpipe: Implement cylindrical wrapping for linear interpolator."
This reverts commit 444cd62ca33a45bd39e8408979a0a01c246c6381.
2010-02-09 15:32:50 +01:00
Michal Krol
e04c8ecc61 softpipe: Implement cylindrical wrapping for linear interpolator. 2010-02-09 15:29:49 +01:00
Luca Barbieri
b2299d80b4 softpipe: support all TGSI fragment coord conventions (v4)
Changes in v4:
- Rebase and modify for changes in previous patches

Changes in v3:
- Use positive caps instead of negative caps

Changes in v2:
- Now takes the fragment convention directly from the fragment shader

Adds internal support for all fragment coord conventions to softpipe.

This patch is not required for use with the current state trackers, but it
allows softpipe to run any TGSI program and enhances performance.
2010-01-29 14:14:29 +01:00
Vinson Lee
7280c4c9fe softpipe: Remove unnecessary header. 2010-01-28 15:56:50 -08:00
Brian Paul
cd8614b028 Merge branch 'mesa_7_7_branch'
Conflicts:
	src/gallium/auxiliary/draw/draw_context.c
	src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
	src/gallium/auxiliary/pipebuffer/Makefile
	src/gallium/auxiliary/pipebuffer/SConscript
	src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
	src/gallium/auxiliary/tgsi/tgsi_scan.c
	src/gallium/drivers/i915/i915_surface.c
	src/gallium/drivers/i915/i915_texture.c
	src/gallium/drivers/llvmpipe/lp_setup.c
	src/gallium/drivers/llvmpipe/lp_tex_sample_c.c
	src/gallium/drivers/llvmpipe/lp_texture.c
	src/gallium/drivers/softpipe/sp_prim_vbuf.c
	src/gallium/state_trackers/xorg/xorg_dri2.c
	src/gallium/winsys/drm/intel/gem/intel_drm_api.c
	src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
	src/gallium/winsys/drm/radeon/core/radeon_drm.c
	src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c
	src/mesa/state_tracker/st_cb_clear.c
2010-01-22 12:17:02 -07:00
Vinson Lee
e3cb614f93 softpipe: Remove unnecessary headers. 2010-01-20 00:08:54 -08:00
Zack Rusin
89d8577fb3 gallium: add geometry shader support to gallium 2009-12-25 05:52:16 -05:00
Michal Krol
ca9c413647 softpipe: Respect gl_rasterization_rules in primitive setup. 2009-10-30 08:05:40 +00:00
Brian Paul
f36123323c softpipe: restore/fix print_vertex() debug helper 2009-10-09 07:24:37 -06:00
Brian Paul
9a0ff33ad6 softpipe: prefix non-static functions with sp_ 2009-10-07 13:17:20 -06:00
Keith Whitwell
207764894b softpipe: set quad->facing value 2009-09-22 20:47:07 +01:00
Keith Whitwell
4fe0fc3eba softpipe: remove old prim_setup draw stage
Everything now goes through the draw_vbuf handler, the same as
regular drivers.
2009-08-23 11:22:41 +01:00
Keith Whitwell
a1dbd7aa15 softpipe: actually pass >1 quad from triangle routine
First attempt
2009-07-24 18:17:05 +01:00
Keith Whitwell
ab9fb51670 softpipe: expand quad pipeline to process >1 quad at a time
This is part one -- we still only pass a single quad down, but
the code can now cope with more.  The quads must all be from the same
tile.
2009-07-24 16:49:35 +01:00
Keith Whitwell
6153a1c28f softpipe: rip out old mulithread support 2009-07-24 16:12:48 +01:00
Keith Whitwell
13e2d35764 softpipe: remove unused vars in sp_setup.c 2009-07-22 12:48:01 +01:00
Keith Whitwell
0ed99f4552 softpipe: use bitwise logic to setup quad masks in sp_setup 2009-07-22 12:48:00 +01:00
Keith Whitwell
73e7356385 softpipe: simplify flush_spans
No loss of performance, but simpler code.
2009-07-22 12:48:00 +01:00
Jakob Bornecrantz
862488075c Merge branch 'mesa_7_5_branch'
Conflicts:
	src/mesa/main/dlist.c
	src/mesa/vbo/vbo_save_api.c
2009-07-03 18:53:58 +02:00
Zack Rusin
1c04731b87 gallium: fix the front face semantics
mesa allocates both frontface and pointcoord registers within the fog
coordinate register, by using swizzling. to make it cleaner and easier
for drivers we want each of them in its own register. so when doing
compilation from the mesa IR to tgsi allocate new registers for both
and add new semantics to the respective declarations.
2009-07-01 10:45:55 -04:00
Brian Paul
742ba08406 softpipe: fix out of bounds quad rasterization bug
For some triangles we can generate quads which lie just outside the
surface bounds.  Just check the quad's mask before trying to emit/process
the quad.

Fixes failed assertion in Lightsmark.
2009-06-16 15:41:49 -06:00
Brian Paul
9038b6c8bb Merge branch 'ext-provoking-vertex'
Conflicts:

	docs/relnotes-7.6.html
	progs/tests/Makefile
	src/gallium/drivers/softpipe/sp_prim_vbuf.c
	src/glx/x11/indirect.c
	src/mesa/glapi/Makefile
	src/mesa/glapi/dispatch.h
	src/mesa/glapi/glapioffsets.h
	src/mesa/glapi/glapitable.h
	src/mesa/glapi/glapitemp.h
	src/mesa/glapi/glprocs.h
	src/mesa/main/dlist.c
	src/mesa/main/enums.c
	src/mesa/sparc/glapi_sparc.S
	src/mesa/x86-64/glapi_x86-64.S
	src/mesa/x86/glapi_x86.S
2009-06-19 09:15:34 -06:00
Brian Paul
8d48222791 Merge branch 'mesa_7_5_branch'
Conflicts:

	src/mesa/main/api_validate.c
2009-06-16 18:25:52 -06:00
Brian Paul
6f26f8c750 softpipe: implement flatshade_first for line setup 2009-06-09 21:51:29 -06:00
Brian Paul
091fcf3a27 Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
This reverts commit 5d75124db4.
2009-06-03 19:53:53 -06:00
Brian Paul
6c3cefdda6 Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
This reverts commit 5d75124db4.

This fixed unclipped polygons, but broke clipped polygons.
A better fix from the mesa 7.5 branch will be merged next...
2009-05-30 20:09:19 -06:00
Brian Paul
b86067c610 softpipe: comments 2009-05-27 19:36:59 -06:00
Brian Paul
5d75124db4 softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON
Use the first vertex, not the last.
2009-05-27 19:27:31 -06:00
Brian Paul
d0f28b6dd9 softpipe: use util_is_inf_or_nan()
And print/warn NaN/Inf in print_vertex().
2009-03-31 16:21:51 -06:00
Michel Dänzer
d332f8b4ef gallium: Remove some little-used fields from struct pipe_surface. 2009-03-26 10:53:47 +01:00
Brian Paul
401cbd0d23 gallium: remove use of origin_lower_left
This was used to indicate OpenGL's lower-left origin for fragment window
coordinates for polygon stipple and gl_FragCoord.

Now:
  - fragment coordinate origin is always upper-left corner
  - GL polygon stipple is inverted and shifted before given to gallium
  - GL fragment programs that use INPUT[WPOS] are modified to use an
    inverted window coord which is placed in a temp register.

Note: the origin_lower_left field still exists in pipe_rasterizer_state.
Remove it when all the drivers, etc. no longer reference it.
2009-03-20 20:29:07 -06:00
Brian Paul
492e61d94f softpipe: asst clean-ups, const correctness, comments 2009-02-11 22:13:17 -07:00
Brian
253d2d1676 softpipe: rename PRIM_x to QUAD_PRIM_x 2009-02-11 21:38:20 -07:00
Brian
7925274da3 softpipe: rename sp_headers.h to sp_quad.h
This header describes the quad-related datatypes afterall.
2009-02-11 21:33:59 -07:00
Brian
ed6f41e2f4 softpipe: rename sp_quad.[ch] -> sp_quad_pipe.[ch]
Be more consistant with 'draw' module.
2009-02-11 21:25:10 -07:00
Zack Rusin
2299f21f8d gallium: standardize api on the prefix "nr" 2009-01-27 12:20:25 -05:00
Keith Whitwell
53d4706c6c make draw's vertex_info struct smaller/quicker to compare with memcmp() 2008-10-06 11:49:42 +01:00
Michal Krol
05ecd6d402 softpipe: Silence compiler warning on Windows. 2008-09-09 11:21:57 +02:00
Michal Krol
56e7c5522e softpipe: Protect pipe_condvar_signal/broadcast calls with a mutex. 2008-09-08 23:04:17 +02:00
Michal Krol
b40732622f softpipe: More improvements for multithreaded softpipe.
Store only input and inout of a quad_header in job que.
2008-09-08 17:25:46 +02:00
Michal Krol
01f9e51203 softpipe: Split changing fields of quad_header into input, inout and output parts. 2008-09-08 17:25:46 +02:00
Michal Krol
84cde72b3e softpipe: Improve multithreaded softpipe.
Use condition vars to communicate between threads instead of stalling.
2008-09-08 17:25:46 +02:00
Michal Krol
ebe6160d7c softpipe: First attempts at multithreaded softpipe.
Configured for 2 cores.
2008-09-08 17:25:46 +02:00
Brian Paul
4f25420bdd gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h
Also, rename p_tile.[ch] to u_tile.[ch]
2008-08-24 17:48:55 -06:00
Brian Paul
9935e3b730 gallium: stop using ifloor(), FABSF(), etc 2008-08-22 15:51:02 -06:00
Brian Paul
0fae764898 gallium: test for and cull prims with inf/nan vertices in sp_setup.c code. 2008-08-20 10:32:26 -06:00
Michal Krol
66ef96f6dc softpipe: Include missing header. 2008-08-12 11:30:50 +02:00