Vladimír Vondruš
b109216caa
Shaders: what in the name of fuck.
...
That feeling when you lose three hours debugging STRANGE shader compiler
issues that happen only on ES, seeing stuff like "unexpected HASH_TOKEN
at line 140" or "unterminated ifdef" on just any compiler you try, and
then you spot THIS. FFS.
Apparently this is how I was porting shaders in 2013, but not all, I was
mostly sane, wrapping things in a nice ifdef EXPLICIT_UNIFORM_LOCATION,
except this one case in b9a72bd3d1 where I
temporarily went full retard. No idea why.
5 years ago
Vladimír Vondruš
2ca8d0ebb2
Shaders: clarify what the heck.
5 years ago
Vladimír Vondruš
b62f1903eb
Shaders: ensure the structures are 4-byte aligned.
5 years ago
Vladimír Vondruš
24f6c33069
Shaders: ye, SwiftShader, thanks for reminding me of the harsh reality.
...
256 vectors in total is really damn low, guess I'll have to optimize the
remaining uniform structures to deduplicate the redundant material info.
5 years ago
Vladimír Vondruš
4aa5217947
Shaders: a crutch for MSVC's neverending fails.
...
Hope this is enough?
5 years ago
Vladimír Vondruš
0512edf754
Shaders: Clang 3.8, WHY are you runing my nice tidy paddings.
5 years ago
Vladimír Vondruš
0863d9e811
Shaders: reassign MeshVisualizer uniforms to be contiguous for UBOs too.
5 years ago
Vladimír Vondruš
0ea727f21e
Shaders: ah, GCC, and your optimizations.
5 years ago
Vladimír Vondruš
79d70f1e3a
Shaders: add UBO variants to the benchmark.
...
Interestingly, shaders that have indirect material references are about
2x slower on Intel. Not the Flat or Vector, which contain the full
material in the DrawUniform. Will probably need extra
Intel-specific optimizations (like avoiding the indirection if
MATERIAL_COUNT=1).
5 years ago
Vladimír Vondruš
ef9da0ec96
Shaders: add UBO support to all shaders.
5 years ago
Vladimír Vondruš
37c8cfd384
Shaders: MeshVisualizer color map binding was done in a wrong branch.
...
It probably didn't matter as much as the only platform without
ARB_explicit_uniform_location is Mac, which doesn't have
ARB_shading_language_420pack either.
5 years ago
Vladimír Vondruš
73ba2b9d64
Shaders: benchmark all shader variants.
...
Took me a while (several years?) to figure out a way to benchmark this
without basically duplicating the testing effort and without new
variants being too hard to add.
5 years ago
Vladimír Vondruš
666fe17603
package/ci: don't even attempt to run benchmarks on SwiftShader.
...
The damn thing has more bugs than features and doesn't support timer
queries anyway, so there's no point in trying anything.
5 years ago
Vladimír Vondruš
18dcfae51e
package/archlinux: don't run benchmarks in check().
...
Takes too long and is useless, as we don't see the output anyway. Also
deduplicate the env var setters and export them just once at the start.
5 years ago
Vladimír Vondruš
d343be1d8c
Shaders: this accidentally didn't actually test the thing.
...
...but was the same as the "blending" case above. Fortunately there was
no bug hidden underneath.
5 years ago
Vladimír Vondruš
1e6da607c9
Shaders: minor.
5 years ago
Vladimír Vondruš
87b7be26f9
Shaders: forgot to rename this.
5 years ago
Vladimír Vondruš
d5623b0386
Shaders: wrongly copypasted variable name in a test.
5 years ago
Vladimír Vondruš
9bf1d4c1bd
Shaders: whoops, tested with a wrong shader here as well.
...
But the output is the same because the default 3D projection is
orthographic.
5 years ago
Vladimír Vondruš
1279d3fe5d
Shaders: merge all MeshVisualizer constructor tests together.
...
It didn't really make sense to have a separate test case just to check a
bunch of extra extensions first. This makes it much easier to test the
UBO variants as well.
Plus the "invalid" tests don't actually need to test any extensions, as
they're supposed to fail before any extension-dependent code path is
called.
5 years ago
Vladimír Vondruš
52c6c30fdf
Shaders: this SKIP was too early.
5 years ago
Vladimír Vondruš
ae3fd92fd3
Shaders: uh oh? good thing there was no bug hidden underneath.
5 years ago
Vladimír Vondruš
96a0ecd87e
Shaders: doc++
5 years ago
Vladimír Vondruš
47e7de47c8
Shaders: remove the AbstractVector base.
...
167 additions, 341 deletions. I think that speaks for itself about
benefits of this base class.
5 years ago
Vladimír Vondruš
94f0dcb421
Shaders: this thing is ... not used anywhere.
5 years ago
Vladimír Vondruš
d3e11765ac
Shaders: EXPLICIT_TEXTURE_LAYER is very misleading.
...
I went through renaming this on many places quite some time ago, but
this one slipped through. Now that UBOs will be a thing, rename to
EXPLICIT_BINDING instead of EXPLICIT_UNIFORM_BINDING.
5 years ago
Vladimír Vondruš
ee82113590
GL: this isn't needed on Apple platforms either.
5 years ago
Vladimír Vondruš
088a769f8e
GL: adapt ES-specific MeshView internals to Corrade changes.
5 years ago
Vladimír Vondruš
4348ca7cdd
Enable a bunch of useful CMake policies.
5 years ago
Vladimír Vondruš
686648f120
Platform: suggest that bundled GLFW should have buncha things disabled.
...
The so-far-perfect impression of GLFW being a heaven to integrate just
got a bunch of tiny cracks. Good thing it's being fixed for the next
version, although I'd personally disable the docs as well.
5 years ago
Vladimír Vondruš
3ebbd2ed39
doc: suggest StaticArray as another replacement for the deprecated Array.
5 years ago
Vladimír Vondruš
dd3ce93888
Math: MSVC 2015, you ICEd.
5 years ago
Vladimír Vondruš
d03cc34385
Platform: update docs about the EGL enumeration failing bug.
...
It was actually a problem in glvnd, and got fixed in 1.3.3, so I don't
need to do this env var gymnastic anymore.
5 years ago
Vladimír Vondruš
6f8ad66a90
sceneconverter: list also animations in --info.
5 years ago
Vladimír Vondruš
047e8e6670
GL: fix argument order in OpenGLTester::addBenchmarks().
...
Apparently I didn't use this overload yet.
5 years ago
Vladimír Vondruš
57ae596d88
Math: don't call into RectangularMatrix privates from Matrix.
...
Yes, it's one function call more this way, but it's cleaner and without
duplicated code that's prone to bugs.
5 years ago
Vladimír Vondruš
08a6e7d957
Math: explicit test that all types are trivially copyable.
...
I saw some copy constructors here and there and wasn't sure.
5 years ago
Vladimír Vondruš
7072befbdb
Math: generalize slicing and expanding to arbitrarily-sized matrices.
...
Originally was done only for square matrices, but now I need that for
converting 3x3 -> 3x4 and back (UBO packing, ugh ugh), so let's
generalize.
5 years ago
Vladimír Vondruš
a347a2b3bd
Math: make it possible to create an identity RectangularMatrix as well.
5 years ago
Vladimír Vondruš
7413d2053f
Math: doc++
5 years ago
Vladimír Vondruš
3cd1813bc2
Add a DefaultInit tag.
...
This one will overload the meaning of "default", so updating the docs
accordingly.
5 years ago
Vladimír Vondruš
c8ccd8bc37
Doc++
5 years ago
Vladimír Vondruš
1506c926f5
Shaders: doc++
5 years ago
Vladimír Vondruš
d683e26184
Shaders: add a test to a proper IDE folder.
5 years ago
Vladimír Vondruš
faed96b4cf
Shaders: avoid repeated GL::Context::current() calls.
...
It involves a TLS lookup each time and it's just unnecessary extra
typing.
5 years ago
Vladimír Vondruš
f74942f67a
Shaders: make the string building slightly less crazy.
5 years ago
Vladimír Vondruš
9f0a61e76e
Shaders: group things together also in GLSL sources.
...
It was also becoming quite a mess in there.
5 years ago
Vladimír Vondruš
f70bbef473
Shaders: group uniform setters and texture binding functions together.
...
Otherwise it would get way too messy with the introduction of uniform
buffers.
5 years ago
Vladimír Vondruš
e26f90957c
Shaders: wait, how did the linker work for the whole decade?!
...
No issue on GCC, only Clang and MSVC started failing once I renamed the
shaders. These four are the only that don't have the export macro
attached AND YET it somehow worked without any problem until now.
5 years ago
Vladimír Vondruš
2066d82ea4
Shaders: suffix all existing shaders with GL.
...
To make room for Vulkan shaders. Also renaming the headers, of course
everything is still aliased to the old names (and marked as deprecated).
5 years ago