mesa.git
16 years agoMerge commit 'origin/master' into gallium-0.2
Alan Hourihane [Sat, 1 Nov 2008 22:57:26 +0000 (22:57 +0000)]
Merge commit 'origin/master' into gallium-0.2

Conflicts:

src/mesa/shader/slang/library/slang_vertex_builtin_gc.h

16 years agomesa: silence warnings
Brian Paul [Sat, 1 Nov 2008 22:04:45 +0000 (16:04 -0600)]
mesa: silence warnings

16 years agomesa: do scope replacement for while/for loops too
Brian Paul [Sat, 1 Nov 2008 21:55:39 +0000 (15:55 -0600)]
mesa: do scope replacement for while/for loops too

This fixes a function inlining bug involving vars declared inside loop bodies.

16 years agomesa: glsl tree print improvements
Brian Paul [Sat, 1 Nov 2008 21:55:14 +0000 (15:55 -0600)]
mesa: glsl tree print improvements

16 years agomesa: fix assignment / parameter passing of sampler types
Brian Paul [Sat, 1 Nov 2008 21:53:14 +0000 (15:53 -0600)]
mesa: fix assignment / parameter passing of sampler types

16 years agomesa: additional debug flags for glsl debug/disassembly
Brian Paul [Sat, 1 Nov 2008 16:57:25 +0000 (10:57 -0600)]
mesa: additional debug flags for glsl debug/disassembly

16 years agoFix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1
Keith Packard [Sat, 1 Nov 2008 21:38:19 +0000 (14:38 -0700)]
Fix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1

Quoting section 11.3.10, paragraph 10.2 of the 965PRM:

10.2.  If ExecSize is 1, dst.HorzStride must not be 0. Note that this is
relaxed from rule 10.1.2. Also note that this rule for destination
horizontal stride is different from that for source as stated in
rule #7.

GM45 gets very angry when rule 10.2 is violated.

Patch 58dc8b7 (i965: support destination horiz strides in align1 access mode)
added support for additional horizontal strides in the ExecSize 1 case, but
failed to notice that mesa occasionally re-purposes a register as a
temporary destination, even though it was constructed as a repeating source
with HorzStride = 0.

While, ideally, we should probably fix the code using these register
specifications, this patch simply rewrites them to use HorzStride 1 as the
pre-58dc8b7 code did.

Signed-off-by: Keith Packard <keithp@keithp.com>
16 years agomesa: fix some bugs with precision qualifier parsing
Brian Paul [Fri, 31 Oct 2008 23:29:54 +0000 (17:29 -0600)]
mesa: fix some bugs with precision qualifier parsing

16 years agomesa: do scope replacement for variable initializers too
Brian Paul [Fri, 31 Oct 2008 23:27:41 +0000 (17:27 -0600)]
mesa: do scope replacement for variable initializers too

16 years agomesa: fix copy/paste error in GLSL error msg
Brian Paul [Fri, 31 Oct 2008 23:22:13 +0000 (17:22 -0600)]
mesa: fix copy/paste error in GLSL error msg

16 years agointel: pixelzoom doesn't apply to glBitmap, so disable the fallback.
Eric Anholt [Fri, 31 Oct 2008 20:37:42 +0000 (13:37 -0700)]
intel: pixelzoom doesn't apply to glBitmap, so disable the fallback.

16 years agointel: Remove fallback for glDrawPixels(GL_COLOR_INDEX)
Eric Anholt [Fri, 31 Oct 2008 20:18:56 +0000 (13:18 -0700)]
intel: Remove fallback for glDrawPixels(GL_COLOR_INDEX)

GL_COLOR_INDEX mode is just like other normal formats (that is, not
depth/stencil) and is uploaded fine by TexImage.

16 years agointel: Add more fallback debugging for glDrawPixels.
Eric Anholt [Fri, 31 Oct 2008 20:13:08 +0000 (13:13 -0700)]
intel: Add more fallback debugging for glDrawPixels.

