mesa.git
16 years agomesa: don't emit LIT instruction when mat shininess known to be zero
Keith Whitwell [Fri, 23 May 2008 18:17:02 +0000 (19:17 +0100)]
mesa: don't emit LIT instruction when mat shininess known to be zero

Use a faster path in that case & make gears go faster.

16 years agodraw: faster LIT(), incorrect though
Keith Whitwell [Fri, 23 May 2008 08:14:17 +0000 (09:14 +0100)]
draw: faster LIT(), incorrect though

16 years agomesa: do object-space lighting in ffvertex_prog.c
Keith Whitwell [Fri, 23 May 2008 08:10:59 +0000 (09:10 +0100)]
mesa: do object-space lighting in ffvertex_prog.c

Start pulling over some of the optimizations from the fixed function
paths.

16 years agodraw: correct but slow LIT() in aos varient
Keith Whitwell [Thu, 22 May 2008 19:22:15 +0000 (20:22 +0100)]
draw: correct but slow LIT() in aos varient

16 years agodraw: tweak x87_emit_ex2 to avoid changing x87 fpu settings
Keith Whitwell [Thu, 22 May 2008 19:21:49 +0000 (20:21 +0100)]
draw: tweak x87_emit_ex2 to avoid changing x87 fpu settings

16 years agodraw: use aligned movs within draw_vs_aos.c
Keith Whitwell [Thu, 22 May 2008 14:24:02 +0000 (15:24 +0100)]
draw: use aligned movs within draw_vs_aos.c

16 years agodraw: for debug, do rhw divide in aos_sse viewport calcs
Keith Whitwell [Thu, 22 May 2008 12:49:38 +0000 (13:49 +0100)]
draw: for debug, do rhw divide in aos_sse viewport calcs

16 years agodraw: shortcircuit shuffle in aos_sse when possible
Keith Whitwell [Thu, 22 May 2008 12:48:07 +0000 (13:48 +0100)]
draw: shortcircuit shuffle in aos_sse when possible

16 years agodraw: remove FPU_MANIP ifdef
Keith Whitwell [Thu, 22 May 2008 12:47:08 +0000 (13:47 +0100)]
draw: remove FPU_MANIP ifdef

16 years agodraw: clean up masked writes in aos sse, make some xmm function names clearer
Keith Whitwell [Thu, 22 May 2008 12:46:06 +0000 (13:46 +0100)]
draw: clean up masked writes in aos sse, make some xmm function names clearer

16 years agodraw: clean up internal immediates in aos sse
Keith Whitwell [Thu, 22 May 2008 12:41:49 +0000 (13:41 +0100)]
draw: clean up internal immediates in aos sse

16 years agodraw: fse works with elts, remove assert
Keith Whitwell [Thu, 22 May 2008 12:37:48 +0000 (13:37 +0100)]
draw: fse works with elts, remove assert

16 years agortasm: remove debug
Keith Whitwell [Wed, 21 May 2008 19:50:36 +0000 (20:50 +0100)]
rtasm: remove debug

16 years agodraw: when preloading args to x87 stack, need to use reverse order
Keith Whitwell [Wed, 21 May 2008 19:41:01 +0000 (20:41 +0100)]
draw: when preloading args to x87 stack, need to use reverse order

16 years agodraw: avoid a pointless mov in many sse opcodes
Keith Whitwell [Wed, 21 May 2008 19:38:23 +0000 (20:38 +0100)]
draw: avoid a pointless mov in many sse opcodes

16 years agodraw: fix x87_ex2 and partially fix lit insn
Keith Whitwell [Wed, 21 May 2008 19:34:52 +0000 (20:34 +0100)]
draw: fix x87_ex2 and partially fix lit insn

16 years agodraw: fix fpu control word manipulations
Keith Whitwell [Wed, 21 May 2008 19:32:43 +0000 (20:32 +0100)]
draw: fix fpu control word manipulations

16 years agodraw: fix vs aos internal/machine state
Keith Whitwell [Wed, 21 May 2008 19:31:08 +0000 (20:31 +0100)]
draw: fix vs aos internal/machine state

16 years agodraw: add viewport to varient state
Keith Whitwell [Wed, 21 May 2008 19:28:56 +0000 (20:28 +0100)]
draw: add viewport to varient state

16 years agortasm: add x87 instructions and debug-check for x87 stack usage
Keith Whitwell [Wed, 21 May 2008 19:14:55 +0000 (20:14 +0100)]
rtasm: add x87 instructions and debug-check for x87 stack usage

