Commit Graph

15389 Commits

Author SHA1 Message Date
Keith Whitwell 89ab66448e Merge commit 'origin/master' into gallium-0.2
Conflicts:

	progs/trivial/Makefile
	src/mesa/glapi/glthread.c
2008-09-18 19:03:02 +01:00
Keith Whitwell 1074e8e4e4 mesa: bring sources into line with sources.mak, but omit gallium code 2008-09-18 18:52:14 +01:00
George Sapountzis 841205e365 dri/swrast: fix swapBuffers after dri2 2008-09-18 18:52:14 +01:00
Xiang, Haihao 3bb8646829 i965: Add support for G41 chipset which is another 4 series. 2008-09-18 18:52:13 +01:00
Jonathan White 15fceac040 cell: Fix bug with complement logic for SGE and SLE 2008-09-18 11:11:49 -06:00
Jonathan White 3d2449247a cell: Added SGE and SLE instructions to dispatch function 2008-09-18 10:37:45 -06:00
Jonathan White c868a1c32d cell: Added SGE and SLE instructions 2008-09-18 10:36:16 -06:00
Robert Ellison f8bba34d4e 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.
2008-09-18 01:29:41 -06:00
Brian Paul 5e530d8384 mesa: fix bug in previous changes to _slang_resolve_attributes() 2008-09-17 09:13:55 -06:00
Brian Paul f631093ce7 cell: example of doing fs/fm sequence with fnms in blending 2008-09-17 08:17:02 -06:00
Brian Paul 05aeb92a09 cell: dump generated code if CELL_DEBUG=asm 2008-09-17 08:14:09 -06:00
Robert Ellison 858ced0515 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...
2008-09-17 02:32:43 -06:00
Eric Anholt 904f31a624 intel: Destroy bufmgr in screen destroy, not context.
Caused server crashes on second context creation since
7e0bbdcf03.

Bug #17600.
2008-09-16 17:02:41 -07:00
Brian Paul 27341a97a1 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.
2008-09-16 16:28:36 -06:00
Jonathan White a3a797ffa8 cell: Added RCP and RSQ instruction support. 2008-09-16 16:00:42 -06:00
Jonathan White fbbaad14a6 cell: Added DP3 and DP4 instructions 2008-09-16 13:57:29 -06:00
Brian Paul d43951192b mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList()) 2008-09-16 13:23:01 -06:00
Michal Krol 2010cd7810 st: hash-warning not recognised on Windows. 2008-09-16 19:28:16 +02:00
Jonathan White dd75ca89eb cell: Optimized LERP with fma
Please enter the commit message for your changes.
2008-09-16 09:42:28 -06:00
Jonathan White 2c54a6ee79 cell: Fixed MIN/MAX algorithm 2008-09-16 09:36:47 -06:00
Brian Paul 32250eb959 cell: export CELL_DEBUG=asm to dump SPU assembly code 2008-09-15 19:40:02 -06:00
Brian Paul 9d48a7832b mesa: fix MSAA enable state in update_multisample() 2008-09-15 17:14:53 -06:00
Jonathan White e67374b6b2 cell: Added LERP instruction 2008-09-15 15:46:04 -06:00
Brian Paul ae3373441d gallium: emit SPU instructions in assembler-compatible syntax 2008-09-15 15:10:02 -06:00
Jonathan White 81aa90e883 cell: Added support for SLT, SEQ and SNE instructions 2008-09-15 13:45:09 -06:00
Jonathan White 0a75773fed cell: Added support for ABS instruction 2008-09-15 12:27:10 -06:00
Jonathan White 5a4ab148a7 Added support for SUB and MAD instructions 2008-09-15 11:58:00 -06:00
Jonathan White 367774a62a Fixed emit_RRR 2008-09-15 11:57:59 -06:00
Jakob Bornecrantz 4c9cd725d5 i915simple: dri winsys does now compile and works
Glxgears hits an assert, but tri works
2008-09-15 17:55:09 +02:00
Brian Paul d36f4ef16b mesa: remove some assertions that are invalid during context tear-down 2008-09-15 09:07:32 -06:00
Keith Whitwell bd953e872f mesa: get another class of degenerate dlists working
Primitive begin in one dlist, end in another.
2008-09-15 13:49:04 +01:00
Shane Blackett 641b80275b glut: s/glut_fbc.c/glut_fcb.c/ 2008-09-14 17:51:01 -06:00
Michal Krol e852232ebf draw: Silence compiler warnings on Windows. 2008-09-14 19:04:53 +02:00
Brian Paul 777aca8fc9 cell: implement negation, absolute value and set-sign for src regs in code gen 2008-09-13 15:33:07 -06:00
Brian Paul 809e81c0b4 gallium: add another value check to util_fast_pow()
Fixes glitches seen in morph3d demo.
2008-09-13 15:21:58 -06:00
Jakub Bogusz 68a19e353e tdfx: fix crash and lack of visuals bug 2008-09-13 14:35:02 -06:00
Guillaume Melquiond 87ccb9504d i915: fix himask constant init for 64-bit build 2008-09-13 14:25:02 -06:00
Guillaume Melquiond 811d8b86eb glx: fix 64-bit datatype issue 2008-09-13 14:24:31 -06:00
Guillaume Melquiond 11a889db8f mesa: return after _mesa_problem() calls 2008-09-13 14:23:39 -06:00
Guillaume Melquiond d2e0504d4e mesa: #include <stdio.h> 2008-09-13 14:23:14 -06:00
Guillaume Melquiond 6e51febc6b GLU: fix asst warnings 2008-09-13 14:20:14 -06:00
Brian Paul 8d768c5101 cell: remove old disassembly/dump code; use dumper code in SPE emitter. 2008-09-12 21:54:25 -06:00
Brian Paul 8b5013d232 gallium: added print/dump code to SPE code emitter 2008-09-12 21:52:47 -06:00
Brian Paul 6f3eee9213 cell: implement DDX/DDY codegen (untested) 2008-09-12 21:09:10 -06:00
Brian Paul 31a112cad4 gallium: added spe_splat_word() 2008-09-12 21:08:01 -06:00
Brian Paul 5f3ec82338 cell: implement TGSI immediates in SPE code generator 2008-09-12 17:10:20 -06:00
Eric Anholt 8db761409d 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.
2008-09-12 15:48:13 -07:00
Brian Paul af2ca5dc38 cell: initial support for IF/ELSE/ENDIF in fragment shader codegen
Only one level of if/else/endif nesting is currently working.
2008-09-12 16:31:53 -06:00
Brian Paul 5ab221549d cell: evaluate multiple fragment inputs 2008-09-12 16:11:52 -06:00
Eric Anholt bdc8ac4ae2 Finish off the previous fix for TFP.
A couple of those lines of debug printfs I deleted weren't actually debug
printfs.
2008-09-12 15:09:43 -07:00