Fix issue #676: emit error message on failure to open spv file.
This commit is contained in:
parent
0302bdf04a
commit
8f674e821e
@ -5319,6 +5319,8 @@ void OutputSpvBin(const std::vector<unsigned int>& spirv, const char* baseName)
|
|||||||
{
|
{
|
||||||
std::ofstream out;
|
std::ofstream out;
|
||||||
out.open(baseName, std::ios::binary | std::ios::out);
|
out.open(baseName, std::ios::binary | std::ios::out);
|
||||||
|
if (out.fail())
|
||||||
|
printf("ERROR: Failed to open file: %s\n", baseName);
|
||||||
for (int i = 0; i < (int)spirv.size(); ++i) {
|
for (int i = 0; i < (int)spirv.size(); ++i) {
|
||||||
unsigned int word = spirv[i];
|
unsigned int word = spirv[i];
|
||||||
out.write((const char*)&word, 4);
|
out.write((const char*)&word, 4);
|
||||||
@ -5331,6 +5333,8 @@ void OutputSpvHex(const std::vector<unsigned int>& spirv, const char* baseName,
|
|||||||
{
|
{
|
||||||
std::ofstream out;
|
std::ofstream out;
|
||||||
out.open(baseName, std::ios::binary | std::ios::out);
|
out.open(baseName, std::ios::binary | std::ios::out);
|
||||||
|
if (out.fail())
|
||||||
|
printf("ERROR: Failed to open file: %s\n", baseName);
|
||||||
out << "\t// " GLSLANG_REVISION " " GLSLANG_DATE << std::endl;
|
out << "\t// " GLSLANG_REVISION " " GLSLANG_DATE << std::endl;
|
||||||
if (varName != nullptr) {
|
if (varName != nullptr) {
|
||||||
out << "\t #pragma once" << std::endl;
|
out << "\t #pragma once" << std::endl;
|
||||||
|
@ -662,7 +662,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
|||||||
if (! (Options & EOptionMemoryLeakMode)) {
|
if (! (Options & EOptionMemoryLeakMode)) {
|
||||||
printf("%s", logger.getAllMessages().c_str());
|
printf("%s", logger.getAllMessages().c_str());
|
||||||
if (Options & EOptionOutputHexadecimal) {
|
if (Options & EOptionOutputHexadecimal) {
|
||||||
glslang::OutputSpvHex(spirv, GetBinaryName((EShLanguage)stage), variableName);
|
glslang::OutputSpvHex(spirv, GetBinaryName((EShLanguage)stage), variableName);
|
||||||
} else {
|
} else {
|
||||||
glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage));
|
glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage));
|
||||||
}
|
}
|
||||||
@ -999,8 +999,8 @@ void usage()
|
|||||||
"\n"
|
"\n"
|
||||||
" --keep-uncalled don't eliminate uncalled functions when linking\n"
|
" --keep-uncalled don't eliminate uncalled functions when linking\n"
|
||||||
" --ku synonym for --keep-uncalled\n"
|
" --ku synonym for --keep-uncalled\n"
|
||||||
" --variable-name <name> Creates a C header file that contains a uint32_t array named <name> initialized with the shader binary code.\n"
|
" --variable-name <name> Creates a C header file that contains a uint32_t array named <name> initialized with the shader binary code.\n"
|
||||||
" --vn <name> synonym for --variable-name <name>.\n"
|
" --vn <name> synonym for --variable-name <name>.\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
exit(EFailUsage);
|
exit(EFailUsage);
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// For the version, it uses the latest git tag followed by the number of commits.
|
||||||
// For the date, it uses the current date (when then script is run).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "Overload400-PrecQual.1842"
|
#define GLSLANG_REVISION "Overload400-PrecQual.1843"
|
||||||
#define GLSLANG_DATE "17-Feb-2017"
|
#define GLSLANG_DATE "18-Feb-2017"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user