Browse Source

ShaderTools: less confusing function parameter names.

pull/504/head
Vladimír Vondruš 5 years ago
parent
commit
d523ab7124
  1. 90
      src/Magnum/ShaderTools/AbstractConverter.cpp
  2. 20
      src/Magnum/ShaderTools/AbstractConverter.h
  3. 6
      src/MagnumPlugins/AnyShaderConverter/AnyConverter.cpp
  4. 2
      src/MagnumPlugins/AnyShaderConverter/AnyConverter.h

90
src/Magnum/ShaderTools/AbstractConverter.cpp

@ -268,7 +268,7 @@ Containers::Array<char> AbstractConverter::doConvertDataToData(Stage, Containers
CORRADE_ASSERT_UNREACHABLE("ShaderTools::AbstractConverter::convertDataToData(): feature advertised but not implemented", {}); CORRADE_ASSERT_UNREACHABLE("ShaderTools::AbstractConverter::convertDataToData(): feature advertised but not implemented", {});
} }
bool AbstractConverter::convertDataToFile(const Stage stage, const Containers::ArrayView<const void> data, const Containers::StringView to) { bool AbstractConverter::convertDataToFile(const Stage stage, const Containers::ArrayView<const void> data, const Containers::StringView filename) {
CORRADE_ASSERT(features() >= ConverterFeature::ConvertData, CORRADE_ASSERT(features() >= ConverterFeature::ConvertData,
"ShaderTools::AbstractConverter::convertDataToFile(): feature not supported", {}); "ShaderTools::AbstractConverter::convertDataToFile(): feature not supported", {});
@ -278,22 +278,22 @@ bool AbstractConverter::convertDataToFile(const Stage stage, const Containers::A
Containers::Array<char> out = doConvertDataToData(stage, Containers::arrayCast<const char>(data)); Containers::Array<char> out = doConvertDataToData(stage, Containers::arrayCast<const char>(data));
if(!out) return false; if(!out) return false;
if(!Utility::Directory::write(to, out)) { if(!Utility::Directory::write(filename, out)) {
Error{} << "ShaderTools::AbstractConverter::convertDataToFile(): cannot write to file" << to; Error{} << "ShaderTools::AbstractConverter::convertDataToFile(): cannot write to file" << filename;
return false; return false;
} }
return true; return true;
} }
Containers::Array<char> AbstractConverter::convertDataToDataUsingInputFileCallbacks(const char* const prefix, const Stage stage, const Containers::StringView from) { Containers::Array<char> AbstractConverter::convertDataToDataUsingInputFileCallbacks(const char* const prefix, const Stage stage, const Containers::StringView filename) {
const Containers::Optional<Containers::ArrayView<const char>> data = _inputFileCallback(from, InputFileCallbackPolicy::LoadTemporary, _inputFileCallbackUserData); const Containers::Optional<Containers::ArrayView<const char>> data = _inputFileCallback(filename, InputFileCallbackPolicy::LoadTemporary, _inputFileCallbackUserData);
if(!data) { if(!data) {
Error{} << prefix << "cannot open file" << from; Error{} << prefix << "cannot open file" << filename;
return {}; return {};
} }
Containers::Array<char> out = doConvertDataToData(stage, *data); Containers::Array<char> out = doConvertDataToData(stage, *data);
_inputFileCallback(from, InputFileCallbackPolicy::Close, _inputFileCallbackUserData); _inputFileCallback(filename, InputFileCallbackPolicy::Close, _inputFileCallbackUserData);
return out; return out;
} }
@ -367,7 +367,7 @@ bool AbstractConverter::doConvertFileToFile(const Stage stage, const Containers:
return true; return true;
} }
Containers::Array<char> AbstractConverter::convertFileToData(const Stage stage, const Containers::StringView from) { Containers::Array<char> AbstractConverter::convertFileToData(const Stage stage, const Containers::StringView filename) {
CORRADE_ASSERT(features() >= ConverterFeature::ConvertData, CORRADE_ASSERT(features() >= ConverterFeature::ConvertData,
"ShaderTools::AbstractConverter::convertFileToData(): feature not supported", {}); "ShaderTools::AbstractConverter::convertFileToData(): feature not supported", {});
@ -376,7 +376,7 @@ Containers::Array<char> AbstractConverter::convertFileToData(const Stage stage,
/* If input file callbacks are not set or the converter supports handling /* If input file callbacks are not set or the converter supports handling
them directly, call into the implementation */ them directly, call into the implementation */
if(!_inputFileCallback || (doFeatures() & ConverterFeature::InputFileCallback)) { if(!_inputFileCallback || (doFeatures() & ConverterFeature::InputFileCallback)) {
out = doConvertFileToData(stage, from); out = doConvertFileToData(stage, filename);
/* Otherwise use the callback and pass the data through to /* Otherwise use the callback and pass the data through to
convertDataToData(). Mark the file as ready to be closed once conversion convertDataToData(). Mark the file as ready to be closed once conversion
@ -392,7 +392,7 @@ Containers::Array<char> AbstractConverter::convertFileToData(const Stage stage,
actual file loading to the default implementation (callback used actual file loading to the default implementation (callback used
in the base doConvertFileToData() implementation, because this in the base doConvertFileToData() implementation, because this
branch is never taken in that case) */ branch is never taken in that case) */
out = convertDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::convertFileToData():", stage, from); out = convertDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::convertFileToData():", stage, filename);
} }
CORRADE_ASSERT(!out.deleter(), CORRADE_ASSERT(!out.deleter(),
@ -400,20 +400,20 @@ Containers::Array<char> AbstractConverter::convertFileToData(const Stage stage,
return out; return out;
} }
Containers::Array<char> AbstractConverter::doConvertFileToData(const Stage stage, const Containers::StringView from) { Containers::Array<char> AbstractConverter::doConvertFileToData(const Stage stage, const Containers::StringView filename) {
/* If callbacks are set, use them. This is the same implementation as in /* If callbacks are set, use them. This is the same implementation as in
convertFileToFile(), see the comment there for details. */ convertFileToFile(), see the comment there for details. */
if(_inputFileCallback) { if(_inputFileCallback) {
return convertDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::convertFileToData():", stage, from); return convertDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::convertFileToData():", stage, filename);
/* Otherwise open the file directly */ /* Otherwise open the file directly */
} else { } else {
if(!Utility::Directory::exists(from)) { if(!Utility::Directory::exists(filename)) {
Error() << "ShaderTools::AbstractConverter::convertFileToData(): cannot open file" << from; Error() << "ShaderTools::AbstractConverter::convertFileToData(): cannot open file" << filename;
return {}; return {};
} }
return doConvertDataToData(stage, Utility::Directory::read(from)); return doConvertDataToData(stage, Utility::Directory::read(filename));
} }
} }
@ -440,7 +440,7 @@ Containers::Array<char> AbstractConverter::doLinkDataToData(Containers::ArrayVie
CORRADE_ASSERT_UNREACHABLE("ShaderTools::AbstractConverter::linkDataToData(): feature advertised but not implemented", {}); CORRADE_ASSERT_UNREACHABLE("ShaderTools::AbstractConverter::linkDataToData(): feature advertised but not implemented", {});
} }
bool AbstractConverter::linkDataToFile(const Containers::ArrayView<const std::pair<Stage, Containers::ArrayView<const void>>> data, const Containers::StringView to) { bool AbstractConverter::linkDataToFile(const Containers::ArrayView<const std::pair<Stage, Containers::ArrayView<const void>>> data, const Containers::StringView filename) {
CORRADE_ASSERT(features() >= ConverterFeature::LinkData, CORRADE_ASSERT(features() >= ConverterFeature::LinkData,
"ShaderTools::AbstractConverter::linkDataToFile(): feature not supported", {}); "ShaderTools::AbstractConverter::linkDataToFile(): feature not supported", {});
CORRADE_ASSERT(!(_flags & ConverterFlag::PreprocessOnly), CORRADE_ASSERT(!(_flags & ConverterFlag::PreprocessOnly),
@ -454,45 +454,45 @@ bool AbstractConverter::linkDataToFile(const Containers::ArrayView<const std::pa
Containers::Array<char> out = doLinkDataToData(Containers::arrayCast<const std::pair<Stage, Containers::ArrayView<const char>>>(data)); Containers::Array<char> out = doLinkDataToData(Containers::arrayCast<const std::pair<Stage, Containers::ArrayView<const char>>>(data));
if(!out) return false; if(!out) return false;
if(!Utility::Directory::write(to, out)) { if(!Utility::Directory::write(filename, out)) {
Error{} << "ShaderTools::AbstractConverter::linkDataToFile(): cannot write to file" << to; Error{} << "ShaderTools::AbstractConverter::linkDataToFile(): cannot write to file" << filename;
return false; return false;
} }
return true; return true;
} }
bool AbstractConverter::linkDataToFile(const std::initializer_list<std::pair<Stage, Containers::ArrayView<const void>>> data, const Containers::StringView to) { bool AbstractConverter::linkDataToFile(const std::initializer_list<std::pair<Stage, Containers::ArrayView<const void>>> data, const Containers::StringView filename) {
return linkDataToFile(Containers::arrayView(data), to); return linkDataToFile(Containers::arrayView(data), filename);
} }
Containers::Array<char> AbstractConverter::linkDataToDataUsingInputFileCallbacks(const char* const prefix, const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from) { Containers::Array<char> AbstractConverter::linkDataToDataUsingInputFileCallbacks(const char* const prefix, const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames) {
Containers::Array<std::pair<Stage, Containers::ArrayView<const char>>> data{Containers::NoInit, from.size()}; Containers::Array<std::pair<Stage, Containers::ArrayView<const char>>> data{Containers::NoInit, filenames.size()};
/* First load all files. Remember how many of these succeeded so we can /* First load all files. Remember how many of these succeeded so we can
close them again after */ close them again after */
std::size_t i; std::size_t i;
for(i = 0; i != from.size(); ++i) { for(i = 0; i != filenames.size(); ++i) {
const Containers::Optional<Containers::ArrayView<const char>> contents = _inputFileCallback(from[i].second, InputFileCallbackPolicy::LoadTemporary, _inputFileCallbackUserData); const Containers::Optional<Containers::ArrayView<const char>> contents = _inputFileCallback(filenames[i].second, InputFileCallbackPolicy::LoadTemporary, _inputFileCallbackUserData);
if(!contents) break; if(!contents) break;
data[i].first = from[i].first; data[i].first = filenames[i].first;
data[i].second = *contents; data[i].second = *contents;
} }
/* If all input files loaded successfully, process */ /* If all input files loaded successfully, process */
Containers::Array<char> out; Containers::Array<char> out;
if(i == from.size()) out = doLinkDataToData(data); if(i == filenames.size()) out = doLinkDataToData(data);
/* Close again all input files that loaded successfully */ /* Close again all input files that loaded successfully */
for(std::size_t ii = 0; ii != i; ++ii) for(std::size_t ii = 0; ii != i; ++ii)
_inputFileCallback(from[ii].second, InputFileCallbackPolicy::Close, _inputFileCallbackUserData); _inputFileCallback(filenames[ii].second, InputFileCallbackPolicy::Close, _inputFileCallbackUserData);
/* Now that we have cleaned up correctly, it's time print the error message /* Now that we have cleaned up correctly, it's time print the error message
if something didn't go well. IN this case doLinkDataToData() was not if something didn't go well. IN this case doLinkDataToData() was not
called at all. */ called at all. */
if(i != from.size()) { if(i != filenames.size()) {
Error{} << prefix << "cannot open file" << from[i].second; Error{} << prefix << "cannot open file" << filenames[i].second;
return {}; return {};
} }
@ -591,12 +591,12 @@ bool AbstractConverter::doLinkFilesToFile(const Containers::ArrayView<const std:
return true; return true;
} }
Containers::Array<char> AbstractConverter::linkFilesToData(const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from) { Containers::Array<char> AbstractConverter::linkFilesToData(const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames) {
CORRADE_ASSERT(features() >= ConverterFeature::LinkData, CORRADE_ASSERT(features() >= ConverterFeature::LinkData,
"ShaderTools::AbstractConverter::linkFilesToData(): feature not supported", {}); "ShaderTools::AbstractConverter::linkFilesToData(): feature not supported", {});
CORRADE_ASSERT(!(_flags & ConverterFlag::PreprocessOnly), CORRADE_ASSERT(!(_flags & ConverterFlag::PreprocessOnly),
"ShaderTools::AbstractConverter::linkFilesToData(): PreprocessOnly is not allowed in combination with linking", {}); "ShaderTools::AbstractConverter::linkFilesToData(): PreprocessOnly is not allowed in combination with linking", {});
CORRADE_ASSERT(!from.empty(), CORRADE_ASSERT(!filenames.empty(),
"ShaderTools::AbstractConverter::linkFilesToData(): no files passed", {}); "ShaderTools::AbstractConverter::linkFilesToData(): no files passed", {});
Containers::Array<char> out; Containers::Array<char> out;
@ -604,7 +604,7 @@ Containers::Array<char> AbstractConverter::linkFilesToData(const Containers::Arr
/* If input file callbacks are not set or the converter supports handling /* If input file callbacks are not set or the converter supports handling
them directly, call into the implementation */ them directly, call into the implementation */
if(!_inputFileCallback || (doFeatures() & ConverterFeature::InputFileCallback)) { if(!_inputFileCallback || (doFeatures() & ConverterFeature::InputFileCallback)) {
out = doLinkFilesToData(from); out = doLinkFilesToData(filenames);
/* Otherwise use the callback and pass the data through to /* Otherwise use the callback and pass the data through to
convertDataToData(). Mark the file as ready to be closed once conversion convertDataToData(). Mark the file as ready to be closed once conversion
@ -620,7 +620,7 @@ Containers::Array<char> AbstractConverter::linkFilesToData(const Containers::Arr
actual file loading to the default implementation (callback used actual file loading to the default implementation (callback used
in the base doLinkFilesToData() implementation, because this in the base doLinkFilesToData() implementation, because this
branch is never taken in that case) */ branch is never taken in that case) */
out = linkDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::linkFilesToData():", from); out = linkDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::linkFilesToData():", filenames);
} }
CORRADE_ASSERT(!out.deleter(), CORRADE_ASSERT(!out.deleter(),
@ -628,32 +628,32 @@ Containers::Array<char> AbstractConverter::linkFilesToData(const Containers::Arr
return out; return out;
} }
Containers::Array<char> AbstractConverter::linkFilesToData(const std::initializer_list<std::pair<Stage, Containers::StringView>> from) { Containers::Array<char> AbstractConverter::linkFilesToData(const std::initializer_list<std::pair<Stage, Containers::StringView>> filenames) {
return linkFilesToData(Containers::arrayView(from)); return linkFilesToData(Containers::arrayView(filenames));
} }
Containers::Array<char> AbstractConverter::doLinkFilesToData(const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from) { Containers::Array<char> AbstractConverter::doLinkFilesToData(const Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames) {
/* If callbacks are set, use them. This is the same implementation as in /* If callbacks are set, use them. This is the same implementation as in
linkFilesToFile(), see the comment there for details. */ linkFilesToFile(), see the comment there for details. */
if(_inputFileCallback) { if(_inputFileCallback) {
return linkDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::linkFilesToData():", from); return linkDataToDataUsingInputFileCallbacks("ShaderTools::AbstractConverter::linkFilesToData():", filenames);
/* Otherwise open the files directly */ /* Otherwise open the files directly */
} else { } else {
Containers::Array<Containers::Array<char>> fileData{from.size()}; Containers::Array<Containers::Array<char>> fileData{filenames.size()};
for(std::size_t i = 0; i != from.size(); ++i) { for(std::size_t i = 0; i != filenames.size(); ++i) {
if(!Utility::Directory::exists(from[i].second)) { if(!Utility::Directory::exists(filenames[i].second)) {
Error() << "ShaderTools::AbstractConverter::linkFilesToData(): cannot open file" << from[i].second; Error() << "ShaderTools::AbstractConverter::linkFilesToData(): cannot open file" << filenames[i].second;
return {}; return {};
} }
fileData[i] = Utility::Directory::read(from[i].second); fileData[i] = Utility::Directory::read(filenames[i].second);
} }
/** @todo merge the allocations once we have an ArrayTuple */ /** @todo merge the allocations once we have an ArrayTuple */
Containers::Array<std::pair<Stage, Containers::ArrayView<const char>>> data{Containers::NoInit, from.size()}; Containers::Array<std::pair<Stage, Containers::ArrayView<const char>>> data{Containers::NoInit, filenames.size()};
for(std::size_t i = 0; i != from.size(); ++i) { for(std::size_t i = 0; i != filenames.size(); ++i) {
data[i].first = from[i].first; data[i].first = filenames[i].first;
data[i].second = fileData[i]; data[i].second = fileData[i];
} }

20
src/Magnum/ShaderTools/AbstractConverter.h

@ -765,7 +765,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* @see @ref features(), @ref convertDataToData(), * @see @ref features(), @ref convertDataToData(),
* @ref convertFileToData(), @ref convertFileToFile() * @ref convertFileToData(), @ref convertFileToFile()
*/ */
bool convertDataToFile(Stage stage, Containers::ArrayView<const void> data, Containers::StringView to); bool convertDataToFile(Stage stage, Containers::ArrayView<const void> data, Containers::StringView filename);
/** /**
* @brief Convert shader file to a file * @brief Convert shader file to a file
@ -792,7 +792,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* @see @ref features(), @ref convertFileToFile(), * @see @ref features(), @ref convertFileToFile(),
* @ref convertDataToFile(), @ref convertDataToData() * @ref convertDataToFile(), @ref convertDataToData()
*/ */
Containers::Array<char> convertFileToData(Stage stage, const Containers::StringView from); Containers::Array<char> convertFileToData(Stage stage, Containers::StringView filename);
/** /**
* @brief Link shader data together to a data * @brief Link shader data together to a data
@ -820,10 +820,10 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* @see @ref features(), @ref linkFilesToFile(), * @see @ref features(), @ref linkFilesToFile(),
* @ref linkFilesToData(), @ref linkDataToData() * @ref linkFilesToData(), @ref linkDataToData()
*/ */
bool linkDataToFile(Containers::ArrayView<const std::pair<Stage, Containers::ArrayView<const void>>> data, Containers::StringView to); bool linkDataToFile(Containers::ArrayView<const std::pair<Stage, Containers::ArrayView<const void>>> data, Containers::StringView filename);
/** @overload */ /** @overload */
bool linkDataToFile(std::initializer_list<std::pair<Stage, Containers::ArrayView<const void>>> data, Containers::StringView to); bool linkDataToFile(std::initializer_list<std::pair<Stage, Containers::ArrayView<const void>>> data, Containers::StringView filename);
/** /**
* @brief Link shader files together to a file * @brief Link shader files together to a file
@ -856,10 +856,10 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* @see @ref features(), @ref linkFilesToFile(), @ref linkDataToFile(), * @see @ref features(), @ref linkFilesToFile(), @ref linkDataToFile(),
* @ref linkDataToData() * @ref linkDataToData()
*/ */
Containers::Array<char> linkFilesToData(Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from); Containers::Array<char> linkFilesToData(Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames);
/** @overload */ /** @overload */
Containers::Array<char> linkFilesToData(std::initializer_list<std::pair<Stage, Containers::StringView>> from); Containers::Array<char> linkFilesToData(std::initializer_list<std::pair<Stage, Containers::StringView>> filenames);
protected: protected:
/** /**
@ -911,7 +911,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* is not supported --- instead, file is loaded though the callback and * is not supported --- instead, file is loaded though the callback and
* data passed through to @ref doConvertDataToData(). * data passed through to @ref doConvertDataToData().
*/ */
virtual Containers::Array<char> doConvertFileToData(Stage stage, Containers::StringView from); virtual Containers::Array<char> doConvertFileToData(Stage stage, Containers::StringView filename);
/** /**
* @brief Implementation for @ref linkFilesToFile() * @brief Implementation for @ref linkFilesToFile()
@ -945,7 +945,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
* is not supported --- instead, file is loaded though the callback and * is not supported --- instead, file is loaded though the callback and
* data passed through to @ref doConvertDataToData(). * data passed through to @ref doConvertDataToData().
*/ */
virtual Containers::Array<char> doLinkFilesToData(Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from); virtual Containers::Array<char> doLinkFilesToData(Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames);
private: private:
/** /**
@ -1056,7 +1056,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
/* Used by convertFileToFile(), doConvertFileToFile(), /* Used by convertFileToFile(), doConvertFileToFile(),
convertFileToData() and doConvertFileToData() */ convertFileToData() and doConvertFileToData() */
MAGNUM_SHADERTOOLS_LOCAL Containers::Array<char> convertDataToDataUsingInputFileCallbacks(const char* prefix, const Stage stage, Containers::StringView from); MAGNUM_SHADERTOOLS_LOCAL Containers::Array<char> convertDataToDataUsingInputFileCallbacks(const char* prefix, const Stage stage, Containers::StringView filename);
/** /**
* @brief Implementation for @ref convertDataToData() * @brief Implementation for @ref convertDataToData()
@ -1070,7 +1070,7 @@ class MAGNUM_SHADERTOOLS_EXPORT AbstractConverter: public PluginManager::Abstrac
/* Used by linkFilesToFile(), doLinkFilesToFile(), linkFilesToData() /* Used by linkFilesToFile(), doLinkFilesToFile(), linkFilesToData()
and doLinkFilesToData() */ and doLinkFilesToData() */
MAGNUM_SHADERTOOLS_LOCAL Containers::Array<char> linkDataToDataUsingInputFileCallbacks(const char* prefix, Containers::ArrayView<const std::pair<Stage, Containers::StringView>> from); MAGNUM_SHADERTOOLS_LOCAL Containers::Array<char> linkDataToDataUsingInputFileCallbacks(const char* prefix, Containers::ArrayView<const std::pair<Stage, Containers::StringView>> filenames);
/** /**
* @brief Implementation for @ref linkDataToData() * @brief Implementation for @ref linkDataToData()

6
src/MagnumPlugins/AnyShaderConverter/AnyConverter.cpp

@ -361,13 +361,13 @@ bool AnyConverter::doConvertFileToFile(const Stage stage, const Containers::Stri
return converter->convertFileToFile(stage, from, to); return converter->convertFileToFile(stage, from, to);
} }
Containers::Array<char> AnyConverter::doConvertFileToData(const Stage stage, const Containers::StringView from) { Containers::Array<char> AnyConverter::doConvertFileToData(const Stage stage, const Containers::StringView filename) {
CORRADE_INTERNAL_ASSERT(manager()); CORRADE_INTERNAL_ASSERT(manager());
/* Prefer the explicitly set input format. If not set, fall back to /* Prefer the explicitly set input format. If not set, fall back to
detecting based on input and output extension. */ detecting based on input and output extension. */
const Containers::StringView formatFrom = stringForFormat( const Containers::StringView formatFrom = stringForFormat(
_state->inputFormat != Format::Unspecified ? _state->inputFormat : formatForExtension("ShaderTools::AnyConverter::convertFileToData():", from) _state->inputFormat != Format::Unspecified ? _state->inputFormat : formatForExtension("ShaderTools::AnyConverter::convertFileToData():", filename)
); );
if(formatFrom.isEmpty()) return {}; if(formatFrom.isEmpty()) return {};
if(_state->outputFormat == Format::Unspecified) { if(_state->outputFormat == Format::Unspecified) {
@ -439,7 +439,7 @@ Containers::Array<char> AnyConverter::doConvertFileToData(const Stage stage, con
/* Try to convert the file (error output should be printed by the plugin /* Try to convert the file (error output should be printed by the plugin
itself) */ itself) */
return converter->convertFileToData(stage, from); return converter->convertFileToData(stage, filename);
} }
Containers::Array<char> AnyConverter::doConvertDataToData(const Stage stage, const Containers::ArrayView<const char> from) { Containers::Array<char> AnyConverter::doConvertDataToData(const Stage stage, const Containers::ArrayView<const char> from) {

2
src/MagnumPlugins/AnyShaderConverter/AnyConverter.h

@ -144,7 +144,7 @@ class MAGNUM_ANYSHADERCONVERTER_EXPORT AnyConverter: public AbstractConverter {
MAGNUM_ANYSHADERCONVERTER_LOCAL std::pair<bool, Containers::String> doValidateFile(Stage stage, Containers::StringView filename) override; MAGNUM_ANYSHADERCONVERTER_LOCAL std::pair<bool, Containers::String> doValidateFile(Stage stage, Containers::StringView filename) override;
MAGNUM_ANYSHADERCONVERTER_LOCAL std::pair<bool, Containers::String> doValidateData(Stage stage, Containers::ArrayView<const char> data) override; MAGNUM_ANYSHADERCONVERTER_LOCAL std::pair<bool, Containers::String> doValidateData(Stage stage, Containers::ArrayView<const char> data) override;
MAGNUM_ANYSHADERCONVERTER_LOCAL bool doConvertFileToFile(Stage stage, Containers::StringView from, Containers::StringView to) override; MAGNUM_ANYSHADERCONVERTER_LOCAL bool doConvertFileToFile(Stage stage, Containers::StringView from, Containers::StringView to) override;
MAGNUM_ANYSHADERCONVERTER_LOCAL Containers::Array<char> doConvertFileToData(Magnum::ShaderTools::Stage stage, Containers::StringView from) override; MAGNUM_ANYSHADERCONVERTER_LOCAL Containers::Array<char> doConvertFileToData(Magnum::ShaderTools::Stage stage, Containers::StringView filename) override;
MAGNUM_ANYSHADERCONVERTER_LOCAL Containers::Array<char> doConvertDataToData(Magnum::ShaderTools::Stage stage, Containers::ArrayView<const char> data) override; MAGNUM_ANYSHADERCONVERTER_LOCAL Containers::Array<char> doConvertDataToData(Magnum::ShaderTools::Stage stage, Containers::ArrayView<const char> data) override;
struct State; struct State;

Loading…
Cancel
Save