16 years agoi965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.
Gary Wong [Fri, 31 Oct 2008 21:31:57 +0000 (17:31 -0400)]
i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.

(Only in fragment shaders, so far.  Support for NOISE3 and NOISE4 to come.)

16 years agoi965: support destination horiz strides in align1 access mode.
Gary Wong [Wed, 29 Oct 2008 23:53:33 +0000 (19:53 -0400)]
i965: support destination horiz strides in align1 access mode.

This is required for scatter writes in destination regions to work.

16 years agoCELL: fix use of stencil value mask
Robert Ellison [Fri, 31 Oct 2008 03:31:07 +0000 (21:31 -0600)]
CELL: fix use of stencil value mask

The Cell stencil tests were completely ignoring the stencil value mask.
Now the original code paths are still used if the stencil value mask
is all 1s; but code to use the mask for the stencil value and reference
value comparisons is now emitted if the mask is not all 1s.

16 years agomesa: fix a typo in the previous commit
Xiang, Haihao [Fri, 31 Oct 2008 01:24:27 +0000 (09:24 +0800)]
mesa: fix a typo in the previous commit

16 years agogallivm: replace the temp parameters of the JIT function with alloca'ed temps. This...
Stephane Marchesin [Thu, 30 Oct 2008 22:52:59 +0000 (23:52 +0100)]
gallivm: replace the temp parameters of the JIT function with alloca'ed temps. This avoids useless writes of temporary results.

16 years agocell: Protected use of non-initialized untile buffers
Jonathan White [Thu, 30 Oct 2008 21:53:12 +0000 (15:53 -0600)]
cell: Protected use of non-initialized untile buffers

16 years agoCELL: stencil bug fixes
Robert Ellison [Thu, 30 Oct 2008 21:24:23 +0000 (15:24 -0600)]
CELL: stencil bug fixes

Two definitive bugs in stenciling were fixed.

The first, reversed registers in the generated Select Bytes (selb)
instruction, caused the stenciling INCR and DECR operations to
fail dramatically, putting new values in where old values were
supposed to be and vice versa.

The second caused stencil tiles to not be read and written from
main memory by the SPUs.  A per-spu flag, spu.read_depth, was used
to indicate whether the SPU should be reading depth tiles, and was set
only when depth was enabled.  A second flag, spu.read_stencil, was
set when stenciling was enabled, but never referenced.

As stenciling and depth are in the same tiles on the Cell, and there
is no corresponding TAG_WRITE_TILE_STENCIL to complement
TAG_WRITE_TILE_COLOR and TAG_WRITE_TILE_Z, I fixed this by
eliminating the unused "spu.read_stencil", renaming "spu.read_depth"
to "spu.read_depth_stencil", and setting it if either stenciling or
depth is enabled.

I also added an optimization to the fragment ops generation code,
that avoids calculating stencil values and/or stencil writemask
when the stencil operations are all KEEP.

16 years agocell: Added check for PIPE_FLUSH_RENDER_CACHE to cell_flush to fix black blocks...
Jonathan White [Thu, 30 Oct 2008 17:22:20 +0000 (11:22 -0600)]
cell:  Added check for PIPE_FLUSH_RENDER_CACHE to cell_flush to fix black blocks during st_readpixels due to a flush wait not happening in order to allow any previous rendering to complete.

16 years agomesa: fix an issue in _mesa_PointParameterfv().
Xiang, Haihao [Thu, 30 Oct 2008 02:10:58 +0000 (10:10 +0800)]
mesa: fix an issue in _mesa_PointParameterfv().

16 years agogallium: grow SPE instruction buffer as needed
Brian Paul [Wed, 29 Oct 2008 22:56:28 +0000 (16:56 -0600)]
gallium: grow SPE instruction buffer as needed

16 years agogallium: no longer pass max_inst to ppc_init_func()
Brian Paul [Wed, 29 Oct 2008 22:35:59 +0000 (16:35 -0600)]
gallium: no longer pass max_inst to ppc_init_func()

