Vladimír Vondruš
9fa87652e6
GL: new amd-windows-dsa-createquery-except-xfb-overflow workaround.
7 years ago
Vladimír Vondruš
d06914a1bd
doc: hint that Optional is a safer NoCreate.
7 years ago
Vladimír Vondruš
24f7d45364
Implement globals shared across DLLs on Windows.
7 years ago
Vladimír Vondruš
ca326fdb18
GL: pile on more workarounds for CubeMapTexture DSA code paths.
...
Ugh why this has to be SO TERRIBLE. I'm starting to have extremely low
expectations for similar parts of Vulkan drivers by the same vendors.
7 years ago
Vladimír Vondruš
f2ba5602a4
GL: Intel Windows drivers 26 are less shitty w/ double attributes.
7 years ago
Vladimír Vondruš
5c042f62d0
GL: if timer queries are not available, SKIP the benchmarks.
...
Requiring each benchmark to handle this on its own would be silly.
7 years ago
Vladimír Vondruš
60c18f93a1
GL: implement time queries for WebGL 2, and workarounds, and ...
...
There's a new firefox-fake-disjoint-timer-query-webgl2 workaround and a
half-page of text listing various caveats and issues you might run into.
Also exposing them in the OpenGLTester (although quite shitty at this
point).
7 years ago
Vladimír Vondruš
cb5fe2dd49
GL: don't forward-declare what doesn't exist.
7 years ago
Vladimír Vondruš
65b589f765
New explicit-uniform-location-is-less-explicit-than-you-hoped workaround.
...
Intel drivers on Windows. Surprisingly unsurprising.
7 years ago
Vladimír Vondruš
3a243a04b2
CMake: put all binaries into a dedicated location in the build dir.
...
This makes it possible to:
- finally use Magnum as a CMake subproject on Windows and have your
executables not fail to run with a "DLL missing" error (and the
setting is put to cache so superprojects just implicitly make use of
that)
- run tests on Windows without having to install first
- use dynamic plugins from a CMake subproject on any platform without
having to install first or load them by filename --- and the plugin
directory is now easily discovered as relative to
libraryLocation() of the library implementing given plugin interface
7 years ago
Vladimír Vondruš
32ce1f1b43
external: include KHR/khrplatform.h absolutely.
...
Otherwise it requires custom buildsystem users to add
MagnumExternal/OpenGL to include paths, causes issues in Vcpkg and so
on.
7 years ago
Vladimír Vondruš
f7d739058b
Platform: device selection in WindowlessEglApplication.
7 years ago
Vladimír Vondruš
dbb4cb39a1
GL: improve Framebuffer usage docs.
7 years ago
Vladimír Vondruš
3f9c541753
GL: add ES-only TextureFormat::BGRA[8].
...
And clarify their purpose. This was an accidental ommision, as there's
no need for such a thing on desktop.
7 years ago
Vladimír Vondruš
7b368dcdf4
GL: mention how to do --magnum-log quiet directly from C++.
7 years ago
Vladimír Vondruš
e49136fd24
GL: I *knew* there was a reason I did this.
7 years ago
Vladimír Vondruš
957e8470fe
GL: put extension docs to proper enum value.
...
It's relevant to the generic RGB/RGBA format, not the sized 16F formats
that aren't available in WebGL 1 anyway.
7 years ago
Vladimír Vondruš
f58a15b9a1
GL: update outdated info -- ASTC is on WebGL now.
7 years ago
Vladimír Vondruš
eef1981b43
GL: added hasTextureFormat() and textureFormat() helpers.
7 years ago
Vladimír Vondruš
d9cef2feea
Add HDR ASTC pixel formats.
...
Both Vulkan and Metal have separate enums for these, GL is the only odd
one out.
7 years ago
Vladimír Vondruš
893d5d38bc
ASTC: the pain never ends (3D formats).
...
GL has an extension, but only for ES, not on desktop. Vulkan has
nothing yet (due to there being just ARM that implements it, no other
vendor), except those being listed in a KTX format specification.
7 years ago
Vladimír Vondruš
90c727c025
GL: test for ARB_gpu_shader_fp64 in tests that need it.
7 years ago
Vladimír Vondruš
14bd07c559
GL: properly include a header for the deprecation macro.
7 years ago
Vladimír Vondruš
ba3ce069d4
GL: consistency in error message prefixes.
7 years ago
Vladimír Vondruš
44b008262e
Doc++
7 years ago
Vladimír Vondruš
c6c8dcb456
GL: make DynamicAttribute constructible directly from an Attribute.
...
Otherwise trying to mirror all the properties is quite error-prone.
7 years ago
Vladimír Vondruš
b2494416f4
GL: debug output for DynamicAttribute enums.
...
Forgotten, apparently.
7 years ago
Vladimír Vondruš
9b21db0737
GL: don't expose half float attributes on WebGL 1.
...
They weren't in the docs but in the internals. That's wrong.
7 years ago
Vladimír Vondruš
17e960deb0
GL: fix signature of debug operators exposed only to Doxygen.
7 years ago
Vladimír Vondruš
06aac867ae
GL: make AbstractTexture destructor protected.
...
Right now there isn't any work done in subclass destructors, but that
may change in the future due to driver workarounds being added. So
better be prepared.
7 years ago
Vladimír Vondruš
21890253f1
GL: reorganize sRGB TextureFormat values to be together with the 8bit ones.
...
These do not belong into the "weird formats" section at the end.
7 years ago
Vladimír Vondruš
9d937ad3c8
GL: remove redundant ifdefs.
7 years ago
Vladimír Vondruš
b5371f7a6b
GL: TextureFormat::R3B3G2 had a typo in the name.
...
Use R3G3B2 instead. The íold name is preserved for compatibility, but
marked as deprecated and scheduled for removal in a future release.
7 years ago
Vladimír Vondruš
b75308560f
GL: doc++
7 years ago
Vladimír Vondruš
539f3f6066
GL: we can use PVRTC to test this code path on desktop.
7 years ago
Vladimír Vondruš
71a9f1bbbf
Reserve zero [Compressed]PixelFormat for an invalid value.
...
Catches accidents better -- just look at the diff. Might catch accidents
in your code now as well, so beware!
7 years ago
Vladimír Vondruš
e52c9e8d9e
Export globals and make them weak on static builds so they work across SOs.
...
Well, except on Windows -- not yet. Added an XFAIL for that.
7 years ago
Vladimír Vondruš
59aade762a
Audio, GL: add tests for global state shared across libraries.
...
Both currently fail on static builds.
7 years ago
Vladimír Vondruš
7b43ab5fc2
GL: create the buffer passed to setBuffer() if it's not already.
7 years ago
Vladimír Vondruš
692cb4e173
GL: test setting an empty buffer to BufferTexture and filling it after.
...
The driver should recalculate the texture size after. This test fails when
ARB_DSA is not present as the underlying GL buffer is not created yet at
that point.
7 years ago
Vladimír Vondruš
dbc029e18e
GL: added BufferTexture::size().
...
Why the heck was it not here? Did I fear GL errors too much?
7 years ago
Vladimír Vondruš
40b8815b9d
Added sRGB formats to PixelFormats + R and RG sRGB GL texture formats.
...
The extension support is a mess, as usual. This time the ES flavor
supports something that desktop doesn't and WebGL lack those altogether.
Yay.
7 years ago
Vladimír Vondruš
be65f85e88
GL: recognize KHR_texture_compression_astc_sliced_3d.
7 years ago
Vladimír Vondruš
87a446c7ba
GL: recognizing {EXT,ANGLE}_texture_compression_dxt{1,3,5} extensions.
...
This makes it possible to test S3TC code paths on SwiftShader as well.
7 years ago
Vladimír Vondruš
907c91ac7b
GL: minor cleanup.
7 years ago
Vladimír Vondruš
6e97039b8d
GL: don't include MAGNUM_shader_vertex_id on ES2 builds.
...
It makes one think such feature *could* be supported there, while it
couldn't.
7 years ago
Vladimír Vondruš
24a6c35017
GL: properly mark extension core versions.
7 years ago
Vladimír Vondruš
742aec665d
GL: harden extension list tests.
...
This uncovers a few important issues, yay!
7 years ago
Vladimír Vondruš
435f7a9f14
GL: remove redundant defines to slim the GL headers a bit.
...
What the hell, why does the ASTC HDR extension add *the exact same*
defines as the LDR one.
7 years ago
Vladimír Vondruš
65ea1eb91a
GL: properly use sRGB PixelFormat for sRGB ETC compressed formats.
7 years ago