Age | Commit message (Collapse) | Author |
|
1,402 lines of code to be removed from Mesa (drivers and libGL). The
big winner is dri_util.c.
Primary changes are:
1. Remove all "deprecated" entry-points from the various structures in
dri_interface.h.
2. Rename the remaining fields to removed "version numbers." So,
bindContext3 becomes bindContext. Functions with "New" in the name
(e.g., CreateNewContext) were *not* changed, but that is an option.
Having "New" in the name is less annoying to me than having "3" in the name.
3. Remove all compatibility code that handles cases where the driver or
the loader is too old to support the latest interfaces.
4. Append the API version to the __driCreateNewScreen function name.
This is currently done by hand. In the future (i.e., the next time we
make an incompatible change to the interface) we'll want to come up with
a better way to do this. This prevents old loaders from being able to load
new (incompatible) drivers.
5. Bump the API version to 20050722. All drivers (by way of dri_util.c)
require this version.
6. All drivers are *required* to expose GLX_SGIX_fbconfig and
GLX_OML_swap_method (or the moral equivalents). Support for these
functions in implicit in the use of the "new" interface.
7. Some cases still exist that need to be compiled differently in a loader
or core Mesa versus in a driver. These are identified by the define
IN_DRI_DRIVER.
|
|
modular X build
|
|
|
|
|
|
Pixel count can be negative (this could be fixed elsewhere), so adapt the
functions to work with such inputs correctly (same behaviour as non-optimized
functions).
Bugzilla #2317
Submitted by idr
|
|
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
|
|
|
|
|
|
t_vertex_sse.c.
|
|
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.
|
|
|
|
I am committing this because the current WIN32 SSE detection code crashes UnrealTournament2003.
|
|
|
|
|
|
|
|
'-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
|
|
|
|
_mesa_test_os_sse_support() while debugging
|
|
|
|
(and DrawPixels). The R200, R128, and Unichrome drivers get support
in this commit. Other drivers would be easy enough to add for people
that have the cards.
The DRI (CVS) build will need to be updated to account for the new
source files.
|
|
(see the comment in the code), and it's just annoying.
|
|
|
|
|
|
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.
|
|
|
|
fixed SAL/SAR in assyntax.h (NASM)
fixed a bug wrt NULL pointer assignment in t_vtx_api.c
cosmetics to t_vtx_x86.c & t_vtx_x86_gcc.S
enabled STDCALL with codegen (MinGW)
|
|
|
|
|
|
|
|
|
|
|
|
The internal driver interface was also changed to use
BlendEquationSeparate instead of BlendEquation.
|
|
function. Use the x86 version instead
|
|
|
|
|
|
|