16 years agovp-tris: use test name as window name
Keith Whitwell [Wed, 21 May 2008 12:17:48 +0000 (13:17 +0100)]
vp-tris: use test name as window name

16 years agodraw: add aos vertex shader varient
Keith Whitwell [Wed, 21 May 2008 08:44:16 +0000 (09:44 +0100)]
draw: add aos vertex shader varient

16 years agodraw: mark varient functions as PIPE_CDECL
Keith Whitwell [Wed, 21 May 2008 08:43:30 +0000 (09:43 +0100)]
draw: mark varient functions as PIPE_CDECL

16 years agotranslate: mark functions as PIPE_CDECL
Keith Whitwell [Wed, 21 May 2008 07:29:19 +0000 (08:29 +0100)]
translate: mark functions as PIPE_CDECL

16 years agogallium: define PIPE_CDECL calling convention, which really is cdecl everywhere
Keith Whitwell [Wed, 21 May 2008 07:28:53 +0000 (08:28 +0100)]
gallium: define PIPE_CDECL calling convention, which really is cdecl everywhere

16 years agortasm: export debug reg print function
Keith Whitwell [Wed, 21 May 2008 07:28:16 +0000 (08:28 +0100)]
rtasm: export debug reg print function

16 years agotranslate: remove spurious comment
Keith Whitwell [Tue, 20 May 2008 13:34:06 +0000 (14:34 +0100)]
translate: remove spurious comment

16 years agortasm: remove unused struct member
Keith Whitwell [Mon, 19 May 2008 15:28:53 +0000 (16:28 +0100)]
rtasm: remove unused struct member

16 years agodraw: create specialized vs varients incorporating fetch & emit
Keith Whitwell [Thu, 15 May 2008 11:39:08 +0000 (12:39 +0100)]
draw: create specialized vs varients incorporating fetch & emit

16 years agodraw: move some state into a new 'vs' area
Keith Whitwell [Tue, 13 May 2008 12:40:22 +0000 (13:40 +0100)]
draw: move some state into a new 'vs' area

16 years agodraw: get rid of fetch-shade-emit frontend hack
Keith Whitwell [Tue, 13 May 2008 12:35:14 +0000 (13:35 +0100)]
draw: get rid of fetch-shade-emit frontend hack

The code is now living in it's intended place as a pt middle end.

16 years agodraw: remove disabled non-sse swizzle code
Keith Whitwell [Tue, 13 May 2008 08:46:53 +0000 (09:46 +0100)]
draw: remove disabled non-sse swizzle code

16 years agoMerge commit 'origin/gallium-0.1' into gallium-vertex-linear
Zack Rusin [Mon, 19 May 2008 16:10:42 +0000 (12:10 -0400)]
Merge commit 'origin/gallium-0.1' into gallium-vertex-linear

16 years agoif x86_get_func() returns NULL, handle it properly instead of aborting
Brian Paul [Mon, 19 May 2008 15:34:28 +0000 (09:34 -0600)]
if x86_get_func() returns NULL, handle it properly instead of aborting

16 years agofix program delete/refcount bug
Brian Paul [Mon, 19 May 2008 15:04:02 +0000 (09:04 -0600)]
fix program delete/refcount bug

cherry-picked from gallium-tex-surfaces

16 years agoFix program refcounting assertion failure during context tear-down
Brian Paul [Mon, 19 May 2008 14:59:41 +0000 (08:59 -0600)]
Fix program refcounting assertion failure during context tear-down

When purging the program hash table, the refcount _should_ be one since
the program is referenced by the hash table.  Need to explicitly set to
zero before calling delete().

Also, purge high-level shader hash tables before low-level program hash tabl

cherry-picked from master

16 years agoprint vertex.attrib[n] (from master)
Brian Paul [Sun, 18 May 2008 21:46:58 +0000 (15:46 -0600)]
print vertex.attrib[n] (from master)

16 years agoFix some bugs in material, depth range state
Brian Paul [Sun, 18 May 2008 21:32:58 +0000 (15:32 -0600)]
Fix some bugs in material, depth range state

picked from master

16 years agoRegenerated API dispatch files
Brian Paul [Sun, 18 May 2008 21:23:03 +0000 (15:23 -0600)]
Regenerated API dispatch files

Follow on to cherry-pick from master

16 years agoalias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
Brian Paul [Sun, 18 May 2008 21:21:28 +0000 (15:21 -0600)]
alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)

these should be the same functions (as per spec).

