Magnum/ShaderTools/AbstractConverter.h file new in Git master

Class Magnum::ShaderTools::AbstractConverter, enum Magnum::ShaderTools::ConverterFeature, Magnum::ShaderTools::ConverterFlag, Magnum::ShaderTools::Format, enum set Magnum::ShaderTools::ConverterFeatures, Magnum::ShaderTools::ConverterFlags.

Namespaces

namespace Magnum
Root namespace.
namespace Magnum::ShaderTools new in Git master
Shader tools.

Classes

class Magnum::ShaderTools::AbstractConverter new in Git master
Base for shader converter plugins.

Enums

enum class ConverterFeature: UnsignedInt { ValidateFile = 1 << 0, ValidateData = ValidateFile|(1 << 1), ConvertFile = 1 << 2, ConvertData = ConvertFile|(1 << 3), LinkFile = 1 << 4, LinkData = LinkFile|(1 << 5), InputFileCallback = 1 << 6, Preprocess = 1 << 7, Optimize = 1 << 8, DebugInfo = 1 << 9 } new in Git master
Features supported by a shader converter.
enum class ConverterFlag: UnsignedInt { Quiet = 1 << 0, Verbose = 1 << 1, WarningAsError = 1 << 2, PreprocessOnly = 1 << 3 } new in Git master
Shader converter flag.
enum class Format: UnsignedInt { Unspecified = 0, Glsl, Spirv, SpirvAssembly, Hlsl, Msl, Wgsl, Dxil } new in Git master
Shader format.

Typedefs

using ConverterFeatures = Containers::EnumSet<ConverterFeature> new in Git master
Features supported by a shader converter.
using ConverterFlags = Containers::EnumSet<ConverterFlag> new in Git master
Shader converter flags.

Functions

auto operator<<(Debug& debug, ConverterFeature value) -> Debug& new in Git master
Debug output operator.
auto operator<<(Debug& debug, ConverterFeatures value) -> Debug& new in Git master
Debug output operator.
auto operator<<(Debug& debug, ConverterFlag value) -> Debug& new in Git master
Debug output operator.
auto operator<<(Debug& debug, ConverterFlags value) -> Debug& new in Git master
Debug output operator.
auto operator<<(Debug& debug, Format value) -> Debug& new in Git master
Debug output operator.

Defines

#define MAGNUM_SHADERTOOLS_ABSTRACTCONVERTER_PLUGIN_INTERFACE new in Git master
Shader converter plugin interface.

Define documentation

#define MAGNUM_SHADERTOOLS_ABSTRACTCONVERTER_PLUGIN_INTERFACE new in Git master

Shader converter plugin interface.

Same string as returned by AbstractConverter::pluginInterface(), meant to be used inside CORRADE_PLUGIN_REGISTER() to avoid having to update the interface string by hand every time the version gets bumped:

CORRADE_PLUGIN_REGISTER(MyShaderConverter, MyNamespace::MyShaderConverter,
    MAGNUM_SHADERTOOLS_ABSTRACTCONVERTER_PLUGIN_INTERFACE)

The interface string version gets increased on every ABI break to prevent silent crashes and memory corruption. Plugins built against the previous version will then fail to load, a subsequent rebuild will make them pick up the updated interface string.