parent
4b71da8049
commit
eb39c1b8ac
2 changed files with 0 additions and 30 deletions
|
|
@ -364,32 +364,6 @@ namespace vks
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VkShaderModule loadShaderGLSL(const char *fileName, VkDevice device, VkShaderStageFlagBits stage)
|
|
||||||
{
|
|
||||||
std::string shaderSrc = readTextFile(fileName);
|
|
||||||
const char *shaderCode = shaderSrc.c_str();
|
|
||||||
size_t size = strlen(shaderCode);
|
|
||||||
assert(size > 0);
|
|
||||||
|
|
||||||
VkShaderModule shaderModule;
|
|
||||||
VkShaderModuleCreateInfo moduleCreateInfo;
|
|
||||||
moduleCreateInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
|
|
||||||
moduleCreateInfo.pNext = NULL;
|
|
||||||
moduleCreateInfo.codeSize = 3 * sizeof(uint32_t) + size + 1;
|
|
||||||
moduleCreateInfo.pCode = (uint32_t*)malloc(moduleCreateInfo.codeSize);
|
|
||||||
moduleCreateInfo.flags = 0;
|
|
||||||
|
|
||||||
// Magic SPV number
|
|
||||||
((uint32_t *)moduleCreateInfo.pCode)[0] = 0x07230203;
|
|
||||||
((uint32_t *)moduleCreateInfo.pCode)[1] = 0;
|
|
||||||
((uint32_t *)moduleCreateInfo.pCode)[2] = stage;
|
|
||||||
memcpy(((uint32_t *)moduleCreateInfo.pCode + 3), shaderCode, size + 1);
|
|
||||||
|
|
||||||
VK_CHECK_RESULT(vkCreateShaderModule(device, &moduleCreateInfo, NULL, &shaderModule));
|
|
||||||
|
|
||||||
return shaderModule;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool fileExists(const std::string &filename)
|
bool fileExists(const std::string &filename)
|
||||||
{
|
{
|
||||||
std::ifstream f(filename.c_str());
|
std::ifstream f(filename.c_str());
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,6 @@ namespace vks
|
||||||
VkShaderModule loadShader(const char *fileName, VkDevice device);
|
VkShaderModule loadShader(const char *fileName, VkDevice device);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Load a GLSL shader (text)
|
|
||||||
// Note: GLSL support requires vendor-specific extensions to be enabled and is not a core-feature of Vulkan
|
|
||||||
VkShaderModule loadShaderGLSL(const char *fileName, VkDevice device, VkShaderStageFlagBits stage);
|
|
||||||
|
|
||||||
/** @brief Checks if a file exists */
|
/** @brief Checks if a file exists */
|
||||||
bool fileExists(const std::string &filename);
|
bool fileExists(const std::string &filename);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue