Age | Commit message (Collapse) | Author | Files | Lines |
|
Add GL_OES_point_size_array to the set of features and extensions that are
exported from libGLESv1_CM.so.
According to the OpenGL ES 1.1 spec, all required extensions are supposed to be
statically exported from the library. GL_OES_point_size_array is the only
required extension that defines any functions.
|
|
If glXDestroyContext is called with NULL for the GLXContext, then it will now
report an error using glvndAppErrorCheckReportError but it won't generate a
GLXBadContext error.
Some existing drivers (NVIDIA, Mesa, and possibly others) will just silently
return in that case, and some applications depend on that behavior.
|
|
Added app_error_check.c to libGLX, and initialize it from __glxInit.
|
|
Fix spelling mistakes.
|
|
|
|
By the time __glXFini is called, the destructors in the vendor libraries may
have already been called, so it's not safe to call any functions in the vendor
library.
__glXFini will now check for a fork and go through fork recovery, but it won't
call __glDispatchCheckMultithreaded. If there was a current context, then
__glDispatchCheckMultithreaded might call the vendor's thread attach callback.
|
|
Fix the reversed GLX_VENDOR_ABI_GET_MAJOR_VERSION and
GLX_VENDOR_ABI_GET_MINOR_VERSION macros.
Add individual #defines for libglvnd's major and minor version for better
readability.
|
|
Add support for reporting application errors.
|
|
GLdispatch: Emit public_entry_{start,end} as hidden symbols
|
|
The libglvnd libraries will now check for a new environment variable,
__GLVND_APP_ERROR_CHECKING. If it's set to a non-zero value, then libglvnd will
check for and report some application errors.
Many non-libglvnd implementations of libGL.so have been fairly tolerant of
certain application bugs. Libglvnd has to be similarly tolerant to support
existing apps that the developers can't or won't fix.
The new __GLVND_APP_ERROR_CHECKING provides a way to check for some of those
errors, so that hopefully there will be fewer broken apps in the future.
In addition to the setting itself, this updates the no-op stubs in
libGLdispatch to report an error when the app tries to call an OpenGL function
without a current context. Later changes will likely add other error checks.
|
|
Replace x11glvnd with GLX_EXT_libglvnd extension.
|
|
Updates to libGLX vendor library interface.
|
|
Fix the return type in the __GLX_MAIN_PROTO macro.
In GLX_dummy.c, check the major and minor version numbers like a real vendor
library might. In addition, GLX_dummy.c now keeps a pointer to the
__GLXapiExports struct instead of a copy of it.
|
|
Delete the x11glvnd directory.
Commented out the two tests that depend on it, testx11glvndproto and
testglxnscreens. Eventually, they should be rewritten to use the
GLX_EXT_libglvnd extension instead.
|
|
Reworked libGLX.so to use the GLX_EXT_libglvnd extension instead of x11glvnd.
In __glXLookupVendorByScreen, use __glXQueryServerString to look up the vendor
name string, and then split it up with strtok_r.
|
|
Add some functions to handle requests for looking up vendor names and screen
numbers using the GLX_EXT_libglvnd extension.
|
|
Move the display pointer from __GLXdisplayInfoHash to __GLXdisplayInfo, so that
we don't have to pass around both the Display and __GLXdisplayInfo pointers to
a function that needs both of them.
|
|
__glXFreeDisplay is defined but not used anywhere.
|
|
libGLX will now use XAddExtension and XESetCloseDisplay to register a callback
when a display is closed.
Removed XGLVRegisterCloseDisplayCallback and
XGLVUnregisterCloseDisplayCallbacks from the x11glvnd client library.
This is in preparation for removing the x11glvnd extension.
|
|
Rename __GLdispatchAPIState to __GLdispatchThreadState, to make it clearer that
the structure contains thread-specific data.
Updated some out-of-date comments.
|
|
build: use system glproto headers
|
|
|
|
|
|
Build cleanups.
|
|
Added the function pointers for entrypoint rewriting as members of
__GLXapiImports, instead of using a separate __GLdispatchPatchCallbacks
pointer.
Moved the __GLdispatchPatchCallbacks struct to GLdispatch.h.
|
|
__glx_Main now takes a pointer to the __GLXapiImports struct and fills it in.
The __GLXapiImports struct is now allocated and zeroed by libGLX. This makes it
possible to add an optional element to the end of the struct without breaking
backward compatibility.
|
|
|
|
libGLX now allocates its own copy of the __GLXapiImports struct for each vendor
library. This is in preparation for providing an allocated and zeroed struct to
__glx_Main to fill in.
|
|
Removed the vendorID and vendorName parameters from the __glx_Main function,
since neither one is useful to a vendor.
Instead, __glx_Main now takes the __GLXvendorInfo pointer as a parameter. We
can use that to look up any additional per-vendor information that might be
added in the future.
|
|
|
|
The version number for the libGLX vendor library interface now uses a major and
minor version number in the high- and low-order 16 bits.
The major version is used for changes that break existing vendor libraries, and
the minor version is for changes where existing vendor libraries will still
work.
|
|
|
|
The code was disabled due to a glibc bug 16272. which as of this point
remains open.
As n alternative solution is already in place and fix for the mentioned
issue is unlikely to land in order distributions, it does not make it a
viable solution that we can use (in the near future).
Drop the code for now, to prevent anyone building a completely broken
library.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Left-overs as the file was copied from mesa. Sort the remainder while
we're here.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
All the functionality that this macro sets is either available or
superseded by the PKG_CHECK_MODULES(..., xorg-server) call.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Similar to previous commit - all of these have been part of the POSIX
and/or ISO C89/C99 standard for a decade or more. Additionally none of
the respective HAVE_ macros are checked.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Pretty much all of those are required by either POSIX 2001 or C99. Some
are even deprecated (gettimeofday). Furthermore neither one's HAVE_
macro is checked in existing code.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
All three types are part of the POSIX standard.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
The code does not rely on the GNUC specific behaviour (return valid
pointer if requested size is zero) nor does it check the relevant HAVE_
macros.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
We require C99 capable compiler so we don't need these.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
... as opposed to hardcoding it. While we're here tweak the whole
command to use the standard - AM_V_at and @D, as opposed to @ and dir $@
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
v2: s/libdrm/libglvnd/ (Kyle)
v3: fix grammar in error message (Arthur Huillet)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Some of the BSD platforms (OpenBSD and DragonFly come to mind) do not
have a python2 symlink.
Inspired by an identical patch for mesa by Jonathan Gray.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Since the code is no longer around we should not be lying to the user
that such a thing exists.
v2: tweak commit message (Arthur Huillet)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
Removed the distinction between TSD and TLS stubs, since that doesn't matter to
a vendor library. There's now a single type for the x86 stubs and a single type
for the x86-64 stubs.
Added a separate type enum for normal ARM and thumb stubs. As with x86, there's
no distinction between TLS and TSD.
Changed the __GLDISPATCH_STUB_PURE_C enum to a more generic
__GLDISPATCH_STUB_UNKNOWN.
Also removed the internal ENTRY_* enums and changed everything to use the
__GLDISPATCH_STUB_* enums instead.
|
|
Renamed __GLdispatchPatchCallbacks::checkPatchSupported to isPatchSupported,
and renamed __GLXapiImports::checkSupportsScreen to isScreenSupported.
|