Commit graph

92185 commits

Author SHA1 Message Date
Keith Whitwell
918a444913 draw: modify prefetching slightly 2008-10-02 12:59:15 +01:00
Keith Whitwell
af9cfea9cc draw: don't keep refetching constant inputs 2008-10-02 12:59:15 +01:00
Keith Whitwell
102daee1b8 rtasm: add prefetch instructions 2008-10-02 12:59:14 +01:00
Keith Whitwell
dd7e5a4980 draw: add streamlined paths for fetching linear verts 2008-10-02 12:59:14 +01:00
Ian Romanick
4741dbcbbc Unify ARB_depth_texture and SGIX_depth_texture
The ARB extension is a superset of the older SGIX extension.  Any
hardware that can support the SGIX version can also support the ARB
version.  In Mesa, any driver that supports one also supports the
other.  This unification just simplifies some bits of code.
2008-10-01 20:38:10 -07:00
Eric Anholt
17fdd1ab3b i965: sampler default color ends up in texture cache, not instructions.
See volume 4, SAMPLER_BORDER_COLOR_STATE programming notes.
2008-10-01 16:59:16 -07:00
Eric Anholt
df6ae3f0a3 i965: Fix overwriting of depth override for SetTexOffset.
Fixes black borders around windows in compiz.  Bug #17233.
2008-10-01 14:15:17 -07:00
Michal Krol
266c5f5ccb mesa: Fix compiler warnings on Windows. 2008-10-01 19:36:04 +02:00
José Fonseca
23e325e55a Add -msse and -msse2 to the *-x86 configs. 2008-10-01 10:25:41 +09:00
José Fonseca
cb8a3ba433 util: No-op u_sse.h outside PIPE_ARCH_X86/X86_64. 2008-10-01 08:28:05 +09:00
José Fonseca
cbfce4175b tgsi: Include p_config.h. 2008-10-01 08:27:20 +09:00
Stephane Marchesin
a6ff215777 Gallivm: add slt. glxgears should be running, except it isn't. 2008-10-01 00:00:58 +02:00
Jonathan White
e3378790bb cell: Fixed usage of MAX_INSTRUCTIONS to use new MAX_PROGRAM_INSTRUCTIONS instead of old MAX_NV_XXX definitions in order to allow Cell TGSI fragment program generator to work again. 2008-09-30 15:38:38 -06:00
Jonathan White
5e585719eb cell: Moved X86 checks to wrap #include section so that Cell targets will compile again. 2008-09-30 14:07:09 -06:00
Stephane Marchesin
4ae161e940 Gallivm: port to llvm 2.4. 2008-09-30 20:50:49 +02:00
José Fonseca
8415d06d90 util: Fix util_fast_pow/exp2/log2.
- Use a lookup table for log2.

- Compute (float) (1 << ipart) by tweaking with the exponent directly to
avoid integer overflow and float conversion.

- Also table negative exponents to avoid float division and branching.

- Implement util_fast_exp as function of util_fast_exp2.
2008-10-01 01:13:40 +09:00
Ben Skeggs
2882a2db7a nouveau: some small API changes 2008-09-30 12:06:56 +10:00
Ben Skeggs
8cd046c9b1 Merge remote branch 'origin/gallium-0.2' into gallium-0.2 2008-09-30 11:57:45 +10:00
Ian Romanick
08b9e29c1d intel: Clean-up the extension string madness!
- Sort extensions by ARB, then EXT, then vendor by name
- Remove redundant (only one of GL_{ARB,EXT,NV}_texture_rectangle) or
  duplicate extension strings
2008-09-29 18:50:05 -07:00
Ian Romanick
3ab4b2066f GLSL: Implement GL_OBJECT_TYPE_ARB query
The GL_OBJECT_TYPE_ARB query is handled directly in
_mesa_GetObjectParamterivARB because it is only supported in the
extension version of the shanding language API.  glGetProgramiv and
glGetShaderiv should not accept this enum.
2008-09-29 12:30:05 -07:00
Ian Romanick
905d8e0742 GLSL: Implement _mesa_get_handle
Implementing _mesa_get_handle in using
glGetIntegerv(GL_CURRENT_PROGRAM, ...) allows glGetHandleARB to work.
2008-09-29 12:27:00 -07:00
Ian Romanick
d806d451e6 GLSL: AttachShader returns INVALID_OPERATION for repeated attach
The GL_ARB_shader_objects spec says that glAttachShaderARB is supposed
to return GL_INVALID_OPERATION if a shader is attached to a program
where it is already attached.  _mesa_attach_shader perviously returned
without error in this case.
2008-09-29 12:18:06 -07:00
José Fonseca
5dc8e67078 tgsi: SSE2 optimized exp2, log2 and pow implementations.
Special care must be taken when calling compiler generated SSE2 functions
from the runtime generated SSE2: saving the xmm registers, and notify gcc
the stack is not 16byte aligned.

