Commit Graph

8373 Commits

Author SHA1 Message Date
Brian Paul
e53e0f47d0 recent bug fixes 2006-08-24 23:37:36 +00:00
Brian Paul
6211a14137 update MAX_INSTRUCTIONS limit 2006-08-24 23:37:13 +00:00
Brian Paul
ebf58ea3a3 According to GL_NV_fragment_program, max frag prog length is 1024 instructions.
Updated MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS to 1024.
2006-08-24 23:28:01 +00:00
Brian Paul
77427a1e52 Cg tries to bind NV fragment programs to the GL_FRAGMENT_PROGRAM_ARB target
with glBindProgramARB().  I guess the GL_ARB_fragment_program specification
allows that, but Mesa didn't.
Relaxed the check with a new predicate function: compatible_program_targets().
2006-08-24 23:11:39 +00:00
Brian Paul
e6940f0a33 scalar sources such as 'time.x' weren't accepted by parser 2006-08-24 23:08:01 +00:00
Brian Paul
c6511ab950 Functions for vertex/fragment program transformations, optimizations, etc. 2006-08-24 22:11:40 +00:00
Brian Paul
beb32c4a59 fix bad casts, carry over r200 fix to check for null program string in r300_translate_vertex_shader() 2006-08-24 22:05:35 +00:00
Brian Paul
94ff996cae Check for NULL program string in r200_translate_vertex_program().
Fixes bug reported by Chris Rankin.
Added some new comments.
2006-08-24 22:03:38 +00:00
Brian Paul
a75439093c use _mesa_realloc_instructions() 2006-08-24 21:58:32 +00:00
Brian Paul
3b9b8de9b0 Added _mesa_realloc_instructions() utility function.
Fixed/updated comments for parameter list functions.
2006-08-24 21:57:36 +00:00
Ian Romanick
a5f2206077 GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.
The functions for GL_EXT_paletted_texture that do not share GLX
protocol with GL_ARB_imaging are supposed to alias the similar
functions from GL_SGI_color_table.  They didn't.  This patch corrects
this problem and enables GLX protocol for both extensions.

