Vladimír Vondruš
8ba2cac0ee
DebugTools, MeshTools, TextureTools: handle broken gl_VertexID.
...
DebugTools::textureSubImage(), MeshTools::fullScreenTriangle() and
TextureTools::distanceField() all plagued by this on SwiftShader.
7 years ago
Vladimír Vondruš
5bf09f0cea
MeshTools: update fullScreenTriangle() docs.
7 years ago
Vladimír Vondruš
cf3ad5c700
MeshTools: test fullScreenTriangle().
...
Turns out the ES3 version doesn't work on SwiftShader due to broken
gl_VertexID.
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š
40e0150e09
DebugTools: add license header to shader sources.
7 years ago
Vladimír Vondruš
06d2f0b598
DebugTools: check for different error string based on impl color read fmt.
7 years ago
Vladimír Vondruš
bbf2e15287
DebugTools: give up and skip R8 screenshot() tests on ES2.
...
It's... not worth the pains.
7 years ago
Vladimír Vondruš
80fc86ccba
DebugTools: add some fuziness to ObjectRenderer test.
...
SwiftShader misplaces two pixels. No biggie.
7 years ago
Vladimír Vondruš
28d89611f3
DebugTools: fix textureSubImage() for float textures on ES3.
...
By accident the returned image had zero size.
7 years ago
Vladimír Vondruš
efcc4e0d1c
DebugTools: harden the test for screenshot().
7 years ago
Vladimír Vondruš
3f0b298d9b
DebugTools: disable bufferData() tests on drivers w/o map_buffer_range.
...
Was crashing, haha.
7 years ago
Vladimír Vondruš
211949d3ce
DebugTools: improve the reverse format mapping in screenshot().
...
Previously it was going through all following ifs even after it found
the matching value. Using a lambda to do early returns.
7 years ago
Vladimír Vondruš
796bdb6731
GL: new pseudo-extension MAGNUM_shader_vertex_id.
...
Will be used to distinguish if the driver supports gl_VertexID. This is
not the case on SwiftShader ES3 contexts (and could be elsewhere,
probably).
7 years ago
Vladimír Vondruš
74183eb8b9
GL: improve extension docs.
7 years ago
Vladimír Vondruš
3d08c641d8
GL: yet another workaround for SwiftShader, now with XFB buffer bindings.
7 years ago
Vladimír Vondruš
579d7b489f
GL: use proper literals in a test.
7 years ago
Vladimír Vondruš
a52d6944ce
GL: enable TimerQuery test everywhere except on WebGL.
...
What the heck is wrong with me, why is this class always put in a wrong
place.
7 years ago
Vladimír Vondruš
d8a2e70617
GL: XFAIL on SwiftShader with integer data type mismatches.
...
Accepted everywhere else (or so is my experience).
7 years ago
Vladimír Vondruš
aa033e2e97
GL: XFAIL in PixelStorageGLTest if the driver wants to read RGBA.
...
The data are arranged for RGB, no idea why this wants RGBA. Probably
because ES?
7 years ago
Vladimír Vondruš
5912467f06
GL: follow ES restrictions in multi-attachment framebuffer tests.
7 years ago
Vladimír Vondruš
fdac0a7150
GL: expect less precision on ES2 tests that use RGBA4 renderbuffers.
7 years ago
Vladimír Vondruš
2b7a9b7eaf
GL: fix AbstractShaderProgram compute test on ES 3.1 contexts.
7 years ago
Vladimír Vondruš
24210a00f9
GL: disable ANGLE_instanced_arrays and OES_texture_3D on ES2 SwiftShader.
...
Turns out the extensions are advertised but the ANGLE-suffixed and
OES-suffixed entrypoints are missing, leading to crashes.
7 years ago
Vladimír Vondruš
c9937f73a0
GL: disable indexed Mesh tests on drivers w/o indexed extensions.
7 years ago
Vladimír Vondruš
f5e9ba7e8a
GL: wait, there's not just three ES instanced extensions, there's FIVE.
...
Like, why can't they just depend on each other or something?
7 years ago
Vladimír Vondruš
44a77ed918
GL: fixed broken links to extensions.
...
These were originally working around some inconsistencies in the
upstream naming, but that's fixed since.
7 years ago
Vladimír Vondruš
1ae982020d
GL: detect ANGLE using the renderer string on non-WebGL platforms.
...
No need to use such hacks there.
7 years ago
Vladimír Vondruš
b76d1226e0
GL: detect SwiftShader.
7 years ago
Vladimír Vondruš
6a982f7841
Adapted to Corrade changes.
7 years ago
Vladimír Vondruš
127c8b624b
GL: engrish.
7 years ago
Vladimír Vondruš
d6e0186dbf
GL: actually fix the VAO / element array buffer binding state interaction.
...
Fixing the new (and now failing test) from the previous commit. In
setIndexBuffer(), I was resetting the state tracker to a VAO state that
was about to be set in the very next step, and then, when doing that
next step the state tracker "optimized away" the state change because it
thought it was already done (even though it wasn't). Reordering the two
operations fixes it.
In comparison to how this was meant to be done in the original
169031fb7b , the new way should do the same
but additionally avoid a bunch of redundant state calls. Let's hope no
more bugs related to this appear.
7 years ago
Vladimír Vondruš
ee16c25125
GL: further harden VAO and index buffer binding state interaction tests.
...
This one crashes. Turns out the 169031fb7b
contained a random temporary test state instead of the real solution
(and so the comment didn't even match the code, it should have been
resetting that to 0). That also made some tests fail with DSA disabled,
but none of the tests were actual Mesh tests, just accidentally hitting
the problematic code path.
I took the opportunity to look at this more closely and investigate
*why* this failed -- turns out, in setIndexBuffer(), I was resetting
the state tracker to a VAO state that was about to be set in the very
next step, and then, when doing that next step the state tracker
"optimized away" the state change because it thought it was already done
(even though it wasn't). The new test in MeshGLTest covers this
particular case.
7 years ago
Vladimír Vondruš
de12c7ca78
doc: update changelog and credits.
7 years ago
Vladimír Vondruš
169031fb7b
GL: reset element buffer binding state tracker when switching VAOs.
...
Fixes the failing test from previous commit and obsoletes another
incomplete and ugly state tracking fix.
7 years ago
Vladimír Vondruš
df463d5452
GL: test yet another interaction of VAOs and index buffer binding.
...
Fails (well, why else would I be adding the test, right?).
7 years ago
Vladimír Vondruš
4c8195ec9b
GL: new --magnum-gpu-validation command-line option.
...
Enables KHR_debug, if available. This should have been here since ages.
7 years ago
Vladimír Vondruš
4f2f29d1bb
GL: use EnumSet instead of bool for internal flags.
...
There will be more soon.
7 years ago
Vladimír Vondruš
25ef63ecd7
TgaImporter: report error message on empty file being opened.
...
Also updated the test cases to be consistent with other image plugins.
7 years ago
Vladimír Vondruš
839a3ed1c2
TgaImporter: test non-constant alpha.
7 years ago
Vladimír Vondruš
4ab3633d5b
Trade: clarifying comment.
7 years ago
Vladimír Vondruš
df5b09744f
SceneGraph: fix build with latest Corrade.
...
TBF, I'm increasingly unhappy with this abomination.
7 years ago
Vladimír Vondruš
1346573798
Platform: document that GlfwApplication::swapInterval() doesn't exist.
7 years ago
Vladimír Vondruš
9a8e874eb4
Math: minor cleanup.
7 years ago
Vladimír Vondruš
5bfdd71af6
Math: microoptimizations.
7 years ago
Vladimír Vondruš
5a010269bd
Math: implement component-wise bool operations on BoolVector.
7 years ago
Vladimír Vondruš
d9682b49e7
doc: make the Plugins page easier to search for.
7 years ago
Vladimír Vondruš
a1356decdd
Platform: extend GLFW and SDL2 test applications.
...
Was checking how text input and key events are related.
7 years ago
Vladimír Vondruš
d0673816ef
Animation: fix TrackView to have the same default extrapolation as Track.
7 years ago