environment variable APPDATA is not available in linux on default, in… #95
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…stead use /tmp folder
On most of linux distros, pPath = getenv("APPDATA") is returning null. When executing "Strncpy(m_cacheFilePath, pPath, sizeof(m_cacheFilePath));" in "Device::InitOutputPaths()", pPath is staying null. Because of that, m_cacheFilePath is receiving null value. That causes an issue as below.
In llpcCompiler.cpp:459,
const char *shaderCachePath = cl::ShaderCacheFileDir.c_str();
shaderCachePath is assigned as null which causes empty() to return true. On linux, it enters into llvm_unreachable...
f (cl::ShaderCacheFileDir.empty()) {
#ifdef WIN_OS
shaderCachePath = getenv("LOCALAPPDATA");
assert(shaderCachePath);
#else
llvm_unreachable("Should never be called!");
#endif
}