Age | Commit message (Collapse) | Author |
|
the driver. The loader now takes care of this for the driver.
Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e.,
having a NULL value means that the application is multithreaded and
_glapi_get_dispatch must be called).
Gut all of the dispatch override code. This removes _glapi_RealDispatch,
_glapi_tls_RealDispatch, _glapi_begin_dispatch_override,
_glapi_end_dispatch_override, and _glapi_get_override_dispatch.
Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version,
and _glapi_check_table from the loader / driver interface.
Reviewed by: Brian Paul
|
|
serveral things that are broken when building on a system with X.org 7.0rc0
installed.
|
|
src/mesa/glapi. Basically, the scripts that did simple things (like
gl_offsets.py) were simple, and the scripts that did more complicated things
(like glX_proto_send.py) were getting progressively more and more out of
control. So, I re-write the foundation classes on which everything is based.
One problem with the existing code is that the division between the GL API
database representation and the way the output code is generated was either
blury or nonexistant. The new code somewhat follows the
Model-View-Controller pattern, minus the Controller. There is a distinct
set of classes that model the API data, and there is a distinct set of
classes that generate code from that data.
One big change is in the class that represents GL functions (was glFunction,
is now gl_function). There used to be an instance of this calls for each
function and for each alias to that function. For example, there was an
instance for PointParameterivSGIS, PointParameterivEXT, PointParameterivARB,
and PointParameteriv. In the new code, there is one instance. Each
instance has a list of entrypoint names for the function. In the next
revision, this will allow a couple useful things. The script will be able
to verify that the parameters, return type, and GLX protocol for a function
and all it's aliases match.
It will also allow aliases to be represented in the XML more compactly.
Instead of repeating all the information, an alias can be listed as:
<function name="PointParameterivARB" alias="PointParameterivEXT"/>
Because the data representation was changed, the order that the alias
functions are processed by the scripts also changed. This accounts for at
least 2,700 of the ~3,600 lines of diffs in the generated code.
Most of the remaining ~900 lines of diffs are the result of bugs *fixed* by
the new scripts. The old scripts also generated code with some bugs in it.
These bugs were discovered while the new code was being written.
These changes were discussed on the mesa3d-dev mailing list back at the end
of May:
http://marc.theaimsgroup.com/?t=111714569000004&r=1&w=2
Xorg bug: 3197, 3208
|
|
extension that was missing the GL_ part and uses the core GL type names for
vertex buffer object functions instead of the ARB names.
Also commits the resulting changes to the generated code. Some how, the
#if sequence disappeared in the 1.52 version of glapi_x86.S.
|
|
|
|
DRI drivers. A TLS enabled libGL can load a TLS or a non-TLS DRI driver,
but a TLS DRI driver requires a TLS enabled libGL.
This fixes bug #1822.
|
|
|
|
|
|
'-DHAVE_ALIAS' to DEFINES in the config file used for building. On the
linux-dri-x86 build, this cuts 4KB from libGL.so. HAVE_ALIAS is not
currently enabled in any of the configs.
|
|
no error detection, slow, may not be 100% correct but a good start
|
|
alias with the corresponding ARB functions.
GL_ARB_vertex_shader (and OpenGL 2.0's) VertexAttrib functions don't alias
with conventional vertex attributes, as GL_NV_vertex_program does.
So, the ARB and NV version of VertexAttrib need to be distinct.
|
|
|
|
to get BlendEquation have offset 710
fix param name lack with GetInfoLogARB
|
|
|
|
|
|
|
|
Fixed a crash in the optimized pthreads dispatch path.
|
|
fixed x86 entrypoints for Mingw/DJGPP.
|
|
|
|
broken, but it will be fixed "shortly." This is pretty much the same
as the patch I sent to the dri-devel list on 22-Jun-2004.
|
|
The internal driver interface was also changed to use
BlendEquationSeparate instead of BlendEquation.
|
|
|
|
|
|
|
|
they show up in the list (GLU stuff) for some reason. The major change
here is the addition of code in the glx86asm.py file to generate assembler
stub entry points with the correct name decorations for _stdcall calling
conventions so this can be used on Windows boxes.
|
|
|
|
Added non-static entrypoints and the name string for
GL_SUN_multi_draw_arrays (identical to GL_EXT_multi_draw_arrays).
Made add_newer_entrypoints (in src/mesa/main/context.c) table driven.
This reduced the size of context.o by about 3KB.
|
|
|
|
|
|
entrypoints
|
|
|
|
|
|
|
|
|
|
|
|
glMultiDrawElementsEXT().
|
|
|
|
Removed dead ARB_window_pos functions (we alias the MESA_window_pos funcs).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
New array_cache module
Support 8 texture units in core mesa (now support 8 everywhere)
Rework core mesa statechange operations to avoid flushing on many
noop statechanges.
|
|
and state.c file for plugging those functions into the dispatch table.
Don't use Mesa 3.5 for DRI until SGI approves the new dispatch offsets.
Commented-out references to ctx->FogMode and VB->Specular in FX driver.
Minor clean-up in extensions.c
Removed unused prototype in fog.h
|
|
|
|
|
|
|