Pablo Escobar
0a64bac3fd
Platform: use new CSS classes in gl-info
6 years ago
Pablo Escobar
b636fdbe0e
EmscriptenApplication: use existing Module object in WindowlessEmscriptenApplication.js as well
6 years ago
Pablo Escobar
cc1f400c22
EmscriptenApplication: add test for multiple applications on one page
6 years ago
Pablo Escobar
05f5be96db
EmscriptenApplication: fix handling of magic target constants
6 years ago
Pablo Escobar
0e657a5f91
EmscriptenApplication: use existing Module object
...
This prevents deleting elements in Module that were set by Emscripten preamble code when using EmscriptenApplication.js with --pre-js
6 years ago
Pablo Escobar
f24a7f3158
Platform: update EmscriptenApplication and Sdl2Application cursor using Module['canvas']
6 years ago
Pablo Escobar
dec75443f3
EmscriptenApplication: add test for multiple applications on one page
...
This requires all but one of the applications to be compiled with -s MODULARIZE.
6 years ago
Pablo Escobar
b1c31831a8
EmscriptenApplication: get canvas target from Module['canvas'] and properly account for -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR
...
Module['canvas'] can be read even from code compiled with -s MODULARIZE so it's a better option than hardcoding it in Configuration. The target strings in Emscripten depend on whether we're compiled with DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR (see https://github.com/emscripten-core/emscripten/pull/7977 ). This is now detected and handled at runtime to prepend element IDs with # and use the correct window and document magic targets.
6 years ago
Pablo Escobar
57edde9b86
EmscriptenApplication: formatting
6 years ago
Pablo Escobar
910a47676e
EmscriptenApplication: add custom canvas test
6 years ago
Pablo Escobar
b354acdfff
EmscriptenApplication: don't hardcode the cursor target element
6 years ago
Pablo Escobar
f25f08be87
EmscriptenApplication: set canvas target in all versions of tryCreate
6 years ago
Pablo Escobar
edcce6cff5
EmscriptenApplication: make canvas target selector configurable
6 years ago
Vladimír Vondruš
8b4f26645b
Platform: switch Emscripten app tests to use CSS classes instead of IDs.
...
Can confirm this worked before and works now as well.
6 years ago
Vladimír Vondruš
e3c6289c44
Platform: don't hardcode ID in {Emscripten,Sdl}App::setContainerCssClass().
...
Instead look for a closest parent element of our <canvas> having the
.mn-container class. This should thus work for more than one canvas on a
page.
6 years ago
Vladimír Vondruš
ed9e236da1
Platform: use CSS classes instead of IDs for Emscripten markup.
...
IDs restrict the usability to a single canvas on the page. For backwards
compatibility purposes those are still kept, but the use is discouraged
now.
6 years ago
Vladimír Vondruš
70e45d984a
Platform: don't hardcode status and log element IDs for Emscripten.
...
I still need to figure out how to not hardcode a global Module, heh.
6 years ago
Vladimír Vondruš
7ce234f60b
Revert "EmscriptenApplication: get correct keyboardListeningElement CSS selector"
...
Not yet sure about all interactions with older Emscripten versions and
DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR set to 0, reverting until
it's clear.
This reverts commit c760acb548 .
6 years ago
Vladimír Vondruš
fc9a2f45d6
Platform: clear the framebuffer in Sdl2Application test.
...
It's unnecessarily hard to verify behavioral consistency across
different app implementations without.
6 years ago
Vladimír Vondruš
4c2aae65b9
Platform: https!
6 years ago
Vladimír Vondruš
e03813643a
Platform: this documentation is wrong.
6 years ago
Vladimír Vondruš
fa733a55ca
doc: updated credits.
6 years ago
Pablo Escobar
c760acb548
EmscriptenApplication: get correct keyboardListeningElement CSS selector
6 years ago
Vladimír Vondruš
321c2d22b9
Platform: improve console output of EmscriptenApplicationTest.
6 years ago
Vladimír Vondruš
08ecbbc380
Platform: fix EmscriptenApplication key events.
...
Got broken in 0f026cd314 . Note to self:
don't delegate testing to third parties.
6 years ago
Vladimír Vondruš
38a2a1f6c4
AnyShaderConverter: propagate optimization level as well.
...
Finally a complete API... except for linking, which no plugin exposes
yet so I can't test it.
6 years ago
Vladimír Vondruš
9b3abeef17
AnyShaderConverter: typo!
6 years ago
Vladimír Vondruš
5327fe0ae2
CMake: make it possible to build only some plugins as static.
...
It doesn't really work for tests that depend on more than one plugin
(because there i would need to handle all combinations, somehow), but it
does the job when the end user has such use case.
6 years ago
Vladimír Vondruš
6ec446ac2e
ShaderTools: document relation between the CLI and C++ APIs.
6 years ago
Vladimír Vondruš
b18aba5868
AnyShaderConverter: propagate debug info level.
6 years ago
Vladimír Vondruš
709931896d
ShaderTools: doc that optimization / debug info doesn't affect validation.
6 years ago
Vladimír Vondruš
c9d28af5d4
shaderconverter: hmm, this is wrong.
6 years ago
Vladimír Vondruš
d15d024da1
ShaderTools: check for PreprocessOnly also in validate*().
6 years ago
Vladimír Vondruš
0a32b74356
ShaderTools: forgot to test the PreprocessOnly check in link*().
6 years ago
Vladimír Vondruš
bd3903e637
AnyShaderConverter: propagate preprocessor definitions.
6 years ago
Vladimír Vondruš
5c223d2045
doc: reference CLI utils from plugin interface classes.
6 years ago
Vladimír Vondruš
d41e81fa9c
AnyShaderConverter: fix include order.
6 years ago
Vladimír Vondruš
f80b238e27
ShaderTools: intro docs for AbstractConverter.
...
Now that we have AnyShaderConverter we can finally do that.
6 years ago
Vladimír Vondruš
dcbd860f9b
shaderconverter: new tool.
6 years ago
Vladimír Vondruš
6db6a2a5f8
AnySceneConverter: fix a misleading macro name in the test.
6 years ago
Vladimír Vondruš
f1ba6c692b
AnyShaderConverter: new plugin.
6 years ago
Vladimír Vondruš
7c0266f3eb
ShaderTools: add a TODO.
6 years ago
Vladimír Vondruš
b9ef6b4a02
ShaderTools: ability to control optimizations and debug level.
...
So the -O and -g options in magnum-sceneconverter can be implemented in
a generic way.
6 years ago
Vladimír Vondruš
ff7b08a59b
ShaderTools: ability to control the preprocessor.
...
For -E, -D and -U magnum-shaderconverter options.
6 years ago
Vladimír Vondruš
7ee589552f
ShaderTools: expand verbosity levels, add warnings as errors.
6 years ago
Vladimír Vondruš
709ed229f5
ShaderTools: ability to specify input/output shader format and version.
...
For things like converting from GLSL 4.50 to 1.00 ES.
6 years ago
Vladimír Vondruš
332030aaa2
ShaderTools: add a linking API to AbstractConverter.
...
Eh. Am I overdoing it with the tests?
6 years ago
Vladimír Vondruš
ad12575a08
ShaderTools: C++, you're stupid. Fuck you.
...
Like, it's INEVITABLE to have a 100-line std::lerp() implementation for
questionable reasons but such dead-simple thing as std::pair doing moves
instead of copies where expected that should have been done CORRECTLY
back in 2011 still isn't working reliably across implementations?!
I guess I'm doing my Containers::Pair soon as well, then.
6 years ago
Vladimír Vondruš
13dfb6472f
ShaderTools: bootstrap new library.
...
Currently there's just a plugin interface for shader converters. More
stuff (probably something like SPIR-V reflection) will come later.
6 years ago
Vladimír Vondruš
0f026cd314
Platform: port EmscriptenApplication away from deprecated string APIs.
...
And avoid a needless std::string allocation as well, heh.
6 years ago