cherry-picked from master (86a4810b09097714942bf2b889e6c62357bba931)

16 years agocosmetic changes
Zack Rusin [Fri, 16 May 2008 21:56:38 +0000 (17:56 -0400)]
cosmetic changes

16 years agofix rsq
Zack Rusin [Fri, 16 May 2008 21:35:47 +0000 (17:35 -0400)]
fix rsq

16 years agofix abs and start on rsq
Zack Rusin [Fri, 16 May 2008 21:10:52 +0000 (17:10 -0400)]
fix abs and start on rsq

16 years agodo the lit (some artifacts present)
Zack Rusin [Fri, 16 May 2008 20:06:59 +0000 (16:06 -0400)]
do the lit (some artifacts present)

16 years agoimplement min/max and abstract ops on vectors
Zack Rusin [Fri, 16 May 2008 18:54:40 +0000 (14:54 -0400)]
implement min/max and abstract ops on vectors

16 years agollvm: implement sub and abs
Zack Rusin [Thu, 15 May 2008 21:46:20 +0000 (17:46 -0400)]
llvm: implement sub and abs

16 years agofix injections of functions from builtins into shaders
Zack Rusin [Thu, 15 May 2008 18:11:19 +0000 (14:11 -0400)]
fix injections of functions from builtins into shaders

16 years agomove the swizzling code to gallivm in preperation for code-generating it
Zack Rusin [Thu, 15 May 2008 16:17:46 +0000 (12:17 -0400)]
move the swizzling code to gallivm in preperation for code-generating it
also some minor cleanups

16 years agogallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()
Brian Paul [Sat, 17 May 2008 16:30:21 +0000 (10:30 -0600)]
gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()

The caller can then free the token array immediately.

16 years agogallium: remove deprecated format names
Brian Paul [Sat, 17 May 2008 14:47:56 +0000 (08:47 -0600)]
gallium: remove deprecated format names

16 years agos/PIPE_FORMAT_U_S8/PIPE_FORMAT_S8_UNORM/
Brian Paul [Sat, 17 May 2008 14:46:43 +0000 (08:46 -0600)]
s/PIPE_FORMAT_U_S8/PIPE_FORMAT_S8_UNORM/

16 years agogallium: release textures during context tear-down (fix mem leak)
Brian Paul [Fri, 16 May 2008 22:04:30 +0000 (16:04 -0600)]
gallium: release textures during context tear-down (fix mem leak)

16 years agogallium: ref counting clean-ups
Brian Paul [Fri, 16 May 2008 22:04:04 +0000 (16:04 -0600)]
gallium: ref counting clean-ups

16 years agomesa: call glutDestroyWindow() on exit to help find mem leaks
Brian Paul [Fri, 16 May 2008 22:02:52 +0000 (16:02 -0600)]
mesa: call glutDestroyWindow() on exit to help find mem leaks

16 years agobring in fixes/changes from master
Brian Paul [Fri, 16 May 2008 21:48:11 +0000 (15:48 -0600)]
bring in fixes/changes from master

16 years agoFix a program refcounting error, don't share program parameter lists.
Brian Paul [Fri, 16 May 2008 15:56:59 +0000 (09:56 -0600)]
Fix a program refcounting error, don't share program parameter lists.

The refcounting bug was causing a memleak (unfreed programs).
The old parameter list sharing is not needed since the change in how
uniforms are handled.

16 years agofix an attr/src mix-up when setting-up/binding vertex arrays
Brian Paul [Fri, 16 May 2008 21:34:22 +0000 (15:34 -0600)]
fix an attr/src mix-up when setting-up/binding vertex arrays

This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.

16 years agofix parsing of state.texenv.color (bug 14931)
Brian Paul [Thu, 15 May 2008 01:19:53 +0000 (19:19 -0600)]
fix parsing of state.texenv.color (bug 14931)

cherry-picked from master

16 years agoConsolidate texture fetch code and use partial derivatives when possible.
Brian Paul [Thu, 15 May 2008 01:14:41 +0000 (19:14 -0600)]
Consolidate texture fetch code and use partial derivatives when possible.

picked from master

16 years agomesa: fix InfoLog memleak, misc sync with master
Brian Paul [Wed, 14 May 2008 22:44:08 +0000 (16:44 -0600)]
mesa: fix InfoLog memleak, misc sync with master

16 years agoBug #13492: Only call ProgramStringNotify if program parsing succeeded.
Eric Anholt [Tue, 15 Jan 2008 23:08:34 +0000 (15:08 -0800)]
Bug #13492: Only call ProgramStringNotify if program parsing succeeded.

