That was unprofessional from me, sorry, because it didn't even compile.
When I got it to compile, it crashed right away, because I was querying
GLX function instead of WGL function. But even after that it was still
crashing BECAUSE APPARENTLY YOU HAVE TO CREATE CONTEXT TO BE ABLE TO
CREATE CONTEXT, YO DAWG.
Fuck all this GL shit. Gimme something sane already. Ugh.
Added `--magnum-disable-extensions` option next to the already existing
`--magnum-disable-workarounds`. Specified extensions are not used
automatically and also report as disabled and unsupported when asked using
Context::isExtensionSupported() and Context::isExtensionDisabled().
Binary AMD drivers require the user to explicitly request the debug
context on context initialization, otherwise all debug functions are
no-op. This allows us to use debug functionality in command-line utils
and, mainly, GL functionality tests.
The Windows versions are coded without testing, so I hope I did not break
something :)
On AMD drivers the debug output has to be explicitly enabled on context
creation, otherwise all debug functions are no-op, thus causing the functions
to read uninitialized memory.
The DSA function does not accept any texture target parameter so the
cube map texture was bound as a whole (and thus behaving as a layered
attachment) instead of just a single face. Thanks to @chpatrick for the
report.
When rotation is identical, the rotation of the first dual quaternion is
returned instead, together with the linearly interpolated translation of
both (lerp of the vectors of the dual part). The additional include is
needed for `Math::lerp(Vector<3, T>, Vector<3, T>, T)`.
Signed-off-by: Squareys <Squareys@googlemail.com>
The engine can now list all driver workarounds that were used during the
initialization. Any listed workaround can then be disabled from the
command-line using `--magnum-disable-workarounds` command-line
parameter. The disabling and querying API is private and undocumented,
because the driver workarounds should be disabled only by end-users and
not application developers. The workaround list is now empty, but will
be filled up in the following commits and the workarounds will be
probably documented only privately in Implementation/driverSpecific.hpp,
as it is really something that should be used only to debug driver
problems.