summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-08-12 11:57:11 -0400
committerJonathan Bradley <jcb@pikum.xyz>2023-08-12 11:57:11 -0400
commit6f53c63454657d076221ad4228215e7812f1e4db (patch)
tree3f7c37398b759f1f0fad2ac2c69d524d84aa3f62 /src/window.cpp
parent39a9fcd3e955cc474a3fc6483dcb8f60e6c4cb03 (diff)
upload shader
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp
index c8e6465..7fb2139 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -488,3 +488,18 @@ void DestroyWindow() {
glfwTerminate();
}
+VkShaderModule UploadShader(AssetHandle handle) {
+ const Asset *asset = GetAsset(handle);
+
+ VkShaderModuleCreateInfo createInfo{};
+ createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
+ createInfo.codeSize = asset->size;
+ createInfo.pCode = static_cast<const uint32_t *>(asset->ptr);
+
+ VkShaderModule vkShaderModule;
+ if (vkCreateShaderModule(vkDevice, &createInfo, vkAllocator, &vkShaderModule) != VK_SUCCESS) {
+ throw "failed to create shader module for asset";
+ }
+ return vkShaderModule;
+}
+