There will be Flag::FlipY for images at some point, enabled by default
for compatibility with existing GL code, and so it makes sense to start
discouraging setFlags() as early as possible to avoid people resetting
the default by accident.
Also update the imageconverter, sceneconverter and shaderconverter utils
to use these instead of setFlags().
Currently those will be needed mainly by the Vk library to patch around
a SwiftShader bug. I'm not sure yet how the public API should look so
it's all hidden in the Implementation namespace for now.
If it's ignored, a warning is printed to catch accidents, but not an
error since it should be possible to just append --info to existing
command line to see what the input is about.
Sigh, again. That's what I get for removing std::string only from some
APIs and not all. Explicitly fetching the argument values as a
StringView everywhere now, it avoids a copy so it's good to do even if
not strictly needed.
To make it convenient, the format equals to the usual file extension.
Currently skipping WGSL and DXIL however because I have no idea what
extension should they have, not even the DirectXShaderCompiler repo
tests show anything useful, there it's either generic LLVM *.ll or *.bc.
Come on, did people in 2020 also forget how to design file formats?!
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.