Vladimír Vondruš
e0ddd8a302
GL,Shaders: unify skip messages to say "extension [not] supported".
...
Instead of "available". Thought it's the other way around, but there's
way more supporteds than availables so let's keep that.
5 years ago
Vladimír Vondruš
1222baf44c
GL: drop compatibility fallback for the new multidraw API.
...
Since the main point of the low-level API is to make use of the
EXT_multi_draw_arrays / ANGLE_multi_draw / WEBGL_multi_draw extensions
for a reduced driver overhead *and* the builtin gl_DrawID variable, it
just doesn't make sense to provide a fallback to draw() in a loop. When
the extensions are not available, the user has to do extra work in order
to supply proper UBO draw offset for each draw call, and thus the
fallback path has basically no practical use.
On the other hand, draw() taking the MeshView instances is kept as-is --
this one is rather old and so breaking compatibility would be an
unnecessary pain point. Plus, since it has to allocate the contiguous
arrays internally, it's not desirable for any fast-path rendering
anyway.
5 years ago
Vladimír Vondruš
0fb94f7061
GL: don't export Mesh internals.
...
Those aren't used from any header, so no need to have their symbols
visible.
5 years ago
Vladimír Vondruš
3751389e92
GL: properly test both 32bit and 64bit multidraw index offsets.
5 years ago
Vladimír Vondruš
5cddf7b6b7
GL: test for multidraw assertions using the low-level API.
...
No need to go through the extraneous MeshView API.
5 years ago
Vladimír Vondruš
6a73008a38
GL: use consistent terms in a test.
5 years ago
Vladimír Vondruš
0148a1e80f
Platform: using std::string::data() to print it is an antipattern.
...
No, just no.
5 years ago
Vladimír Vondruš
304819435d
Math: no need to use a <string> in this test.
5 years ago
Vladimír Vondruš
c3fbf45f46
GL: remove last remaining std::string concatenations from CORRADE_SKIP().
...
Not sure why these were still there. Everything got fixed in
65a935cedc except these few.
5 years ago
Vladimír Vondruš
4eb6eca2d8
GL: shuffle test cases around a bit for consistency.
5 years ago
Vladimír Vondruš
dc18ebcb23
GL: reduce code duplication.
5 years ago
Vladimír Vondruš
46c4c9acbe
doc: add a page aggregating OpenGL-ES- and WebGL-specific features.
...
Thanks Google, for your careless fuckall way of creating private ANGLE
extensions that then immediately get exposed to Chrome and Chrome only.
Way to go!!
5 years ago
Vladimír Vondruš
28d9045d4f
GL: doc++
5 years ago
Vladimír Vondruš
b2d7060ddc
GL: wait, why these multidraw entrypoints are defined in MeshView?
...
This class should only have APIs that take MeshView, everything else
should be in Mesh directly.
5 years ago
Vladimír Vondruš
2fa4386f88
doc: updated changelog.
5 years ago
Vladimír Vondruš
e3589e84b4
GL: skip tests for mismatched mesh attribute signedness on WebGL.
...
Neither FF nor Chrome allow these.
5 years ago
Vladimír Vondruš
86d78aba10
GL: fix MeshGLTest on WebGL.
...
It doesn't allow anything except full RGBA and 32-bit types to be read
from the framebuffer. Chromium browsers weren't complaining but Firefox
did. I remember a similar restriction from GLES2 but all implementations
I tested with including ANGLE and SwiftShader allow that already, so
it's practically just a WebGL limitation.
5 years ago
Vladimír Vondruš
37495b0841
GL: make renderbuffer format match the shader format in MeshGLTest.
...
This doesn't actually fix the WebGL-specific error (there it
additionally disallows mismatched signedness in a vertex attribute) but
is nevertheless good to have correct.
5 years ago
Vladimír Vondruš
1ee1f23f77
Doc++
5 years ago
Vladimír Vondruš
4caf92cf5d
GL: add some other rather crappy ways to detect ANGLE.
...
Not proud-- actually, WHAT A TRASH FIRE THIS WEBDEV IS FFS
5 years ago
Vladimír Vondruš
d0f57f0153
GL: actually, Mesa is detectable from the renderer string always.
...
No need to fetch the version string then.
5 years ago
Vladimír Vondruš
7ad928ae42
GL: make use of unmasked renderer string in Context::detectedDriver().
5 years ago
Vladimír Vondruš
f360c19426
GL: new "firefox-deprecated-debug-renderer-info" workaround.
...
Sigh. Webdevs, could you GROW UP and be clear upfront and CONSISTENT
about stuff getting deprecated?!
5 years ago
Vladimír Vondruš
13d62634d8
GL: implement WEBGL_debug_renderer_info.
...
Unlike most other extensions, this one has to be explicitly enabled in
Emscripten in order to be used. Which thus done as part of other "driver
workarounds" done on startup. To avoid that, the extension can be
explicitly disabled, and thanks to the previous commit the disabling
will be performed before the extension is attempted to be enabled.
5 years ago
Vladimír Vondruš
04d294eda0
GL: disable requested extensions before setting up driver workarounds.
...
This way it's possible to affect driver workarounds depending on certain
extensions to be present.
5 years ago
Vladimír Vondruš
86b454dc4e
doc: add a page aggregating WebGL-specific features.
...
The time have come to this. Sigh.
5 years ago
Vladimír Vondruš
3b82429db2
doc: rename \requires_gles20 to \requires_gles20_only.
...
So it's clearer it doesn't mean "GLES 2.0 and everything above", like
all other \requires_foo commands.
5 years ago
Vladimír Vondruš
d14dddc833
gl-info,vk-info: print remaining CORRADE_TARGET_* macros.
5 years ago
Vladimír Vondruš
cad1f68eba
doc: mention new KTX and glTF plugins.
5 years ago
Vladimír Vondruš
d96957b5a4
Platform: bah!
...
Commit b37df09892 was one of those "it's
so simple I don't even need to hit the Build button". Well.
5 years ago
Vladimír Vondruš
b37df09892
Platform: clean up leftovers after old deprecated viewportEvent().
...
There used to be a backwards compatibility code proxying to a function
that took just a single const Vector2& and this was left after it got
removed.
5 years ago
Vladimír Vondruš
673022b161
GL: deduplicate global defaultFramebuffer state across shared libraries.
...
Can't really automatically test this, unfortunately, as the windowless
tests don't operate on the default framebuffer.
5 years ago
Vladimír Vondruš
0517dd5c58
GL: no need to set _viewport twice in Framebuffer constructor.
...
That line was unchanged since 2012, so I don't think it carried some
meaning that escaped my attention.
5 years ago
Vladimír Vondruš
a2f7e1222b
DebugTools: fix CompareImage test to pass on MSVC 2019 16.10(11?).
...
Wow, it's just amazing how printing NaNs can differ among toolchains.
5 years ago
Vladimír Vondruš
78cf81bfca
Trade: mutable access to MaterialData attribute values.
...
Hah, so many overloads. Not providing mutable access to keys or layer
offsets as that would break the invariant of the internal array always
being sorted.
5 years ago
Vladimír Vondruš
1fb707497f
Trade: not sure why these would need to be in that ifdef.
5 years ago
Vladimír Vondruš
145d41dcff
Trade: doc++
5 years ago
Vladimír Vondruš
602f08881b
Trade: ensure AbstractImporter::fooForName() returns indices in bounds.
...
I just accidentally returned a wrong index from a SceneData backwards
compatibility wrapper and realized it'd be good to have that checked
always.
5 years ago
Vladimír Vondruš
6ce892f939
Math: doc++
5 years ago
Vladimír Vondruš
ff1b0ab307
Math: add off-center variants of 2D/3D orthographic projection as well.
...
Was just perspective projection right now.
5 years ago
Vladimír Vondruš
96c0d104c7
sceneconverter: don't forget to print mesh attribute array size, if set.
5 years ago
Vladimír Vondruš
5ef7bd26e7
Trade: improve MaterialData type mismatch assertions.
...
Followup to 26a0bf94ff where it was done
for MeshData, forgot that this class suffers from the same issue.
5 years ago
Vladimír Vondruš
ebfbfcbb73
Trade: doc++
5 years ago
Vladimír Vondruš
bdc36e5d7a
SceneGraph: properly decompose reflection in TRS transforms.
...
The test (that started asserting instead of failing after previous
commit) now passes.
5 years ago
Vladimír Vondruš
3697125c7d
Math: disallow reflections in {Complex,Quaternion}::fromMatrix().
...
And update docs in Matrix[34]::rotation() and related functions to note
this. This is a breaking change that may cause existing code to start
asserting.
5 years ago
Vladimír Vondruš
1f55165941
SceneGraph: test that TRS transforms properly decompose reflection.
...
They do not.
5 years ago
Vladimír Vondruš
bd53b2ed1a
Math: doc++
5 years ago
Vladimír Vondruš
87d8b33dbe
Math: test QR and SVD with rotation and scaling instead of shear.
...
QR gives a reasonable result this time, SVD gives kinda the same thing
but with the actual rotation in U instead of V.
5 years ago
Vladimír Vondruš
e9f2101b15
Math: added Distance::pointPoint() and Intersection::pointSphere().
...
Those add nothing of value as they only wrap trivial code, but make the
operations easier to discover, and that's what matters.
5 years ago
Vladimír Vondruš
f9661fe402
Math: add castInto() variants for UnsignedLong/Long.
...
There's now 24 overloads for unsigned types and 24 for signed types,
which is all possible combinations. Not adding an ability to cast
between signed and unsigned as I'm not sure what should be done there.
5 years ago