16 years agogallium: use execmem for PPC code, grow instruction buffer as needed
Brian Paul [Wed, 29 Oct 2008 22:26:10 +0000 (16:26 -0600)]
gallium: use execmem for PPC code, grow instruction buffer as needed

16 years agoglx: added PFNGL*PROC typedefs for GLX 1.3 functions
Brian Paul [Wed, 29 Oct 2008 21:49:19 +0000 (15:49 -0600)]
glx: added PFNGL*PROC typedefs for GLX 1.3 functions

Since we define GLX_VERSION_1_3 in glx.h, the typedefs in the glxext.h header
were getting skipped.

16 years agogallium: fix alignment parameter passed to u_mmAllocMem()
Brian Paul [Wed, 29 Oct 2008 20:28:57 +0000 (14:28 -0600)]
gallium: fix alignment parameter passed to u_mmAllocMem()

Was 32, now 5.  The param is expressed as a power of two exponent.
The net effect is that the alignment was a no-op on X86 but on PPC we
always got the same memory address everytime rtasm_exec_malloc() was called.

16 years agogallium: prefix memory manager functions with u_ to differentiate from functions...
Brian Paul [Wed, 29 Oct 2008 20:19:12 +0000 (14:19 -0600)]
gallium: prefix memory manager functions with u_ to differentiate from functions in mesa/main/mm.c

16 years agogallium: test for PIPE_OS_LINUX instead of __linux__
Brian Paul [Wed, 29 Oct 2008 20:08:13 +0000 (14:08 -0600)]
gallium: test for PIPE_OS_LINUX instead of __linux__

16 years agocell: add scalar param to emit_function_call() to indicate scalar function calls
Brian Paul [Wed, 29 Oct 2008 18:14:11 +0000 (12:14 -0600)]
cell: add scalar param to emit_function_call() to indicate scalar function calls

Scalar calls only use the X component of the src regs and smear the
result across the dest register's X/Y/Z/W.

16 years agocell: use simd utilities for pow, exp2, log2
Brian Paul [Wed, 29 Oct 2008 18:12:30 +0000 (12:12 -0600)]
cell: use simd utilities for pow, exp2, log2

16 years agogallium: added PPC support for SWZ, XPD, POW
Brian Paul [Wed, 29 Oct 2008 17:05:34 +0000 (11:05 -0600)]
gallium: added PPC support for SWZ, XPD, POW

That's the last of the ARB_v_p opcodes, except for ARL.

16 years agogallium: clean-ups
Brian Paul [Wed, 29 Oct 2008 17:04:05 +0000 (11:04 -0600)]
gallium: clean-ups

16 years agogallium: added ppc_vnmsubfp()
Brian Paul [Wed, 29 Oct 2008 17:03:51 +0000 (11:03 -0600)]
gallium: added ppc_vnmsubfp()

16 years agoglu: fix compilation problem when using Windows gl.h (sf bug 2204589)
Nigel Stewart [Wed, 29 Oct 2008 15:22:05 +0000 (09:22 -0600)]
glu: fix compilation problem when using Windows gl.h (sf bug 2204589)

16 years agointel: Fix glDrawPixels with 4d RasterPos.
Eric Anholt [Wed, 29 Oct 2008 05:50:52 +0000 (22:50 -0700)]
intel: Fix glDrawPixels with 4d RasterPos.

16 years agoi965: Fix check_aperture calls to cover everything needed for the prim at once.
Eric Anholt [Fri, 24 Oct 2008 20:02:21 +0000 (13:02 -0700)]
i965: Fix check_aperture calls to cover everything needed for the prim at once.

Previously, since my check_aperture API change, we would check each piece of
state against the batchbuffer individually, but not all the state against the
batchbuffer at once.  In addition to not being terribly useful in assuring
success, it probably also increased CPU load by calling check_aperture many
times per primitive.

16 years agomove glut.h include
Brian Paul [Wed, 29 Oct 2008 01:01:38 +0000 (19:01 -0600)]
move glut.h include

