Vladimír Vondruš
6357ed52c0
TextureTools: assert that DistanceField output is framebuffer-drawable.
...
If it's not, it's a programmer error (i.e., don't use Luminance or
packed formats, won't work), and since there's no way for the API to
report a failure in a programmatic way, this was causing hard-to-track
errors.
3 years ago
Vladimír Vondruš
94c31b13e2
TextureTools: it's not SwiftShader, it's Luminance not being renderable.
...
And the thing that changed for SwiftShader 4.1 was added EXT_texture_rg
support, which made the test work. So no, this was not a SwiftShader bug
at all.
3 years ago
Vladimír Vondruš
f39beda8f1
TextureTools: remove test code that assumed GL debug output is always on.
...
It's not the case for quite a while, and especially for GPU benchmarks
it'd be harmful.
3 years ago
Vladimír Vondruš
f2dd0c5d75
TextureTools: make the DistanceField benchmark more stable.
...
Use a different overload to not have to create a temp framebuffer every
time, move also the error checking outside the loop and increase the
iteration count to actually have a result that isn't wildly different
every time.
3 years ago
Vladimír Vondruš
c60a1a98b9
TextureTools: no, it's no longer creating a shader every time.
...
This was fixed back in f0bb710cd3 , shortly
after adding the benchmark, but the comment wasn't removed by accident.
3 years ago
Vladimír Vondruš
f091b80fae
TextureTools: make the DistanceField class movable.
...
No reason not to, even though the move is destructive. Also unblocks
Text::DistanceFieldGlyphCache which wasn't movable due to this and one
other problem.
3 years ago
Vladimír Vondruš
15d0727096
TextureTools: remove redundant namespace prefix from test code.
3 years ago
Vladimír Vondruš
484596f936
TextureTools: remove redundant include from a test.
3 years ago
Vladimír Vondruš
78a93734dd
TextureTools: pass the whole test dir path to the test.
3 years ago
Vladimír Vondruš
3b32483d0b
TextureTools: (expected failing) test for DistanceField with an offset.
...
The shader uses gl_FragCoord, which doesn't really work with a viewport
that doesn't start at origin. Gotta fix this.
3 years ago
Vladimír Vondruš
bbb54a9df8
It's 2023 already!
3 years ago
Vladimír Vondruš
5f55f9e756
TextureTools: add a DistanceField overload taking a framebuffer.
...
So one can directly read it back on GLES without having to wrap the
texture in a framebuffer again.
This change also puts the framebuffer completeness check *before* the
clear() and bind() which makes it no longer emit a GL error. The error
is still silent though, which isn't nice. Gotta fix that eventually as
well.
3 years ago
Vladimír Vondruš
5d0454ce98
Remove random unneeded <string> and StringStl.h includes.
...
Or document why is it still needed.
3 years ago
Vladimír Vondruš
0001308d61
Test: port file/image comparison tests to the new Utility::Path.
4 years ago
Vladimír Vondruš
822fa0d644
Updated copyright year.
4 years ago
Vladimír Vondruš
361d87cd9e
Shaders,TextureTools: XFAIL tests that hit weird bugs on SwiftShader 4.0.
...
No patience to investigate.
4 years ago
Vladimír Vondruš
04aeebaf1d
TextureTools: print a note if we're using EXT_texture_rg in a test.
4 years ago
Vladimír Vondruš
ce63928efc
Make plugin existence checks in tests consistent.
4 years ago
Vladimír Vondruš
65a935cedc
Test: adapt to changes in CORRADE_SKIP().
...
Chose to update the tests instead of adding a compatibility DebugStl.h
include to Tester.h, which would have a significant impact on compile
times.
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
6 years ago
Vladimír Vondruš
65a2ced2a7
Make this compile and test cleanly with CORRADE_NO_ASSERT defined.
6 years ago
Vladimír Vondruš
398988193a
TextureTools: increase fuzzy compare threshold for iOS/WebGL.
7 years ago
Vladimír Vondruš
93789721b2
De-inline Image headers, remove dependency on ImageView.
...
This means users have to add some more #includes on their side. Sorry
but it's for your own good :P
7 years ago
Vladimír Vondruš
b97c27ba82
DebugTools,TextureTools: better diagnostics for missing plugins in tests.
7 years ago
Vladimír Vondruš
67cf914864
TextureTools: avoid the test looking for plugins we didn't supply.
7 years ago
Vladimír Vondruš
9e3690670a
TextureTools: explicitly force operation sequencing in the test.
...
On GCC 4.8 at least, release() gets called on the image before size(),
causing size() to be zero.
7 years ago
Vladimír Vondruš
4ff67d53b1
TextureTools: don't benchmark GPU if we don't have time queries.
...
Makes a loud BOOM on SwiftShader.
7 years ago
Vladimír Vondruš
49d70377af
Test: fixed various unused function warnings.
7 years ago
Vladimír Vondruš
f9f3df69de
Get rid of std::unique_ptr.
7 years ago
Vladimír Vondruš
2149f7b869
Wrap all tests in unnamed namespaces.
...
This makes the compiler warn about test cases that aren't ever used,
which is a good thing.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Vladimír Vondruš
fe6fedf6c8
TextureTools: add some fuzziness to DistanceField test comparison.
8 years ago
Vladimír Vondruš
5cc140d60c
TextureTools: make the test files properly accessible on an iOS device.
...
Testing exclusively on the iOS Simulator isn't a good thing after all.
8 years ago
Vladimír Vondruš
b9739a97ff
TextureTools: make distance field test working on WebGL 1 as well.
...
And remove the implicit assumptions, making it more robust.
8 years ago
Vladimír Vondruš
f0bb710cd3
TextureTools: make distance field processing into a stateful class.
8 years ago
Vladimír Vondruš
1fa1869ba7
TextureTools: add a benchmark for distance field processing.
...
It's a bit shitty because we're recreating the shader and everything
every iteration.
8 years ago
Vladimír Vondruš
c983068fcc
TextureTools: initial test for distanceField().
...
Fully passes only on desktop and ES3 (Mesa), expecting minor differences
onother GPUs. ES2 is slightly broken and needs fixing; doesn't even
compile on WebGL 1 and causes a serious GPU stall on WebGL 2 -- in both
causes caused by the unbounded nested loops. Rendering doesn't work on
WebGL 1 at the moment, since luminance formats are not renderable. And
for a RGBA output format I would need some utility to get rid of the
extra channels in order to pass the comparison.
Lots of work to do here.
8 years ago