| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The two gl_config pointers can never be equal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This effectively redoes 1741ddb747ca0be284315adb4b6fe67ddf292d03 in a
way that allows contexts of different APIs to coexist.
First, the changes to the remap table are reverted. The remap table
(driDispatchRemapTable) is always initialized in the same way regardless
of the context API.
es_generator.py is updated to use a local remap table, whose sole
purpose is to help initialize its dispatch table. The local remap table
and the global one are always different, as they use different
glapidispatch.h. But the dispatch tables initialized by both remap
tables are always compatible with glapi (libGL.so).
Finally, the semantics of one_time_init are changed to per-api one-time
initialization.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/mapi/glapi/glapi_sparc.S
src/mapi/glapi/glapi_x86.S
src/mapi/glapi/glapidispatch.h
src/mapi/glapi/glapioffsets.h
src/mapi/glapi/glprocs.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With 07b85457d95bcc70588584e9380c51cd63aa3a2b, glapitable.h is included
by core mesa only to know the size of _glapi_table. It is not necessary
as the same info is given by _gloffset_COUNT.
This change makes _glapi_table opaque to core mesa. All operations on
it are supposed to go through one of the SET/GET/CALL macros.
|
| | |
|
|/
|
|
|
| |
The assumption is that all stages are the same program or that
varyings are passed between stages using built-in varyings.
|
| |
|
|
|
|
| |
Everything should be able to support 1.20 at this point.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously _LinkedShaders was a compact array of the linked shaders
for each shader stage. Now it is arranged such that each slot,
indexed by the MESA_SHADER_* defines, refers to a specific shader
stage. As a result, some slots will be NULL. This makes things a
little more complex in the linker, but it simplifies things in other
places.
As a side effect _NumLinkedShaders is removed.
NOTE: This may be a candidate for the 7.9 branch. If there are other
patches that get backported to 7.9 that use _LinkedShader, this patch
should be cherry picked also.
|
|
|
|
|
|
|
| |
Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices
when necessary. By using the unlikely() macros, this ends up as
a 10% performance improvement (for isosurf, anyway) over the old,
complicated function pointer swapping.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
__GLcontextModes is always only used as an implementation internal struct
at this point and we shouldn't install glcore.h anymore. Anything that
needs __GLcontextModes should just include the struct in its headers files
directly.
|
|
|
|
|
|
|
|
|
|
| |
If an GLSL shader is used that does not provide all stages and
assembly shaders are provided for the missing stages, validate the
assembly shaders.
Fixes bugzilla #30787 and piglit tests glsl-invalid-asm0[12].
NOTE: this is a candidate for the 7.9 branch.
|
| |
|
|
|
|
| |
More optional code.
|
|
|
|
| |
Another optional ARB_imaging subset extension.
|
|
|
|
| |
Another optional ARB_imaging subset extension.
|
|
|
|
| |
This has always been optional, and not useful.
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using the invalid GL_ARB_shading_language_120 extension to
determine the GLSL version, use a new ctx->Const.GLSLVersion field.
Updated the intel and r600 drivers, but untested.
See fd.o bug 29910
NOTE: This is a candidate for the 7.9 branch (but let's wait and see if
there's any regressions).
|
|
|
|
|
| |
Add dummy static inline definitions to syncobj.h when FEATURE_ARB_sync
is 0, and remove most FEATURE_ARB_sync tests.
|
|
|
|
|
|
| |
This reverts commit b9abc6139a310677a37754ea7172d976dbf56979 and the
follow on fixes (7aae704 and 6fe1b47). It's changing the glapi/driver
ABI and causes a number of problems for debug/non-debug builds.
|
| |
|
|
|
|
|
|
| |
Binding framebuffer 0 on a context that doesn't have a winsys drawable
will try to bind the incomplete framebuffer. That fails when that's
also the dummy framebuffer.
|
|
|
|
|
|
|
| |
There's a useful feature buried in glapi to log all API calls to stderr.
Unfortunately it requires editing the code and then it's enabled
unconditionally for that build. This patch builds in API logging for
debug builds and makes it run-time switchable by setting MESA_DEBUG=dispatch.
|
|
|
|
|
|
|
|
| |
Most of these are just typecasting to long to match the arg type. I
don't really care too much about getting a GLsizei or whatever
appropriate type in. However, there were a number of real bugs, like
missing arguments or passing floats to integer format specifiers. My
favorite: printflike("%s, argument") is missing an argument.
|
|
|
|
|
|
|
|
| |
This releases a bunch of memory that was showing up as leaks with
valgrind.
If atexit() isn't widely supported we may need to add some #ifdef
tests around the call.
|
| |
|
| |
|
|
|
|
|
|
| |
laying down the foundation for everything and implementing most of the
stuff.
linking, gl_VerticesIn and multidimensional inputs are left.
|
|
|
|
|
|
|
|
| |
...instead of waiting until glGetString(GL_EXTENSIONS) is called.
This fixes a problem where the MESA_EXTENSION_OVERRIDE env var is
ignored if the app never calls glGetString(GL_EXTENSIONS).
NOTE: this is a candidate patch for the 7.8 branch.
|
| |
|
|
|
|
|
| |
Remove the unneeded ctx->Driver hooks for shader-related functions.
Move state and API-related things into main/.
|
| |
|
| |
|
| |
|
|
|
|
| |
Required for GL 3.x
|
|
|
|
|
| |
This requires renaming a few functions to have unique names so that
they can all live within the same driver.
|
|
|
|
|
|
| |
We now allocate the table from api_exec.c and dlist.c where we fill out
the table. This way, context.c doesn't need to know the actual contents
of struct _glapi_table.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces a new way to create or initialize a context:
_mesa_create_context_for_api and
_mesa_initialize_context_for_api
which in addition to the current arguments take an api enum to indicate
which OpenGL API the context should implement. At this point the
API field in GLcontext isn't used anywhere, but later commits will
key certain functionality off of it.
The _mesa_create_context and _mesa_initialize_context functions are
kept in place as wrappers around the *_for_api versions, passing in
API_OPENGL to get the same behavior as before.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add features tested in the code but missing from mfeatures.h.
This also fixes some tests of features. They should be tested with
"#if", not "#ifdef".
|
|
|
|
|
|
| |
This must always be true now, so there is no reason to check it. Ever.
Signed-off-by: Ian Romanick <[email protected]>
|
|
|
|
|
|
|
|
| |
Remove the rgbMode and indexBits parameters from _mesa_create_visual
and _mesa_initialize_visual. These values are now hardcoded to
GL_TRUE and 0.
Signed-off-by: Ian Romanick <[email protected]>
|
| |
|