Wine intentionally tries some out-of-spec programs to test strictness, and
calling ProgramStringNotify on the results of a failed program parse resulted
in crashes in the 965 driver.

16 years agofix swizzle error test (bug 11881)
Brian [Tue, 7 Aug 2007 20:42:34 +0000 (21:42 +0100)]
fix swizzle error test (bug 11881)

16 years agofix-up inlined/non-inlined function inconsistencies
Brian Paul [Wed, 14 May 2008 22:32:18 +0000 (16:32 -0600)]
fix-up inlined/non-inlined function inconsistencies

cherry-picked from master

16 years agomesa: rm unneeded file
Brian Paul [Wed, 14 May 2008 22:30:15 +0000 (16:30 -0600)]
mesa: rm unneeded file

16 years agomesa: prefix rm command with -
Brian Paul [Wed, 14 May 2008 22:27:34 +0000 (16:27 -0600)]
mesa: prefix rm command with -

16 years agorewrite some of the mat*mat, mat*vec intrinsics
Brian Paul [Wed, 14 May 2008 22:20:28 +0000 (16:20 -0600)]
rewrite some of the mat*mat, mat*vec intrinsics

Also, remove obsolete matrix codegen code.

cherry-picked from master

16 years agomesa: regenerate slang built-in data (asin(vec4) fix)
Brian Paul [Wed, 14 May 2008 22:07:18 +0000 (16:07 -0600)]
mesa: regenerate slang built-in data (asin(vec4) fix)

16 years agomesa: fix missing w assignment in asin(vec4)
Brian Paul [Wed, 14 May 2008 22:06:10 +0000 (16:06 -0600)]
mesa: fix missing w assignment in asin(vec4)

16 years agomesa: use CALLOC_STRUCT()
Brian Paul [Wed, 14 May 2008 22:05:48 +0000 (16:05 -0600)]
mesa: use CALLOC_STRUCT()

16 years agomesa: sync up swrast/s_fragprog.c with master
Brian Paul [Wed, 14 May 2008 22:05:25 +0000 (16:05 -0600)]
mesa: sync up swrast/s_fragprog.c with master

16 years agomesa: updated comment
Brian Paul [Wed, 14 May 2008 22:04:51 +0000 (16:04 -0600)]
mesa: updated comment

16 years agomesa: minor bug fixes from master
Brian Paul [Wed, 14 May 2008 22:04:29 +0000 (16:04 -0600)]
mesa: minor bug fixes from master

16 years agomesa: dead code removal
Brian Paul [Wed, 14 May 2008 22:04:00 +0000 (16:04 -0600)]
mesa: dead code removal

16 years agomesa: minor bug fixes, null ptr checks, dead code removal
Brian Paul [Wed, 14 May 2008 22:03:38 +0000 (16:03 -0600)]
mesa: minor bug fixes, null ptr checks, dead code removal

16 years agomesa: fix errors in LightModelProduct state, other misc error cases
Brian Paul [Wed, 14 May 2008 22:02:20 +0000 (16:02 -0600)]
mesa: fix errors in LightModelProduct state, other misc error cases

16 years agomesa: glUniform(location==-1) is not an error
Brian Paul [Wed, 14 May 2008 22:01:31 +0000 (16:01 -0600)]
mesa: glUniform(location==-1) is not an error

16 years agofix some additional program refcounting bugs
Brian Paul [Wed, 14 May 2008 18:19:22 +0000 (12:19 -0600)]
fix some additional program refcounting bugs

cherry-picked from master

16 years agodecomposition from keith, adds decomposition of more prim to the pipeline
Zack Rusin [Tue, 13 May 2008 20:06:09 +0000 (16:06 -0400)]
decomposition from keith, adds decomposition of more prim to the pipeline

16 years agoadjust llvm code to the changes in 2.3
Zack Rusin [Mon, 12 May 2008 21:17:18 +0000 (17:17 -0400)]
adjust llvm code to the changes in 2.3

16 years agodraw: turn fse path into a middle end
Keith Whitwell [Mon, 12 May 2008 18:40:20 +0000 (19:40 +0100)]
draw: turn fse path into a middle end

Also add some util functions in pt_util.c

16 years agodraw: streamline the varray path
Keith Whitwell [Mon, 12 May 2008 16:36:35 +0000 (17:36 +0100)]
draw: streamline the varray path

