Age | Commit message (Collapse) | Author | Files | Lines |
|
EGLDisplay is typedefed as a pointer.
|
|
|
|
|
|
This should avoid any differences we might end up with compared to
system khrplatform.h.
|
|
One of the problems with krhplatform.h (besides it being a terrible
idea in the first place) is that it's not present on many systems at
all, including apple, win32, and linux before late 2009.
So, unless we introduce the first ./configure dependency to the core
library build, we really do need to define these standard types to
their standard values. But if we allow khrplatform.h inclusion as
well, we'll get long-vs-int redefinition warnings on 32-bit. So, we
have to completely replicate the header, which is a thing we've done
for everything else except for eglplatform.h.
A testcase will be used to make sure that our types don't drift from
the system khrplatform.h types, if it even exists.
Fixes #17
|
|
Everything I'd linked against the library so far already had a libdl
dependency (through libX11, for example), so I hadn't noticed.
|
|
This is a lot shorter to type, and still gets the dependencies to work
(tested with touch src/dispatch_common.c; make check, and touch
src/egl_common.c; make check).
|
|
|
|
Fixes #19
|
|
If you happened to do both GLES2 and GLES1 in a process, it meant that
you'd try to look up v1 procs in the v2 API, and lose. Caught by
piglit oes_fixed_point-attribute-arrays.
|
|
Fixes distcheck when built out of tree (not that I'm using make dist
for distributing releases, currently).
|
|
Fixes #15 (and make dist when built out of tree)
|
|
Python was apparently randomizing the output of the hash iterator,
preventing ccache after a make clean.
|
|
Mesa reports "OpenGL ES-CM 1.1", so we need to not look for a space
after "ES", and 1.1 is still a 1.0-compatible implementation.
|
|
For performance, I want to be able to make single-context (well,
single-pixel-format-and-device) apps be able to directly call GL
functions through function pointers. Bake that into the ABI now so I
can get a release out the door and fix this up later.
This also fixes the lack of __stdcall annotation on the
PFNWHATEVERPROC typedefs.
|
|
Fixes #2.
|
|
|
|
If you accidentally call it on a non-egl platform, better to get an
informative error message.
|
|
This should help get us better error handling when we accidentally
call the wrong loader path.
|
|
I want to have a chance to intercept wglMakeCurrent for WGL's
context-dependent function pointer handling.
|
|
|
|
This lets the compiler generate faster function calls (call through
function pointer, instead of call into a linker-generated stub func
containing jump to function pointer).
|
|
Fixes #8
|
|
|
|
For example, on desktop 2.1 GL on Apple, there's no glBindVertexArray,
but there is glBindVertexArrayAPPLE, and as far as a caller is
concerned, the APPLE variant should be able to stand in for the
core/ARB version. Similarly for trying to do FBOs on an old Mesa
implementation that didn't have ARB_fbo yet, but did have EXT_fbo.
|
|
When initially writing the Makefiles, I started from a Makefile.am
that had ajax's copyright instead of an Intel one. The only line I
can see that's left from the original Makefile.am is "pkgconfigdir" in
the root Makefile.am.
|
|
Not sure how I misplaced the \n in the previous fix.
|
|
On non-win32, it was declaring a new function pointer variable on
every #include, and OS X's linker got angry.
|
|
For a non-GLX application, at least, we need to pull our extensions
using dlsym, not glXGetProcAddress(). The symptom was a segfault in
glXGetProcAddress().
|
|
This reduces the built size by another 37k.
|
|
Saves another 53k on disk, no relocations.
|
|
Saves 54k on disk and 3700 relocations.
|
|
I initially thought I was going to have two sets of defines you chose
from using #include, but that never ended up being necessary.
|
|
In addition to the failing testcase, there were a couple of
regressions in piglit's attribs test: one from glBegin_unwrapped vs
glBegin confusion in the __asm__ directives we were generating, and
one where the function pointers apparently were just getting mixed up
at application runtime.
|
|
This should give us a more informative failure mode than the one
mentioned in the README.
|
|
We could keep examining the same ptr value over and over.
|
|
|
|
This gets us the safety check for including GL/gl.h before epoxy/gl.h
|
|
|
|
|
|
|
|
It doesn't exist. There's EAGL, but that's not something we're
covering.
|
|
We don't need x11_libs, because we don't directly call any xlib
functions. We're just passing xlib types around.
|
|
We don't want anybody to accidentally override the library's internal
usage of epoxy_has_gl_extension() or similar public interfaces.
|
|
These tell the linker to generate GNU_IFUNC relocs that rewrite the
PLT entries in the user's address space to point to our resolved GL
function, so there's no extra function pointer. It also, as a bonus,
cuts 400k out of the library.
This requires a toolchain from 2010 or so. Unfortunately, it's going
to take a bit more investigation to find out what specific bits are
required.
Fixes #4
|
|
I'm going to want the same stuff for ifuncs.
|
|
The "None" for "we're not an alias of anything else" wasn't actually
simplifying things.
|
|
We now initialize our dispatch table with function pointers that go
and do the rewrite, then we never have to check for a NULL table entry
again. On my 64-bit build, epoxy_glClear() drops from 83 bytes to 14,
while the total library size only goes up by 5%.
This also paves the way for fixing our dispatch table management using
TLS on windows.
|
|
This is very poorly tested at this point, but survives a simple testcase.
|
|
This is needed for glGetString() lookup to work, since
wglGetProcAddress() returns NULL for core procs.
|