Commit graph

92185 commits

Author SHA1 Message Date
Eric Anholt
69e10084cd intel: pixelzoom doesn't apply to glBitmap, so disable the fallback. 2008-10-31 16:04:50 -07:00
Eric Anholt
018088996a 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.
2008-10-31 16:04:50 -07:00
Eric Anholt
ed478a5fde intel: Add more fallback debugging for glDrawPixels. 2008-10-31 16:04:50 -07:00
Gary Wong
ab3e9c481f i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.
(Only in fragment shaders, so far.  Support for NOISE3 and NOISE4 to come.)
2008-10-31 17:37:26 -04:00
Gary Wong
58dc8b7db5 i965: support destination horiz strides in align1 access mode.
This is required for scatter writes in destination regions to work.
2008-10-31 17:34:32 -04:00
Robert Ellison
14e1505cce 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.
2008-10-30 21:31:36 -06:00
Xiang, Haihao
963071ffea mesa: fix a typo in the previous commit 2008-10-31 09:24:27 +08:00
Stephane Marchesin
b81a7dc2d8 gallivm: replace the temp parameters of the JIT function with alloca'ed temps. This avoids useless writes of temporary results. 2008-10-30 23:52:59 +01:00
Jonathan White
443e102fdc cell: Protected use of non-initialized untile buffers 2008-10-30 15:53:39 -06:00
Robert Ellison
711f8a1dd9 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.
2008-10-30 15:24:52 -06:00
Jonathan White
157ddc1418 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. 2008-10-30 11:22:38 -06:00
Xiang, Haihao
bccc09e6bf mesa: fix an issue in _mesa_PointParameterfv(). 2008-10-30 10:40:51 +08:00
Brian Paul
766cb95a45 gallium: new sanity assertions in mmAllocMem() 2008-10-29 17:02:56 -06:00
Brian Paul
7d7f0f1706 gallium: fix copy&paste bug 2008-10-29 17:02:30 -06:00
Brian Paul
f952aac1da gallium: grow SPE instruction buffer as needed 2008-10-29 16:56:28 -06:00
Brian Paul
725ba94ce5 gallium: no longer pass max_inst to ppc_init_func() 2008-10-29 16:35:59 -06:00
Brian Paul
a5d920297a gallium: use execmem for PPC code, grow instruction buffer as needed 2008-10-29 16:26:10 -06:00
Brian Paul
239ce2240a 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.
2008-10-29 15:49:19 -06:00
Brian Paul
8160cb4935 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.
2008-10-29 14:55:57 -06:00
Brian Paul
8828d52348 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.
2008-10-29 14:52:35 -06:00
Brian Paul
3ad56968f0 gallium: prefix memory manager functions with u_ to differentiate from functions in mesa/main/mm.c 2008-10-29 14:19:12 -06:00
Brian Paul
09570d2e73 gallium: test for PIPE_OS_LINUX instead of __linux__ 2008-10-29 14:08:13 -06:00
Brian Paul
1f7a323a13 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.
2008-10-29 12:14:11 -06:00
Brian Paul
8b3af5c5d6 cell: use simd utilities for pow, exp2, log2 2008-10-29 12:12:30 -06:00
Brian Paul
4e1c33700d gallium: added PPC support for SWZ, XPD, POW
That's the last of the ARB_v_p opcodes, except for ARL.
2008-10-29 11:05:34 -06:00
Brian Paul
75b92764a7 gallium: clean-ups 2008-10-29 11:04:05 -06:00
Brian Paul
7640264064 gallium: added ppc_vnmsubfp() 2008-10-29 11:03:51 -06:00
Nigel Stewart
cd1283f515 glu: fix compilation problem when using Windows gl.h (sf bug 2204589) 2008-10-29 09:23:48 -06:00
Ben Skeggs
92674bc888 nv40: rename some vars in texture layout code 2008-10-29 18:12:48 +11:00
Eric Anholt
26c1c04fd0 intel: Fix glDrawPixels with 4d RasterPos. 2008-10-28 22:52:38 -07:00
Eric Anholt
59b2c2adbb 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.
2008-10-28 22:52:38 -07:00
Brian Paul
54d684f23d move glut.h include 2008-10-28 19:01:38 -06:00
Brian Paul
91473dac5a mesa: use APP_CC compiler in progs/vp/ 2008-10-28 19:00:56 -06:00
Brian Paul
c25adeae18 mesa: convert log/exp tests to ARB_v_p 2008-10-28 19:00:25 -06:00
Brian Paul
5db0372b3c gallium: ppc: implement TGSI_OPCODE_LOG/EXP 2008-10-28 18:57:54 -06:00
Brian Paul
835a9fef05 mesa: include glslcompiler driver in tarball 2008-10-28 18:27:21 -06:00
Brian Paul
a045b92511 gallium: remove old code 2008-10-28 18:22:14 -06:00
Brian Paul
f4e9526add gallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with constants 2008-10-28 18:21:03 -06:00
Brian Paul
0a8590e3cf mesa: don't continually redraw 2008-10-28 18:18:31 -06:00
Brian Paul
1100866aa1 mesa: fix stand-alone glslcompiler build 2008-10-28 17:03:49 -06:00
Eric Anholt
0cade4de4f 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.
2008-10-28 13:23:33 -07:00
Brian Paul
db680ac0e3 cell: fix a number of fence issues
Plus add assertions to check status, alignment, etc.
2008-10-28 14:03:51 -06:00
Brian Paul
c46583416a gallium: use some PPC vec registers to store TGSI temps
This could be a lot better, but already makes for better code.
2008-10-28 13:17:48 -06:00
Gary Wong
e92a457ac0 i965: Allocate temporaries contiguously with other regs in fragment shaders.
This is required for threads to be spawned with correctly sized GRF
register blocks.
2008-10-28 15:03:14 -04:00
Julien Cristau
98fcdf3f49 configure.ac: Add support for gnu/kfreebsd
Check for *-gnu instead of linux* to set DEFINES.
Change some freebsd* checks to *freebsd*.
2008-10-28 11:45:05 -07:00
Brian Paul
5748759087 cell: don't include libmisc.h
Doesn't seem to be needed and fixes compilation with SDK 3.1 beta.
2008-10-28 12:41:47 -06:00
Keith Whitwell
52e6fbb655 gallium: recognize DEBUG as well as DBG for debugging 2008-10-28 16:28:56 +00:00
Brian Paul
d01324eb78 cell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screen 2008-10-27 18:25:33 -06:00
Brian Paul
2b9b42befa 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.
2008-10-27 18:16:34 -06:00
Brian Paul
a1754424b6 gallium: ppc: emit fewer 'li' instructions prior to vector loads/stores 2008-10-27 17:56:22 -06:00