16 years agomesa: use APP_CC compiler in progs/vp/
Brian Paul [Wed, 29 Oct 2008 01:00:56 +0000 (19:00 -0600)]
mesa: use APP_CC compiler in progs/vp/

16 years agomesa: convert log/exp tests to ARB_v_p
Brian Paul [Wed, 29 Oct 2008 01:00:25 +0000 (19:00 -0600)]
mesa: convert log/exp tests to ARB_v_p

16 years agogallium: ppc: implement TGSI_OPCODE_LOG/EXP
Brian Paul [Wed, 29 Oct 2008 00:57:54 +0000 (18:57 -0600)]
gallium: ppc: implement TGSI_OPCODE_LOG/EXP

16 years agomesa: include glslcompiler driver in tarball
Brian Paul [Wed, 29 Oct 2008 00:27:21 +0000 (18:27 -0600)]
mesa: include glslcompiler driver in tarball

16 years agogallium: remove old code
Brian Paul [Wed, 29 Oct 2008 00:22:14 +0000 (18:22 -0600)]
gallium: remove old code

16 years agogallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with...
Brian Paul [Wed, 29 Oct 2008 00:21:03 +0000 (18:21 -0600)]
gallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with constants

16 years agomesa: don't continually redraw
Brian Paul [Wed, 29 Oct 2008 00:18:31 +0000 (18:18 -0600)]
mesa: don't continually redraw

16 years agomesa: fix stand-alone glslcompiler build
Brian Paul [Tue, 28 Oct 2008 23:03:35 +0000 (17:03 -0600)]
mesa: fix stand-alone glslcompiler build

16 years agointel: Don't keep intel->pClipRects, and instead just calculate it when needed.
Eric Anholt [Mon, 20 Oct 2008 00:46:41 +0000 (17:46 -0700)]
intel: Don't keep intel->pClipRects, and instead just calculate it when needed.

This avoids issues with dereferencing stale cliprects around intel_draw_buffer
time.  Additionally, take advantage of cliprects staying constant for FBOs and
DRI2, and emit cliprects in the batchbuffer instead of having to flush batch
each time they change.

16 years agocell: fix a number of fence issues
Brian Paul [Tue, 28 Oct 2008 20:03:51 +0000 (14:03 -0600)]
cell: fix a number of fence issues

Plus add assertions to check status, alignment, etc.

16 years agogallium: use some PPC vec registers to store TGSI temps
Brian Paul [Tue, 28 Oct 2008 19:17:48 +0000 (13:17 -0600)]
gallium: use some PPC vec registers to store TGSI temps

This could be a lot better, but already makes for better code.

16 years agoi965: Allocate temporaries contiguously with other regs in fragment shaders.
Gary Wong [Tue, 28 Oct 2008 19:03:14 +0000 (15:03 -0400)]
i965: Allocate temporaries contiguously with other regs in fragment shaders.

This is required for threads to be spawned with correctly sized GRF
register blocks.

16 years agoconfigure.ac: Add support for gnu/kfreebsd
Julien Cristau [Tue, 28 Oct 2008 17:56:05 +0000 (18:56 +0100)]
configure.ac: Add support for gnu/kfreebsd

Check for *-gnu instead of linux* to set DEFINES.
Change some freebsd* checks to *freebsd*.

16 years agocell: don't include libmisc.h
Brian Paul [Tue, 28 Oct 2008 18:41:47 +0000 (12:41 -0600)]
cell: don't include libmisc.h

Doesn't seem to be needed and fixes compilation with SDK 3.1 beta.

16 years agocell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screen
Brian Paul [Tue, 28 Oct 2008 00:25:33 +0000 (18:25 -0600)]
cell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screen

16 years agocell: added -D_BSD_SOURCE flag
Brian Paul [Tue, 28 Oct 2008 00:15:56 +0000 (18:15 -0600)]
cell: added -D_BSD_SOURCE flag

Needed to get MAP_ANONYMOUS in execmem.c and to define timezone type in glxgears.c
Adding -std=c99 earlier caused this regression.

