Commit graph

18607 commits

Author SHA1 Message Date
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
Brian Paul
164fb1299e cell: checkpoint: support for function calls in SPU shaders
Will be used for instructions like SIN/COS/POW/TEX/etc.  The PPU needs to
know the address of some functions in the SPU address space.  Send that
info to the PPU/main memory rather than patch up shaders on the SPU side.
Not finished/tested yet...
2008-09-26 10:15:35 -06:00
Brian Paul
f5127909fb cell: inst reorder to save a cycle 2008-09-26 10:15:35 -06:00
Alan Hourihane
632055f831 st: add prototype for st_get_framebuffer_dimensions() 2008-09-26 15:08:57 +01:00
Alan Hourihane
6d3e2e7e92 st: export st_get_framebuffer_dimensions() to retrieve
the width & height of the fb
2008-09-26 15:05:01 +01:00
Brian Paul
a4a5a37f27 mesa: remove invalid assertions that programs have parameters
Fixes failure with demos/fplight.c
2008-09-26 07:45:06 -06:00
Brian Paul
4bc39c58eb mesa: fix assertion in _mesa_reference_program() 2008-09-26 07:40:45 -06:00
Brad King
ee80c64be8 mesa: fix param indexing 2008-09-26 07:40:05 -06:00
Brian Paul
c7510ddc3f mesa: fix incorrect parameter order 2008-09-26 07:37:32 -06:00
Brian Paul
47bf268457 mesa: remove const qualifiers to match device driver interface function 2008-09-26 07:37:15 -06:00
Brian Paul
81234666fc gallium: rename tgsi_translate_mesa_program() to st_translate_mesa_program() 2008-09-26 07:31:42 -06:00
Brian Paul
fad2dd8447 mesa: add some braces 2008-09-26 07:31:42 -06:00
Brian Paul
f51cca72d3 mesa: fix/simplify initialization of vertex/fragment program limits
Defaults for program length, num ALU instructions, num indirections, etc.
basically indicate no limit for software rendering.  Driver should override
as needed.
2008-09-26 07:31:42 -06:00
Brian Paul
b5e1a93036 mesa: increase MAX_INSTRUCTIONS 2008-09-26 07:31:42 -06:00
Brian Paul
d01269a57f mesa: fix swizzle failure, fix typo 2008-09-26 07:31:42 -06:00
Brian Paul
6c72bc8089 mesa: fix default buffer object access value 2008-09-26 07:31:42 -06:00
Brian Paul
13a8c18d3d gallium: rename tgsi_translate_mesa_program() to st_translate_mesa_program() 2008-09-26 07:25:36 -06:00
Brian Paul
1ef90b3f9a mesa: add some braces 2008-09-26 07:25:36 -06:00
Alan Hourihane
e9c722b660 st: change from ** to * for st_unreference_framebuffer() 2008-09-26 14:20:15 +01:00