Keith Whitwell [Thu, 18 Sep 2008 17:57:46 +0000 (18:57 +0100)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
progs/trivial/Makefile
src/mesa/glapi/glthread.c
Keith Whitwell [Fri, 12 Sep 2008 14:10:50 +0000 (15:10 +0100)]
mesa: bring sources into line with sources.mak, but omit gallium code
George Sapountzis [Fri, 12 Sep 2008 09:43:10 +0000 (12:43 +0300)]
dri/swrast: fix swapBuffers after dri2
Xiang, Haihao [Fri, 12 Sep 2008 01:25:34 +0000 (09:25 +0800)]
i965: Add support for G41 chipset which is another 4 series.
Jonathan White [Thu, 18 Sep 2008 17:11:49 +0000 (11:11 -0600)]
cell: Fix bug with complement logic for SGE and SLE
Jonathan White [Thu, 18 Sep 2008 16:37:45 +0000 (10:37 -0600)]
cell: Added SGE and SLE instructions to dispatch function
Jonathan White [Thu, 18 Sep 2008 16:36:09 +0000 (10:36 -0600)]
cell: Added SGE and SLE instructions
Robert Ellison [Thu, 18 Sep 2008 07:29:41 +0000 (01:29 -0600)]
CELL: finish fragment ops blending (except for unusual D3D modes)
- Added new "macro" functions spe_float_min() and spe_float_max()
to rtasm_ppc_spe.{ch}. These emit instructions that cause
the minimum or maximum of each element in a vector of floats
to be saved in the destination register.
- Major changes to cell_gen_fragment.c to implement all the blending
modes (except for the mysterious D3D-based PIPE_BLENDFACTOR_SRC1_COLOR,
PIPE_BLENDFACTOR_SRC1_ALPHA, PIPE_BLENDFACTOR_INV_SRC1_COLOR, and
PIPE_BLENDFACTOR_INV_SRC1_ALPHA).
- Some revamping of code in cell_gen_fragment.c: use the new spe_float_min()
and spe_float_max() functions (instead of expanding these calculations
inline via macros); create and use an inline utility function for handling
"optional" register allocation (for the {1,1,1,1} vector, and the
blend color vectors) instead of expanding with macros; use the Float
Multiply and Subtract (fnms) instruction to simplify and optimize many
blending calculations.
Brian Paul [Wed, 17 Sep 2008 15:05:04 +0000 (09:05 -0600)]
mesa: fix bug in previous changes to _slang_resolve_attributes()
Brian Paul [Wed, 17 Sep 2008 14:17:02 +0000 (08:17 -0600)]
cell: example of doing fs/fm sequence with fnms in blending
Brian Paul [Wed, 17 Sep 2008 14:11:42 +0000 (08:11 -0600)]
cell: dump generated code if CELL_DEBUG=asm
Robert Ellison [Wed, 17 Sep 2008 08:30:20 +0000 (02:30 -0600)]
CELL: fleshing out the blending fragment ops
- Added two new debug flags (to be used with the CELL_DEBUG environment
variable). The first, "CELL_DEBUG=fragops", activates SPE fragment
ops debug messages. The second, "CELL_DEBUG=fragopfallback", will
eventually be used to disable the use of generated SPE code for
fragment ops in favor of the default fallback reference routine.
(During development, though, the parity of this flag is reversed:
all users will get the reference code *unless* CELL_DEBUG=fragopfallback
is set. This will prevent hiccups in code generation from affecting
the other developers.)
- Formalized debug message usage and macros in spu/spu_main.c.
- Added lots of new code to ppu/cell_gen_fragment.c to extend the
number of supported source RGB factors from 4 to 15, and to
complete the list of supported blend equations.
More coming, to complete the source and destination RGB and alpha
factors, and to complete the rest of the fragment operations...
Eric Anholt [Wed, 17 Sep 2008 00:01:06 +0000 (17:01 -0700)]
intel: Destroy bufmgr in screen destroy, not context.
Caused server crashes on second context creation since
7e0bbdcf033981282978554c2e68ce48b55aa291.
Bug #17600.
Brian Paul [Tue, 16 Sep 2008 22:28:36 +0000 (16:28 -0600)]
mesa: rework GLSL vertex attribute binding
Calls to glBindAttribLocation() should not take effect until the next time
that glLinkProgram() is called.
gl_shader_program::Attributes now just contains user-defined bindings.
gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
Jonathan White [Tue, 16 Sep 2008 22:00:42 +0000 (16:00 -0600)]
cell: Added RCP and RSQ instruction support.
Jonathan White [Tue, 16 Sep 2008 19:56:56 +0000 (13:56 -0600)]
cell: Added DP3 and DP4 instructions
Brian Paul [Tue, 16 Sep 2008 19:23:01 +0000 (13:23 -0600)]
mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList())
Michal Krol [Tue, 16 Sep 2008 17:26:28 +0000 (19:26 +0200)]
st: hash-warning not recognised on Windows.
Jonathan White [Tue, 16 Sep 2008 15:42:28 +0000 (09:42 -0600)]
cell: Optimized LERP with fma
Please enter the commit message for your changes.
Jonathan White [Tue, 16 Sep 2008 15:36:38 +0000 (09:36 -0600)]
cell: Fixed MIN/MAX algorithm
Brian Paul [Tue, 16 Sep 2008 01:38:39 +0000 (19:38 -0600)]
cell: export CELL_DEBUG=asm to dump SPU assembly code
Brian Paul [Mon, 15 Sep 2008 23:10:04 +0000 (17:10 -0600)]
mesa: fix MSAA enable state in update_multisample()
Jonathan White [Mon, 15 Sep 2008 21:45:51 +0000 (15:45 -0600)]
cell: Added LERP instruction
Brian Paul [Mon, 15 Sep 2008 21:10:02 +0000 (15:10 -0600)]
gallium: emit SPU instructions in assembler-compatible syntax
Jonathan White [Mon, 15 Sep 2008 19:45:09 +0000 (13:45 -0600)]
cell: Added support for SLT, SEQ and SNE instructions
Jonathan White [Mon, 15 Sep 2008 18:27:10 +0000 (12:27 -0600)]
cell: Added support for ABS instruction
Jonathan White [Mon, 15 Sep 2008 17:56:51 +0000 (11:56 -0600)]
Added support for SUB and MAD instructions
Jonathan White [Mon, 15 Sep 2008 17:56:21 +0000 (11:56 -0600)]
Fixed emit_RRR
Jakob Bornecrantz [Mon, 15 Sep 2008 15:55:09 +0000 (17:55 +0200)]
i915simple: dri winsys does now compile and works
Glxgears hits an assert, but tri works
Brian Paul [Mon, 15 Sep 2008 15:07:32 +0000 (09:07 -0600)]
mesa: remove some assertions that are invalid during context tear-down
Keith Whitwell [Mon, 15 Sep 2008 12:47:25 +0000 (13:47 +0100)]
mesa: get another class of degenerate dlists working
Primitive begin in one dlist, end in another.
Keith Whitwell [Mon, 15 Sep 2008 12:47:12 +0000 (13:47 +0100)]
add dlist-degenerate test case
Shane Blackett [Sun, 14 Sep 2008 23:51:01 +0000 (17:51 -0600)]
glut: s/glut_fbc.c/glut_fcb.c/
Michal Krol [Sun, 14 Sep 2008 17:04:53 +0000 (19:04 +0200)]
draw: Silence compiler warnings on Windows.
Brian Paul [Sat, 13 Sep 2008 21:32:46 +0000 (15:32 -0600)]
cell: implement negation, absolute value and set-sign for src regs in code gen
Brian Paul [Sat, 13 Sep 2008 21:31:46 +0000 (15:31 -0600)]
negate.txt - test negation of a src reg
Brian Paul [Sat, 13 Sep 2008 21:21:58 +0000 (15:21 -0600)]
gallium: add another value check to util_fast_pow()
Fixes glitches seen in morph3d demo.
Jakub Bogusz [Sat, 13 Sep 2008 20:35:02 +0000 (14:35 -0600)]
tdfx: fix crash and lack of visuals bug
Guillaume Melquiond [Sat, 13 Sep 2008 20:25:02 +0000 (14:25 -0600)]
i915: fix himask constant init for 64-bit build
Guillaume Melquiond [Sat, 13 Sep 2008 20:24:31 +0000 (14:24 -0600)]
glx: fix 64-bit datatype issue
Guillaume Melquiond [Sat, 13 Sep 2008 20:23:39 +0000 (14:23 -0600)]
mesa: return after _mesa_problem() calls
Guillaume Melquiond [Sat, 13 Sep 2008 20:23:14 +0000 (14:23 -0600)]
mesa: #include <stdio.h>
Guillaume Melquiond [Sat, 13 Sep 2008 20:22:15 +0000 (14:22 -0600)]
remove invalid XDestroyWindow() call
Guillaume Melquiond [Sat, 13 Sep 2008 20:21:50 +0000 (14:21 -0600)]
silence warning
Guillaume Melquiond [Sat, 13 Sep 2008 20:20:14 +0000 (14:20 -0600)]
GLU: fix asst warnings
Brian Paul [Sat, 13 Sep 2008 03:54:25 +0000 (21:54 -0600)]
cell: remove old disassembly/dump code; use dumper code in SPE emitter.
Brian Paul [Sat, 13 Sep 2008 03:52:47 +0000 (21:52 -0600)]
gallium: added print/dump code to SPE code emitter
Brian Paul [Sat, 13 Sep 2008 03:09:10 +0000 (21:09 -0600)]
cell: implement DDX/DDY codegen (untested)
Brian Paul [Sat, 13 Sep 2008 03:08:01 +0000 (21:08 -0600)]
gallium: added spe_splat_word()
Brian Paul [Fri, 12 Sep 2008 23:10:20 +0000 (17:10 -0600)]
cell: implement TGSI immediates in SPE code generator
Eric Anholt [Fri, 12 Sep 2008 22:48:13 +0000 (15:48 -0700)]
intel: Add a width field to regions, and use it for making miptrees in TFP.
Otherwise, we would use the pitch as width of the texture, and compiz would
render the pitch padding on the right hand side.
Brian Paul [Fri, 12 Sep 2008 22:31:53 +0000 (16:31 -0600)]
cell: initial support for IF/ELSE/ENDIF in fragment shader codegen
Only one level of if/else/endif nesting is currently working.
Brian Paul [Fri, 12 Sep 2008 22:11:52 +0000 (16:11 -0600)]
cell: evaluate multiple fragment inputs
Eric Anholt [Fri, 12 Sep 2008 21:18:14 +0000 (14:18 -0700)]
Finish off the previous fix for TFP.
A couple of those lines of debug printfs I deleted weren't actually debug
printfs.
Brian Paul [Fri, 12 Sep 2008 21:07:04 +0000 (15:07 -0600)]
cell: disable invalid spe_release_func() calls, fixes crash on exit
Eric Anholt [Fri, 12 Sep 2008 20:47:37 +0000 (13:47 -0700)]
intel: Don't segfault on TFP from a bad drawable.
Eric Anholt [Thu, 11 Sep 2008 16:50:47 +0000 (09:50 -0700)]
intel: Remove dead allow_batchbuffer param.
Jonathan White [Fri, 12 Sep 2008 19:24:05 +0000 (13:24 -0600)]
Makefile was previously checked in with merge diffs still present. I just selected HEAD and removed the old.
Brian Paul [Fri, 12 Sep 2008 18:05:10 +0000 (12:05 -0600)]
mesa: bump gallium version string to 0.2
Brian Paul [Fri, 12 Sep 2008 18:04:49 +0000 (12:04 -0600)]
cell: more documentation updates
Brian Paul [Fri, 12 Sep 2008 17:43:37 +0000 (11:43 -0600)]
cell: implement colormask on fallback path
Also, some var renaming and additional comments
Brian Paul [Fri, 12 Sep 2008 17:42:33 +0000 (11:42 -0600)]
gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec path
tgsi_exec_machine_bind_shader() isn't cheap so avoiding unecessary calls
is a big win.
A similar change should be done for softpipe's fragment exec path but
extra care needs to be taken with the texture sampler state/params.
Brian Paul [Fri, 12 Sep 2008 17:40:31 +0000 (11:40 -0600)]
gallium: use copy_token() function to avoid type punning/aliasing problems
This fixes parsing errors seen with optimized builds on PPC (which led to crashes).
The memcpy() is heavy-handed, but works. A lighter uint assignment could
be used on x86...
Brian Paul [Fri, 12 Sep 2008 17:35:22 +0000 (11:35 -0600)]
cell: fix twiddled tile display for XSHM. Fixed blank window problem.
Brian Paul [Fri, 12 Sep 2008 17:02:18 +0000 (11:02 -0600)]
gallium: use new compare32() function to fix warnings about type punning and aliasing
Brian Paul [Fri, 12 Sep 2008 17:01:31 +0000 (11:01 -0600)]
gallium: silence warning
Brian Paul [Fri, 12 Sep 2008 15:43:11 +0000 (09:43 -0600)]
cell: fix non-debug build error
Brian Paul [Fri, 12 Sep 2008 14:48:08 +0000 (08:48 -0600)]
cell: implement swizzling for src regs
Brian Paul [Fri, 12 Sep 2008 14:47:45 +0000 (08:47 -0600)]
cell: setup fragment program inputs in SOA format
Also remove old code, etc.
Brian Paul [Fri, 12 Sep 2008 14:40:50 +0000 (08:40 -0600)]
simple add with swizzle and mul with swizzle tests
Brian Paul [Fri, 12 Sep 2008 14:26:47 +0000 (08:26 -0600)]
cell: updated docs/status
Brian Paul [Fri, 12 Sep 2008 14:22:15 +0000 (08:22 -0600)]
gallium: minor optimization to spe_load_int()
Brian Paul [Fri, 12 Sep 2008 14:21:43 +0000 (08:21 -0600)]
gallium: initial PPC/Altivec codegen
Brian Paul [Fri, 12 Sep 2008 13:57:28 +0000 (07:57 -0600)]
cell: update branch info in docs
Brian Paul [Fri, 12 Sep 2008 13:57:08 +0000 (07:57 -0600)]
cell: disable calls to old gen code
Brian Paul [Fri, 12 Sep 2008 13:56:43 +0000 (07:56 -0600)]
gallium: don't build winsys/ here
Jakob Bornecrantz [Fri, 12 Sep 2008 13:09:44 +0000 (15:09 +0200)]
i915simple: A step closer to compiling
Keith Whitwell [Fri, 12 Sep 2008 11:24:21 +0000 (12:24 +0100)]
mesa: build gallium directories before core mesa
Keith Whitwell [Fri, 12 Sep 2008 11:23:28 +0000 (12:23 +0100)]
mesa: regenerate shader files
George Sapountzis [Fri, 12 Sep 2008 09:43:10 +0000 (12:43 +0300)]
dri/swrast: fix swapBuffers after dri2
Keith Whitwell [Fri, 12 Sep 2008 09:31:51 +0000 (10:31 +0100)]
vp: add run script
Keith Whitwell [Fri, 12 Sep 2008 09:31:23 +0000 (10:31 +0100)]
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
progs/fp/Makefile
Keith Whitwell [Fri, 12 Sep 2008 09:28:36 +0000 (10:28 +0100)]
fp: put test name in window title, add run script
Keith Whitwell [Fri, 12 Sep 2008 09:04:56 +0000 (10:04 +0100)]
mesa: get fixed-function program generation working again
Keith Whitwell [Fri, 12 Sep 2008 09:02:16 +0000 (10:02 +0100)]
use APP_CC, remove redundant target
Xiang, Haihao [Fri, 12 Sep 2008 01:25:34 +0000 (09:25 +0800)]
i965: Add support for G41 chipset which is another 4 series.
Brian Paul [Thu, 11 Sep 2008 23:59:52 +0000 (17:59 -0600)]
cell: initial support for fragment shader code generation.
TGSI shaders are translated into SPE instructions which are then sent to
the SPEs for execution. Only a few opcodes work, no swizzling yet, no
support for constants/immediates, etc.
Brian Paul [Thu, 11 Sep 2008 23:55:53 +0000 (17:55 -0600)]
use APP_CC
Brian Paul [Thu, 11 Sep 2008 23:10:10 +0000 (17:10 -0600)]
cell: fix tile twidding bug seen in the event of multiple expose events
Brian Paul [Thu, 11 Sep 2008 23:08:52 +0000 (17:08 -0600)]
cell: minor improvements to fragment code-gen
Brian Paul [Thu, 11 Sep 2008 23:07:30 +0000 (17:07 -0600)]
gallium: add special cases in spe_load_float(), spe_load_int(), added spe_splat()
Brian Paul [Thu, 11 Sep 2008 21:48:13 +0000 (15:48 -0600)]
cell: put cell_ prefix on gen_fragment_function()
Keith Whitwell [Thu, 11 Sep 2008 19:11:11 +0000 (20:11 +0100)]
trivial: remove stray merge conflict
Keith Whitwell [Thu, 11 Sep 2008 19:08:44 +0000 (20:08 +0100)]
st: adapt to new framebuffer struct, with one FIXME outstanding
Keith Whitwell [Thu, 11 Sep 2008 19:08:07 +0000 (20:08 +0100)]
mesa: update PointParameter usage
Keith Whitwell [Thu, 11 Sep 2008 19:07:41 +0000 (20:07 +0100)]
demos: fix LIBS ref in makefile
Brian Paul [Thu, 11 Sep 2008 18:01:19 +0000 (12:01 -0600)]
gallium: typo: s/PIPE_FORMAT_Z16UNORM/PIPE_FORMAT_Z16_UNORM/
Dima Zavin [Thu, 21 Aug 2008 17:41:19 +0000 (10:41 -0700)]
egl_xdri: Add the top-level lib dir so we link against the libGL we built.
Dima Zavin [Thu, 21 Aug 2008 17:40:55 +0000 (10:40 -0700)]
egl_dri/egl_xdri: Makefiles should use pkg-config to find libdrm.
Keith Whitwell [Thu, 11 Sep 2008 17:35:19 +0000 (18:35 +0100)]
xlib: fix typo