16 years agogallium: ppc: emit fewer 'li' instructions prior to vector loads/stores
Brian Paul [Mon, 27 Oct 2008 21:58:00 +0000 (15:58 -0600)]
gallium: ppc: emit fewer 'li' instructions prior to vector loads/stores

16 years agogallium: ppc: use a src register cache to avoid redundant loads
Brian Paul [Mon, 27 Oct 2008 21:36:25 +0000 (15:36 -0600)]
gallium: ppc: use a src register cache to avoid redundant loads

16 years agocell: Added support for untwiddling textures during glReadPixels. This allows glRea...
Jonathan White [Mon, 27 Oct 2008 22:29:20 +0000 (16:29 -0600)]
cell: Added support for untwiddling textures during glReadPixels.   This allows glReadPixels to work correctly on cell now and makes conformance tests that use pixel compares useable.

16 years agoi965: Fix compiler warning from unused var.
Eric Anholt [Fri, 24 Oct 2008 19:43:17 +0000 (12:43 -0700)]
i965: Fix compiler warning from unused var.

16 years agoi965: Remove dead brw->wrap flag.
Eric Anholt [Fri, 24 Oct 2008 19:30:47 +0000 (12:30 -0700)]
i965: Remove dead brw->wrap flag.

16 years agointel: Use dri_bo_get_tiling to get tiling mode of buffers we get from names.
Eric Anholt [Tue, 14 Oct 2008 20:30:52 +0000 (13:30 -0700)]
intel: Use dri_bo_get_tiling to get tiling mode of buffers we get from names.

Previously, we were trying to pass a name to the GEM GET_TILING_IOCTL,
which needs a handle, and failing.  None of our buffers were tiled yet, but
they will be at some point with DRI2 and UXA.

16 years agodisable OPENGL_BIT
Alan Hourihane [Mon, 27 Oct 2008 15:37:54 +0000 (15:37 +0000)]
disable OPENGL_BIT

16 years agoMerge commit 'origin/master' into gallium-0.2
Alan Hourihane [Mon, 27 Oct 2008 15:37:22 +0000 (15:37 +0000)]
Merge commit 'origin/master' into gallium-0.2

16 years agointel: GL_FALSE on a BO if it won't be modified when mapping this BO. (thanks Eric).
Xiang, Haihao [Sat, 25 Oct 2008 22:31:33 +0000 (06:31 +0800)]
intel: GL_FALSE on a BO if it won't be modified when mapping this BO. (thanks Eric).

16 years agoi965: don't emit state when dri_bufmgr_check_aperture_space fails.
Xiang, Haihao [Fri, 24 Oct 2008 08:05:48 +0000 (16:05 +0800)]
i965: don't emit state when dri_bufmgr_check_aperture_space fails.

This ensures there is an unfilled batchbuffer used for emitting states again. Partial fix for #17964.

16 years agointel: fallback for intelEmitCopyBlit.
Xiang, Haihao [Fri, 24 Oct 2008 07:55:32 +0000 (15:55 +0800)]
intel: fallback for intelEmitCopyBlit.

Use _mesa_copy_rect instead of BLT operation if dri_bufmgr_check_aperture_space
still fails after flushing batchbuffer. Partial fix for #17964.

16 years agomesa: version 43 of glext.h
Brian Paul [Thu, 23 Oct 2008 17:23:36 +0000 (11:23 -0600)]
mesa: version 43 of glext.h

16 years agomesa: version 21 of glxext.h
Brian Paul [Thu, 23 Oct 2008 17:21:32 +0000 (11:21 -0600)]
mesa: version 21 of glxext.h

16 years agomesa: remove calls to _mesa_adjust_image_for_convolution(), use texImage fields
Brian Paul [Thu, 23 Oct 2008 16:49:51 +0000 (10:49 -0600)]
mesa: remove calls to _mesa_adjust_image_for_convolution(), use texImage fields

The texImage->Width/Height fields will have the post-convolution width/height.