It would be more efficient to keep the stack pointer 16byte aligned, but
too hairy, and not consistent in all x86 architectures.

This has been tested in linux x86 and windows x86 userspace. Not tested on
x86-64 because it is broken for other reasons (even without this change).
2008-09-30 01:12:52 +09:00
José Fonseca
906336cd7c util: Header for SSE2 intrinsics portability. 2008-09-30 01:07:09 +09:00
Jouk Jansen
fc13269b82 mesa: asst updates for VMS 2008-09-29 08:35:05 -06:00
José Fonseca
6607f2cf19 rtasm: Implement immediate group 1 instructions. Fix SIB emition. 2008-09-29 19:09:39 +09:00
Shunichi Fuji
e095d5812a mesa: drop calloc from _mesa_get_fixed_func_vertex_program
Signed-off-by: Shunichi Fuji <palglowr@gmail.com>
2008-09-29 10:38:45 +01:00
Ian Romanick
2b8d8989fb Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
Added an x86-64 CPUID function and use it to detect 3Dnow!  If 3Dnow!
is available, use _mesa_3dnow_transform_points4_3d_no_rot,
_mesa_3dnow_transform_points4_perspective,
_mesa_3dnow_transform_points4_2d_no_rot, and _mesa_3dnow_transform_points4_2d.

This fixes long standing bug #8724.
2008-09-28 20:32:05 -07:00
Ian Romanick
b5d59222cc Remove TNL-to-VP tracking from i965
The i965 driver previously had it's own set of code to convert
fixed-function TNL state to a vertex program.  Core Mesa has code to
do this, so there is no reason to duplicate that effort in the driver.
In fact, this duplication leads to bugs when other aspects of the Mesa
infrastructure change.
2008-09-28 20:32:05 -07:00
Stephane Marchesin
7379d0ef8f Gallivm: fix off-by-one. 2008-09-28 23:18:55 +02:00
Stephane Marchesin
6dacc942e1 Gallivm: need to link with libstdc++ for llvm. 2008-09-28 21:45:48 +02:00
Stephane Marchesin
a0a06cbc5b Gallivm: more instructions. 2008-09-28 19:48:26 +02:00
Stephane Marchesin
ab74b8e354 Gallivm: make it compile again, add some opcodes. 2008-09-28 18:33:23 +02:00
Tobias Jakobi
2e5d717007 glapi: add DISPATCH_FUNCTION_SIZE 2008-09-27 08:51:45 +01:00
Tobias Jakobi
a23026effc glapi: add gl_dispatch_functions_start and end 2008-09-27 08:47:55 +01:00
Brian Paul
8fd329d048 mesa: fix temp register allocation problems.
Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
2008-09-26 20:51:13 -06:00
Brian Paul
7944efffff egl: check for null ptr/name 2008-09-26 20:51:13 -06:00
Brian Paul
cce2ec2754 egl: remove space after -L flag 2008-09-26 20:51:13 -06:00
Brian Paul
fe1c9872ae cell: checkpoint: more work in emit_function_call()
Simple function call works now, but we don't save/restore the caller's registers yet.
2008-09-26 17:59:19 -06:00
Brian Paul
55b65d3b42 cell: stub-out sin/cos function bodies to avoid trashing caller's stack for now 2008-09-26 17:57:01 -06:00
Brian Paul
938e12c1ca gallium: SPU register comments 2008-09-26 17:06:22 -06:00
Eric Anholt
7d99ddcb2b intel: Fix a number of memory leaks on context destroy. 2008-09-26 15:39:20 -07:00
Jeremy Huddleston
8338cc25f9 configs: darwin: Don't build GLw
(cherry picked from commit ef688ba1ee366a8937a41075cbe8b76a9bf75013)
2008-09-26 12:37:31 -07:00
Brian Paul
9d00cd3fc7 cell: move command processing code into new spu_command.c file 2008-09-26 10:15:36 -06:00
Brian Paul
bb01c1a78e cell: move debug-related declarations 2008-09-26 10:15:36 -06:00
Brian Paul
f45d39fa34 cell: move debug macros into new spu_debug.h 2008-09-26 10:15:36 -06:00
Brian Paul
a1189ea882 cell: move really_clear_tiles() 2008-09-26 10:15:35 -06:00
Brian Paul
bac5900a14 cell: align instruction buffers to 8-byte, not 32-byte boundary 2008-09-26 10:15:35 -06:00
Brian Paul
b5303446a8 cell: asst clean-up, var renaming 2008-09-26 10:15:35 -06:00
Brian Paul
6741739d1e cell: remove unneeded blend/depth_stencil subclasses 2008-09-26 10:15:35 -06:00