[GPU] Remove MAX_PATH limit from Shader::Dump
This commit is contained in:
parent
d3a73022fd
commit
f392347673
|
@ -49,12 +49,21 @@ std::pair<std::string, std::string> Shader::Dump(const std::string& base_path,
|
||||||
xe::filesystem::CreateFolder(target_path);
|
xe::filesystem::CreateFolder(target_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
char txt_file_name[kMaxPath];
|
const std::string file_name_no_extension =
|
||||||
std::snprintf(txt_file_name, xe::countof(txt_file_name),
|
xe::format_string("%s/shader_%s_%.16" PRIX64, base_path.c_str(),
|
||||||
"%s/shader_%s_%.16" PRIX64 ".%s", base_path.c_str(),
|
path_prefix, ucode_data_hash_);
|
||||||
path_prefix, ucode_data_hash_,
|
|
||||||
shader_type_ == ShaderType::kVertex ? "vert" : "frag");
|
std::string txt_file_name, bin_file_name;
|
||||||
FILE* f = fopen(txt_file_name, "wb");
|
|
||||||
|
if (shader_type_ == ShaderType::kVertex) {
|
||||||
|
txt_file_name = file_name_no_extension + ".vert";
|
||||||
|
bin_file_name = file_name_no_extension + ".bin.vert";
|
||||||
|
} else {
|
||||||
|
txt_file_name = file_name_no_extension + ".frag";
|
||||||
|
bin_file_name = file_name_no_extension + ".bin.frag";
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE* f = fopen(txt_file_name.c_str(), "wb");
|
||||||
if (f) {
|
if (f) {
|
||||||
fwrite(translated_binary_.data(), 1, translated_binary_.size(), f);
|
fwrite(translated_binary_.data(), 1, translated_binary_.size(), f);
|
||||||
fprintf(f, "\n\n");
|
fprintf(f, "\n\n");
|
||||||
|
@ -72,18 +81,13 @@ std::pair<std::string, std::string> Shader::Dump(const std::string& base_path,
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
char bin_file_name[kMaxPath];
|
f = fopen(bin_file_name.c_str(), "wb");
|
||||||
std::snprintf(bin_file_name, xe::countof(bin_file_name),
|
|
||||||
"%s/shader_%s_%.16" PRIX64 ".bin.%s", base_path.c_str(),
|
|
||||||
path_prefix, ucode_data_hash_,
|
|
||||||
shader_type_ == ShaderType::kVertex ? "vert" : "frag");
|
|
||||||
f = fopen(bin_file_name, "wb");
|
|
||||||
if (f) {
|
if (f) {
|
||||||
fwrite(ucode_data_.data(), 4, ucode_data_.size(), f);
|
fwrite(ucode_data_.data(), 4, ucode_data_.size(), f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {std::string(txt_file_name), std::string(bin_file_name)};
|
return {std::move(txt_file_name), std::move(bin_file_name)};
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace gpu
|
} // namespace gpu
|
||||||
|
|
Loading…
Reference in New Issue