Commit graph

18478 commits

Author SHA1 Message Date
Brian Paul
01e312a73b cell: pass texture unit (sampler number) to txp() function
The glsl/multitex demo runs now.
2008-10-10 16:40:03 -06:00
Ian Romanick
33ff407874 intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver 2008-10-10 16:40:03 -06:00
Eric Anholt
c011a9ca8c i965: Add missing intel_pixel_draw.c symlink to fix build. 2008-10-10 16:40:03 -06:00
Brian Paul
d3403b5482 cell: add emit_RI10s() which does range checking on the 10-bit signed immediate field
This type of checking should be expanded to cover more instructions...
2008-10-10 14:57:57 -06:00
Brian Paul
f42ef6f39d cell: additional 'offset' checking in spe_lqd(), spe_stqd() 2008-10-10 14:44:52 -06:00
Brian Paul
78c67a726f cell: fix assertions in spe_lqd(), spe_stqd() 2008-10-10 14:36:18 -06:00
Brian Paul
53ae243869 cell: fix function prologue/epilogue code for large stack frames
The ai instruction is limited to a 10-bit signed immediate value.
2008-10-10 14:36:18 -06:00
Robert Ellison
adeed0f90f CELL: fixing stencil bugs
These are the defects found and fixed so far.  Several more have
been observed; I'm working on them.

- Fixed an error in spe_load_uint() that caused incorrect values to be
  loaded if the given unsigned value had the low 18 bits as 0,
  and that caused inefficient code to be emitted if the given value
  had the high 14 bits as 0.

- Fixed a problem in stencil code generation where optional registers
  weren't tracked correctly.

- Fixed a problem that the stencil function NEVER was acting as ALWAYS.

- Fixed several problems that could occur if stenciling were enabled but
  depth was disabled.

- Fixed a problem with two-sided stencil writemask handling that could
  cause a stencil writemask to not be applied.

- Fixed several state permutations that were incorrectly flagged as
  not requiring stencil values to be calculated.
2008-10-10 14:15:51 -06:00
Brian Paul
02931db311 cell: call cell_flush_int() at end of cell_create_context()
Ensures that SPUs are initialized/ready before proceeding.
This fixes a spurious assertion failure when the SPU-side shader function info
hasn't been returned to the PPU before shader codegen.
2008-10-10 12:38:27 -06:00
Brian Paul
a13f61d34d cell: fix LERP when dst reg is a src reg
Also, bump up frame size and fix some assertions.
2008-10-10 12:24:39 -06:00
Brian Paul
b3a68b24bd replace 1.0/sqrt() with inversesqrt() 2008-10-10 12:04:49 -06:00
Brian Paul
a45d293fd9 cell: fix fm/fs copy & paste bug from a few commits ago 2008-10-10 12:04:19 -06:00
Brian Paul
e43af05311 cell: fix bug in emit_FLR() when src reg == dst reg 2008-10-10 11:56:03 -06:00
Brian Paul
dc7d213c54 cell: fix bug in emit_FRC() when src register == dst register.
With this fix, the glsl/brick demo runs.
2008-10-10 11:52:55 -06:00
Brian Paul
086a56134f cell: updates in response to draw's struct vertex_info changes 2008-10-10 08:44:29 -06:00
Keith Whitwell
3a3801c143 Merge commit 'origin/master' into gallium-0.2
Conflicts:

	src/mesa/glapi/descrip.mms
	src/mesa/shader/grammar/descrip.mms
2008-10-10 15:26:28 +01:00
Keith Whitwell
d7f1cb5b5a Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:

	src/gallium/auxiliary/gallivm/instructionssoa.cpp
	src/gallium/auxiliary/gallivm/soabuiltins.c
	src/gallium/auxiliary/rtasm/rtasm_x86sse.c
	src/gallium/auxiliary/rtasm/rtasm_x86sse.h
	src/mesa/main/texenvprogram.c
	src/mesa/shader/arbprogparse.c
	src/mesa/shader/prog_statevars.c
	src/mesa/state_tracker/st_draw.c
	src/mesa/vbo/vbo_exec_draw.c