- drop support for running the pipeline (ie. don't populate the flags values)
- pass through all split-able primitives intact to the middle end
- only primitives that can't be split are shunted on the draw-element path

16 years agosoftpipe: more work to get non-reduced primitives working in vbuf
Keith Whitwell [Mon, 12 May 2008 16:30:05 +0000 (17:30 +0100)]
softpipe: more work to get non-reduced primitives working in vbuf

16 years agosoftpipe: make vbuf handle all primitive types
Keith Whitwell [Mon, 12 May 2008 15:16:04 +0000 (16:16 +0100)]
softpipe: make vbuf handle all primitive types

16 years agodraw: add fetch-shade-emit path
Keith Whitwell [Mon, 12 May 2008 14:20:38 +0000 (15:20 +0100)]
draw: add fetch-shade-emit path

Enable with TEST_FSE=t.  Performs fetch from API-provided vertex buffers,
transformation with one of three (two working) hard-coded shaders, and
final emit to hardware vertices all in a single pass.

Currently only really useful for profiling in conjunction with SP_NO_RAST=t.

16 years agosoftpipe: add failure paths for context creation
Keith Whitwell [Mon, 12 May 2008 13:10:03 +0000 (14:10 +0100)]
softpipe: add failure paths for context creation

16 years agoxlib: add failure paths for context creation
Keith Whitwell [Mon, 12 May 2008 13:09:50 +0000 (14:09 +0100)]
xlib: add failure paths for context creation

16 years agodraw: mimize cost of translate key compares, use cache universally
Keith Whitwell [Fri, 9 May 2008 12:10:15 +0000 (13:10 +0100)]
draw: mimize cost of translate key compares, use cache universally

16 years agotranslate: helper functions for mimizing cost of key compares
Keith Whitwell [Fri, 9 May 2008 12:09:58 +0000 (13:09 +0100)]
translate: helper functions for mimizing cost of key compares

16 years agogallium: optimize the flush_spans() function
Brian [Sat, 10 May 2008 18:46:00 +0000 (12:46 -0600)]
gallium: optimize the flush_spans() function

16 years agogallium: remove unused code
Brian [Sat, 10 May 2008 18:16:19 +0000 (12:16 -0600)]
gallium: remove unused code

16 years agodraw: Fix number of vertices allocated in draw_pt_emit().
Michel Dänzer [Fri, 9 May 2008 17:04:16 +0000 (18:04 +0100)]
draw: Fix number of vertices allocated in draw_pt_emit().

16 years agodraw: fix translate double-free, minor cleanups
Keith Whitwell [Fri, 9 May 2008 14:02:59 +0000 (15:02 +0100)]
draw: fix translate double-free, minor cleanups

16 years agodraw: mimize cost of translate key compares, use cache universally
Keith Whitwell [Fri, 9 May 2008 12:10:15 +0000 (13:10 +0100)]
draw: mimize cost of translate key compares, use cache universally

16 years agotranslate: helper functions for mimizing cost of key compares
Keith Whitwell [Fri, 9 May 2008 12:09:58 +0000 (13:09 +0100)]
translate: helper functions for mimizing cost of key compares

16 years agoMerge branch 'gallium-0.1' into gallium-vertex-linear
Keith Whitwell [Thu, 8 May 2008 21:16:05 +0000 (22:16 +0100)]
Merge branch 'gallium-0.1' into gallium-vertex-linear

16 years agodraw: only fill in / compare the part of the translate key we're using.
Keith Whitwell [Thu, 8 May 2008 21:13:21 +0000 (22:13 +0100)]
draw: only fill in / compare the part of the translate key we're using.

It's quite a big struct & we examine it a lot (too much).  Reduce
the impact of this by just looking at the active part where possible.

16 years agoxlib: more SP_NO_RAST support
Keith Whitwell [Thu, 8 May 2008 21:10:15 +0000 (22:10 +0100)]
xlib: more SP_NO_RAST support

For some resaon normal (non-display-buffer) buffers are being allocated
through Xshm...  Bypass at least for SP_NO_RAST

16 years agosoftpipe: don't calc det if NO_RAST set
Keith Whitwell [Thu, 8 May 2008 21:07:52 +0000 (22:07 +0100)]
softpipe: don't calc det if NO_RAST set

16 years agofix quad strips
Zack Rusin [Thu, 8 May 2008 19:11:16 +0000 (15:11 -0400)]
fix quad strips

16 years agofix triangle strips
Zack Rusin [Thu, 8 May 2008 16:10:24 +0000 (12:10 -0400)]
fix triangle strips