Eric Anholt
90e4e4117e
intel: Add acceleration for glDrawPixels(GL_STENCIL_INDEX).
...
This is nasty because there's no way in GL to output data to the stencil
buffer directly, so we have to do a dance to wrap the depth/stencil buffer
in an ARGB renderbuffer.
Improves performance of several oglconform testcases by better than a factor
of 2.
2008-10-15 11:17:45 +01:00
Brian Paul
41ccdde767
cell: initial bits for 3D texture support
2008-10-14 17:22:40 -06:00
Brian Paul
6c017c2c3c
cell: replace FREE() with align_free()
2008-10-14 17:22:06 -06:00
Brian Paul
e42a394ed5
cell: fix incorrect parameter type
2008-10-14 17:19:57 -06:00
Brian Paul
8f7c6b55ae
cell: support for cubemaps
...
Though, progs/demos/cubemap.c doesn't quite work right...
2008-10-14 17:11:29 -06:00
Brian Paul
e0931e520a
cell: fall-through case for TGSI_OPCODE_TXB
2008-10-14 17:09:56 -06:00
Brian Paul
85dc1aec9c
cell: support NPOT textures, clamp/repeat mode, normalized/unorm texcoords
...
glDrawPixels works now.
2008-10-14 15:19:01 -06:00
Brian Paul
38d396e15a
cell: fix npot texture tiling bugs
2008-10-14 14:02:07 -06:00
Brian Paul
4f56d5bbf2
cell: fix broken negative texcoord conversion
2008-10-14 12:54:31 -06:00
Brian Paul
6d2d5ceca2
cell: use minify vs magnify filters
2008-10-14 12:54:30 -06:00
Brian Paul
58ea98dc68
cell: fix assertions
2008-10-14 12:54:30 -06:00
Brian Paul
f8bddf698d
cell: basic mipmap filtering works now
...
Though, only GL_MIPMAP_NEAREST / GL_LINEAR works right now.
2008-10-14 12:54:30 -06:00
Brian Paul
3baf83db3c
cell: fix tex image stride bugs
2008-10-14 12:54:30 -06:00
Brian Paul
0bee156d85
cell: now do texture twiddling in the right way, at the right time.
...
Also handles images smaller than 32x32 now.
2008-10-14 12:54:30 -06:00
Brian Paul
b7609be0f1
cell: remove old code, clean-ups, etc.
2008-10-14 12:54:30 -06:00
Alan Hourihane
5d4f3b8417
dri: don't check the number of cliprects before swap, let
...
the swap handle the requirements.
2008-10-14 11:55:38 +01:00
Brian Paul
fc562a7acd
cell: more clean-up in spu_tri.c
2008-10-13 20:19:51 -06:00
Brian Paul
5d7cc6176d
cell: remove dead code, clean-up, reformatting
2008-10-13 19:50:20 -06:00
Brian Paul
dee18a147d
cell: finish-up perspective-corrected interpolation
2008-10-13 19:41:26 -06:00
Brian Paul
978799beb2
cell: initial work for mipmap texture filtering
2008-10-13 16:43:36 -06:00
Brian Paul
b0c136cfb1
cell: remove old texture-related fields
2008-10-13 16:43:36 -06:00
Brian Paul
c05cabd646
cell: use fewer memory references in sample_texture4_bilinear_2()
2008-10-13 16:43:36 -06:00
Brian Paul
420e8cdf25
cell: remove more old texture code
2008-10-13 16:43:36 -06:00
Brian Paul
67425aaa09
cell: bilinear texture filtering using integer arithmetic
...
Fewer float/int conversions involved.
2008-10-13 16:43:36 -06:00
Brian Paul
c8fb368261
cell: remove old texture code
2008-10-13 16:43:35 -06:00
Brian Paul
3b07c28dee
cell: do texture sampling/filtering for four pixels at a time.
2008-10-13 16:43:35 -06:00
Brian Paul
734685549c
cell: added spu_unpack_A8R8G8B8_transpose4()
...
Plus, clearer shuffle masks in other funcs.
2008-10-13 16:43:35 -06:00
Alan Hourihane
5bc8ebb12b
mesa: when emitting an address load instruction, for
...
indexed elements ensure we write to a single register.
2008-10-13 12:30:40 +01:00
Brian Paul
ecac7996d4
cell: more instruction scheduling optimizations (MIN/MAX/LERP/etc)
...
Also, optimize register->memory stores.
2008-10-10 17:48:16 -06:00
Brian Paul
2a6c6fe01e
Merge commit 'origin/master' into gallium-0.2
2008-10-10 16:40:16 -06:00
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
24748268a3
mesa: fix asst. issues in _mesa_texstore_argb8888()
...
If we shift bytes into the texel word (or use the PACK_COLOR_8888 macro),
we don't have to worry about big vs. little endian. See comments about
texel formats in texformat.h.
Remove an unneeded/incorrect else-if clause that produced wrong results
on big-endian systems.
2008-10-10 16:34:08 -06:00
Brian Paul
bf9d9a9d01
mesa: include needed header
2008-10-10 16:34:08 -06:00
Brian Paul
f863ae1a04
mesa: remove unneeded includes
2008-10-10 16:34:08 -06:00
Brian Paul
85a3bf6dab
mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861
2008-10-10 16:34:08 -06:00
Brian Paul
3210a6d6c7
mesa: rename macro params to emphasize that there's no particular color ordering
2008-10-10 16:34:08 -06:00
Brian Paul
f63594bfef
mesa: remove unneeded includes
2008-10-10 16:34:08 -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
Ian Romanick
e700269441
intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver
2008-10-10 11:47:43 -07: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