2008-10-10 15:23:36 +01:00
Brian Paul
7ac1fc7766 cell: fix incorrect bitmask in spe_load_uint() 2008-10-09 19:54:46 -06:00
Brian Paul
02aea66b1a mesa: toggle colormask values with r/g/b keys in tri-mask-tri.c
Plus misc clean-up.
2008-10-09 19:51:26 -06:00
Brian Paul
583098e3cb cell: implement basic TXP instruction in fragment shaders
Lots of restrictions for now (one 2D texture, no mipmaps, etc.) for now
but basic texture demos work.
TEX, TXD, TXP do the same thing for the time being.
2008-10-09 19:51:26 -06:00
Brian Paul
f6e806a2b8 mesa: simple multiple textures test 2008-10-09 19:51:26 -06:00
Brian Paul
c201e357eb cell: better immediate value allocation, better comments 2008-10-09 19:51:26 -06:00
Brian Paul
b9689791dd cell: massage the emit functions to get better instruction scheduling 2008-10-09 19:51:26 -06:00
Brian Paul
2a3fa97be3 cell: more accurate comments 2008-10-09 19:51:26 -06:00
Alan Hourihane
ca5224945a gallium: silence warning 2008-10-10 01:31:34 +01:00
Brian Paul
f7556fdd40 mesa: rasterizer state depends on ST_NEW_VERTEX_PROGRAM
Check for per-vertex point size must be done when vertex program changes.
2008-10-09 16:39:59 -06:00
Stephane Marchesin
db9de99925 Gallivm: cleanup soa storage. 2008-10-09 23:32:01 +02:00
Eric Anholt
7216679c19 i965: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
2008-10-09 11:45:58 -07:00
Eric Anholt
91221483a6 i965: Actually hook up the accelerated DrawPixels support. 2008-10-09 10:23:47 -07:00
Eric Anholt
9aec1288ee i915: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
2008-10-08 23:55:58 -07:00
Brian Paul
d48a92e880 cell: implement function calls from shader code. fslight demo runs now.
Used for SIN, COS, EXP2, LOG2, POW instructions.  TEX next.

Fixed some bugs in MIN, MAX, DP3, DP4, DPH instructions.

In rtasm code:
  Special-case spe_lqd(), spe_stqd() functions so they take byte offsets but
  low-order 4 bits are shifted out.  This makes things consistant with SPU
  assembly language conventions.
  Added spe_get_registers_used() function.
2008-10-08 20:44:32 -06:00
Brian Paul
a4e477433f cell: implement more built-in shader functions, link spu code with -lm 2008-10-08 20:34:35 -06:00
Brian Paul
feb5a26bb1 cell: increase SPU_MAX_FRAGMENT_PROGRAM_INSTS 2008-10-08 20:33:24 -06:00
Brian Paul
5c57cbec32 gallium: asst. clean-ups
Don't use register qualifier.  Doxygen-ize comments.  Remove 'extern'.
2008-10-08 16:35:40 -06:00
Brian Paul
73d00b9e93 gallium: better instruction printing for SPE code 2008-10-08 16:33:04 -06:00
Brian Paul
5c4bd76cb6 mesa: in _mesa_combine_programs() take new STATE_CURRENT_ATTRIB color into account
Commit 1680ef8696 changed the texenv program
to get color from a state register instead of a constant-valued vertex
attribute.  This broke program concatenation (so glDraw/CopyPixels broke).
Now check if the second program get's color from a constant register and
handle that case appropriately.
2008-10-08 14:02:24 -06:00
Brian Paul
a71b1af5ad mesa: vertex emit debug code (disabled) 2008-10-08 09:33:56 -06:00
Brian Paul
5462d447aa mesa: fix vertex format/attribute bug
If the tnl output attributes matches the swsetup input attributes we still
need to check if the desired vertex color type (float vs. chan) has changed
so that we use the right emit functions.

Fixes a conformance failure found with logicop test at pathlevel 3.
2008-10-08 09:33:56 -06:00
Eric Anholt
902727b7e3 mesa: Pass the context to query object delete cb to avoid null dereference. 2008-10-07 18:52:12 -07:00
Eric Anholt
c157cfc637 i965: Add ARB_occlusion_query support. 2008-10-07 18:52:12 -07:00
Eric Anholt
fc19536aa9 intel: Push flushing for cliprects changes down into the cliprects changes.
This lets us short-circuit when we're leaving the same cliprects in place,
which becomes quite common with metaops clears, and may be useful for some of
our FBO paths.
2008-10-07 18:52:12 -07:00
Xiang, Haihao
94d3a30df7 i965: Fix a potential assertion failure. 2008-10-08 09:30:12 +08:00
Brian Paul
7cb723a3fd mesa: pass 'mask', not NULL to renderbuffer->Put functions
Fixes bug 17800.
2008-10-07 16:52:47 -06:00
Brian Paul
b99c39ea7b mesa: use the shaderutil.c helper functions 2008-10-07 16:24:43 -06:00
Brian Paul
800c350d71 cell: add support for fragment shader constant buffers 2008-10-07 16:16:27 -06:00
Brian Paul
ce416566bc cell: fix incorrect extended swizzle term code in get_src_reg() 2008-10-07 16:16:27 -06:00
Brian Paul
3008657cea cell: fix formatting 2008-10-07 16:16:27 -06:00
Brian Paul
e561058641 cell: remove old code 2008-10-07 16:16:27 -06:00
Stephane Marchesin
a0809c5271 Gallivm: reorder the functions alphabetically so I can work on it. 2008-10-07 23:43:21 +02:00
Stephane Marchesin
8463ddb740 Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2 2008-10-07 23:42:48 +02:00