Since this removes 3 entries from the dispatch table, this change
creates a lot of changes in the generated files.
2006-08-24 21:42:38 +00:00
Ian Romanick
bf83e652f6 Add a new offset mode to the GL API XML. This mode, called "assign,"
tells the scripts to assign an available offset to the function.  The
important changes are in src/mesa/glapi/gl_XML.py and
src/mesa/glapi/*.xml.

Since the DRI drivers only depend on functions required by the ABI
(e.g., GL 1.2 + ARB_multitexture) having fixed offsets, all functions
not in the ABI use "assign" mode.  This has caused the offset of
basically every function outside the ABI to change.  I have verified
that a libGL with this patch works with a DRI driver without the patch.

Futher, several function were removed from the dispatch tables
altogether.  These are the functions for the following extensions:

	GL_SGIS_texture_filter4
	GL_SGIS_texture4D
	GL_SGIS_detail_texture
	GL_SGIS_sharpen_texture
	GL_SGIX_sprite
	GL_SGIX_instruments
	GL_SGIX_framezoom
	GL_SGIX_tag_sample_buffer
	GL_SGIX_reference_plane
	GL_SGIX_flush_raster
	GL_SGIX_list_priority
	GL_SGIX_fragment_lighting
	GL_PGI_misc_hints
	GL_EXT_index_material
	GL_EXT_index_func
	GL_3DFX_tbuffer

This removes 50 functions from the dispatch table.
2006-08-24 20:14:45 +00:00
Brian Paul
5947f8fd63 fix fragment.position initialization bug 2006-08-24 19:06:02 +00:00
Ian Romanick
ce9767f863 Make sure that _GNU_SOURCE is enabled in the linux configs that set
HAVE_POSIX_MEMALIGN.  This eliminates a compiler warning.  Also,
clean up some crufty linux-sparc* configs.
2006-08-24 18:06:37 +00:00
Keith Whitwell
39f222a421 add point-position.c 2006-08-24 17:49:37 +00:00
Keith Whitwell
28536e6c4f Test for fragment.position in points primitives. Currently renders
incorrectly on software mesa.
2006-08-24 17:48:53 +00:00
Brian Paul
83304326c8 added glut/mini/ sources to glut tarball 2006-08-24 17:01:35 +00:00
Brian Paul
116411d5f0 Check if mesa_vp->Base.Parameters is null before dereferencing (bug report
from Chris Rankin).
Also, fix some bad casts.
2006-08-24 15:57:12 +00:00
Ian Romanick
4169c220bd Fix some problems with the generation of the size tables. Enable
generation of protocol tables for Render.
2006-08-24 00:26:47 +00:00
Brian Paul
a95d5f0f58 silence warning 2006-08-23 23:18:39 +00:00
Brian Paul
4d12a05e6c Added _mesa_lookup_program() and _mesa_lookup_bufferobj() functions to avoid
a lot of casting elsewhere.
Use _mesa_lookup_texture() in tdfx driver, use _mesa_lookup_bufferobj() in r300
driver.
2006-08-23 23:10:14 +00:00
Ian Romanick
261a806f9e New script and API description file to enable generate of GLX protocol
decode tables in the server.
2006-08-23 20:32:48 +00:00
Brian Paul
d21ccb49c0 update glut fbdev sources list 2006-08-23 19:46:17 +00:00
Sean D'Epagnier
bd3e6ec066 VT switching now uses correct keys.
exiting when virtual screen size is larger than regular size doesn't corrupt screen.
colormap is reset when using stdin input on exit.
return is not reported as ctrl-m but '\r' as it should be
backspace keycode was incorrect and not working, fixed
2006-08-23 07:55:48 +00:00
Aapo Tahkola
43c9587ed4 remove duplicate pieces of code. 2006-08-22 22:27:32 +00:00
Aapo Tahkola
cafb0617ea extend some DrawRangeElements cases to support rendering more than 65535 verts in one blast. ut2k4 cases in other words ... 2006-08-22 21:54:50 +00:00
Aapo Tahkola
50eae3af7a fix broken write-only depth setting. use early z where possible. 2006-08-22 21:05:37 +00:00
Ian Romanick
723db7212c Correct the name of the GL_NV_texture_expand_normal extension. 2006-08-22 18:44:58 +00:00
Ian Romanick
d319edff1e The TLS dispatch functions for x86-64 are fixed-size, just like on
x86.  This means that the position of each dispatch function can be
calculated as (dispatch_offset * size_of_function) + glNewList.  This
allows us to not store the function pointers in glprocs_table_t.

This same optimization has been done for quite some time on x86.  We
could probably also do this for some cases of the SPARC dispatch as
well.
2006-08-22 18:22:20 +00:00
Ian Romanick
4e4b5f4008 Add new attribute called static_dispatch to the <function> element. This
boolean attribute, which defaults to true, determines whether or not a
static dispatch function is available in libGL for applications to link
against.

Ideally, any new functions that are not part of the ABI should not have
directly accessable dispatch functions.  This forces applications to use
glXGetProcAddress to access these functions.  By doing this we can
gracefully remove functions from libGL without breaking the linkage of
applications.

Note that the static dispatch functions are still generated.  However, they
are given names like gl_dispatch_stub_820 and are marked with the "hidden"
linker attribute.

All extension functions added since the previous Mesa release (6.5) have
been marked as 'static_dispatch="false"'.
2006-08-22 16:34:38 +00:00
Brian Paul
6423ec9145 move ALL_SOURCES to sources file 2006-08-21 16:05:30 +00:00
Brian Paul
b20814fd7d remove FBDEV_DRIVER_OBJECTS assignment (in sources file) 2006-08-21 15:50:41 +00:00
Brian Paul
d5299bf9a1 various updates 2006-08-21 14:26:06 +00:00
Michal Krol
1d67cad9af More GLSL preprocessor code:
Rename slang_version.syn to slang_pp_version.syn.
The #version directive understands version 120.
Cosmetic changes in version preprocessor.
Checks if requested version is supported by the compiler.
2006-08-21 09:25:11 +00:00
Michal Krol
798ef5ce33 GLSL 1.20 constructors and operators. 2006-08-21 08:47:28 +00:00
Roland Scheidegger
bd4c8ec0ec remove the now confusing option to manually enable software ARB_vp if drm is not new enough on r200 2006-08-19 08:54:03 +00:00
Sean D'Epagnier
c6fc823987 Removed ifeq from makefile, and corrected fbdev driver so it compiles 2006-08-19 00:28:36 +00:00
Brian Paul
cf4d2f7109 updates for 6.5.1 2006-08-18 20:24:54 +00:00
Brian Paul
92c43b110c Fix-ups for linux-fbdev config. No longer build Xlib driver sources. 2006-08-18 20:20:28 +00:00
Sean D'Epagnier
7e4152f0ed The driver now compiles correctly without any x headers or libraries installed
The bitmap and stroke code can't be shared with glx anymore because of this.

The model for the mini teapot is restored and I have tested it to work with
linux-fbdev and linux-solo

The driver recognizes 32bpp where there is no alpha (my radeon 7500)  It also
sets the correct number of cmap entrees (instead of 256 which can be an error)
2006-08-18 10:38:15 +00:00
Alan Hourihane
bd87c303e9 Fix writemasks on texture arb fp instructions.
Cleanup invarient state emission.
2006-08-18 09:04:48 +00:00
Brian Paul
c1c282f36a sort the FEATURE_ defines 2006-08-17 14:27:10 +00:00
Brian Paul
9dc90cd5f3 added FEATURE_EXT_timer_query and tests 2006-08-17 14:25:04 +00:00
Brian Paul
5928718475 change #ifdef to #if 2006-08-17 14:16:03 +00:00
Brian Paul
6206aec90a change tex memory allocation calls (debian bug 383209) 2006-08-16 20:53:39 +00:00
Ian Romanick
a7d0256745 When available, which is most of the time, use posix_memalign to implement
_mesa_align_malloc and friends.
2006-08-16 17:06:08 +00:00
Ian Romanick
ab6cf9dd62 Enable support for GL_EXT_gpu_program_parameters for R300. 2006-08-15 16:48:06 +00:00
Ian Romanick
8c41c757fe Add support for GL_EXT_gpu_program_parameters. Any driver that enables
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this
extension as well.
2006-08-15 16:47:34 +00:00
Ian Romanick
5208d93a41 Add test for GL_EXT_gpu_program_parameters. 2006-08-15 16:44:32 +00:00
Ian Romanick
daea717634 Remove extraneous trailing semicolon. 2006-08-15 16:26:34 +00:00