Pablo Escobar
cc238237fc
Platform: docs for multiple applications
6 years ago
Pablo Escobar
f22421247d
Platform: use new CSS classes in gl-info
6 years ago
Pablo Escobar
c3c0010304
Platform: avoid potential race conditions on load.
6 years ago
Pablo Escobar
110e45d0ea
Platform: add test for multiple applications on one page.
6 years ago
Pablo Escobar
673a17fa11
Platform: allow to reuse existing Emscripten Module properties.
...
By wrapping the module creation in a function that includes properties
from the original module as well as allowing to override the default
properties from the outside. This also means it's possible to create
differently named modules for multiple applications on the page.
6 years ago
Pablo Escobar
1fd365773a
Platform: update {Emscripten,Sdl2}App cursor using Module['canvas'].
6 years ago
Pablo Escobar
01b4d8d171
Platform: get EmscriptenApplication 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 preferrable option to 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
Vladimír Vondruš
66c9746986
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š
832f0ae3fc
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š
2d0c97d4c0
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š
86a26eb07b
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š
67a711a101
Platform: I'm sorry for breaking the build.
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š
52423e5350
package/archlinux: keep a debug variant of magnum-shaderconverter too.
6 years ago
Vladimír Vondruš
81a339a79e
modules: use standard CMake APIs for detecting static libs.
6 years ago
Vladimír Vondruš
6b93a2d364
ShaderTools: fix the input callback snippet to be less wrong.
...
First of all, it's quite unusual to have an array of const chars. Then,
it was not really handling file opening errors, which is actually a VERY
BAD THING when you are wondering why your include isn't parsed.
6 years ago
Vladimír Vondruš
4018e053ba
doc: mention an alternative to GL_ARB_shading_language_include.
6 years ago
Vladimír Vondruš
8ec6b18c71
doc: mention MinGW GCC/Clang ABI incompatibility in Windows platform docs.
6 years ago
Vladimír Vondruš
718a23adfc
doc: mention the new utils in namespace docs as well.
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