16 years agomesa: updated status in cell.html
Brian Paul [Thu, 23 Oct 2008 16:47:17 +0000 (10:47 -0600)]
mesa: updated status in cell.html

16 years agoscons: ppc support.
Michel Dänzer [Thu, 23 Oct 2008 08:28:48 +0000 (10:28 +0200)]
scons: ppc support.

16 years agoscons: Don't hardcode any drivers for the xlib winsys, just pick suitable ones.
Michel Dänzer [Thu, 23 Oct 2008 08:27:39 +0000 (10:27 +0200)]
scons: Don't hardcode any drivers for the xlib winsys, just pick suitable ones.

16 years agogallium: Fix typo, PPC_FEATURE_HAS_ALTIVEC not PPC_FEATURES_...
Michel Dänzer [Thu, 23 Oct 2008 08:26:19 +0000 (10:26 +0200)]
gallium: Fix typo, PPC_FEATURE_HAS_ALTIVEC not PPC_FEATURES_...

16 years agogallium: PPC: clamp y to [-128,128] for LIT
Brian Paul [Wed, 22 Oct 2008 23:29:37 +0000 (17:29 -0600)]
gallium: PPC: clamp y to [-128,128] for LIT

16 years agogallium: remove ppc_vload_float(), rename ppc_vecmove() -> ppc_vmove().
Brian Paul [Wed, 22 Oct 2008 23:21:43 +0000 (17:21 -0600)]
gallium: remove ppc_vload_float(), rename ppc_vecmove() -> ppc_vmove().

16 years agogallium: new PPC built-in constants array
Brian Paul [Wed, 22 Oct 2008 23:19:12 +0000 (17:19 -0600)]
gallium: new PPC built-in constants array

It's hard to form PPC vector immediates so load them from an array.

16 years agogallium: added ppc_vzero()
Brian Paul [Wed, 22 Oct 2008 23:17:11 +0000 (17:17 -0600)]
gallium: added ppc_vzero()

16 years agogallium: GALLIUM_NOPPC debug var to disable PPC codegen
Brian Paul [Wed, 22 Oct 2008 22:58:05 +0000 (16:58 -0600)]
gallium: GALLIUM_NOPPC debug var to disable PPC codegen

16 years agogallium: PPC LIT instruction (not quite complete yet)
Brian Paul [Wed, 22 Oct 2008 22:57:22 +0000 (16:57 -0600)]
gallium: PPC LIT instruction (not quite complete yet)

16 years agogallium: var renaming in tgsi_ppc.c
Brian Paul [Wed, 22 Oct 2008 21:34:16 +0000 (15:34 -0600)]
gallium: var renaming in tgsi_ppc.c

16 years agogallium: remove SSE remnants from tgsi_ppc.c
Brian Paul [Wed, 22 Oct 2008 21:30:00 +0000 (15:30 -0600)]
gallium: remove SSE remnants from tgsi_ppc.c

16 years agocell: turn on PPC assembly vertex transform
Brian Paul [Wed, 22 Oct 2008 21:25:04 +0000 (15:25 -0600)]
cell: turn on PPC assembly vertex transform

gears runs with it now (3x faster FPS than before).

16 years agocell: TGSI->PPC for RSQ, RCP and src register sign modes
Brian Paul [Wed, 22 Oct 2008 21:21:22 +0000 (15:21 -0600)]
cell: TGSI->PPC for RSQ, RCP and src register sign modes

16 years agogallium: TGSI->PPC inequality operators
Brian Paul [Wed, 22 Oct 2008 20:48:58 +0000 (14:48 -0600)]
gallium: TGSI->PPC inequality operators

16 years agogallium: added ppc_vload_float(), for limited cases
Brian Paul [Wed, 22 Oct 2008 20:48:33 +0000 (14:48 -0600)]
gallium: added ppc_vload_float(), for limited cases

16 years agogallium: fix broken TGSI_FILE_CONSTANT case, use ppc_reserver_register()
Brian Paul [Wed, 22 Oct 2008 19:59:11 +0000 (13:59 -0600)]
gallium: fix broken TGSI_FILE_CONSTANT case, use ppc_reserver_register()

16 years agogallium: fix-up confusing register allocation masks in rtasm_ppc.c
Brian Paul [Wed, 22 Oct 2008 19:57:56 +0000 (13:57 -0600)]
gallium: fix-up confusing register allocation masks in rtasm_ppc.c

Plus, add ppc_reserve_register() func.

16 years agocell: add -std=c99 flag to solve some warning/prototype issues
Brian Paul [Wed, 22 Oct 2008 17:13:55 +0000 (11:13 -0600)]
cell: add -std=c99 flag to solve some warning/prototype issues

16 years agogallium: temporarily disable PPC vertex shader until more things run
Brian Paul [Wed, 22 Oct 2008 17:13:31 +0000 (11:13 -0600)]
gallium: temporarily disable PPC vertex shader until more things run

16 years agogallium: PPC vertex shader support
Brian Paul [Wed, 22 Oct 2008 17:08:45 +0000 (11:08 -0600)]
gallium: PPC vertex shader support

Works, but dead code lingering, debug code present, etc.

16 years agogallium: TGSI to PPC code generation
Brian Paul [Wed, 22 Oct 2008 17:07:35 +0000 (11:07 -0600)]
gallium: TGSI to PPC code generation

Based on the TGSIto SSE2 code generator.
Incomplete and lots of SSE stuff still hanging around but the basic dozen
or so TGSI opcodes are functioning.

16 years agogallium: added ppc_lvewx()
Brian Paul [Wed, 22 Oct 2008 17:06:39 +0000 (11:06 -0600)]
gallium: added ppc_lvewx()

16 years agocell: include pthread.h
Brian Paul [Wed, 22 Oct 2008 17:04:29 +0000 (11:04 -0600)]
cell: include pthread.h

16 years agocell: implement many more PPC instructions for code gen
Brian Paul [Wed, 22 Oct 2008 16:35:38 +0000 (10:35 -0600)]
cell: implement many more PPC instructions for code gen

16 years agocell: implement fencing for texture buffers
Brian Paul [Wed, 22 Oct 2008 16:34:13 +0000 (10:34 -0600)]
cell: implement fencing for texture buffers

If we delete a texture, we need to keep the underlying tiled data buffer
around until any rendering that references it has completed.
Keep a list of buffers referenced by a rendering batch.  Unref/free them when
the associated batch's fence is executed/signalled.

16 years agocell: set cell->num_textures
Brian Paul [Wed, 22 Oct 2008 16:30:12 +0000 (10:30 -0600)]
cell: set cell->num_textures

16 years agocell: note that dst reg writing needs clamping
Brian Paul [Wed, 22 Oct 2008 14:12:42 +0000 (08:12 -0600)]
cell: note that dst reg writing needs clamping

16 years agomesa: move convolution image adjustment code for glCopyTexSubImage1/2/3D()
Brian Paul [Wed, 22 Oct 2008 13:53:26 +0000 (07:53 -0600)]
mesa: move convolution image adjustment code for glCopyTexSubImage1/2/3D()

Do it after initial error checking, after we know the texture's internal format.

16 years agomesa: some re-org of glCopyTexSubImage1/2/3D() error checking
Brian Paul [Wed, 22 Oct 2008 13:48:37 +0000 (07:48 -0600)]
mesa: some re-org of glCopyTexSubImage1/2/3D() error checking

16 years agomesa: in textore.c, only adjust image for convolution if image is a color format
Brian Paul [Wed, 22 Oct 2008 13:36:33 +0000 (07:36 -0600)]
mesa: in textore.c, only adjust image for convolution if image is a color format

Makes things consistant with the code in teximage.c.
We only want to apply convolution to color formats (not depth/index formats)

16 years agogallium: implement tests for PPC/PPC64
Brian Paul [Tue, 21 Oct 2008 20:12:17 +0000 (14:12 -0600)]
gallium: implement tests for PPC/PPC64