Files
evk/evk/evkShader.h
T
2026-05-13 22:07:01 +03:00

21 lines
996 B
C

#pragma once
#include "evk/evkCommon.h"
[[nodiscard("Leaking VkShaderModule")]]
evkShader evkInitShaderFromBytes(evkDevice device, const u8* shaderBytes, u32 shaderLen);
[[nodiscard("Leaking VkShaderModule")]]
evkShader evkInitShaderFromString(evkDevice device, evkShaderCompiler compiler, evstring shaderName, evstring shaderText, VkShaderStageFlags stage);
[[nodiscard("Leaking VkShaderModule")]]
evkShader evkInitShaderFromFile(evkDevice device, evkShaderCompiler compiler, evstring shaderPath);
void evkDestroyShader(evkDevice device, evkShader shader);
[[nodiscard("Leaking Shader Compiler")]]
evkShaderCompiler evkCreateShaderCompiler();
void evkDestroyShaderCompiler(evkShaderCompiler compiler);
VkPipelineShaderStageCreateInfo evkGetShaderStageCreateInfo(evkShader shader);
[[nodiscard("Leaking Shader Reflection Data")]]
evkShaderReflectionData evkGenerateShaderReflectionData(const u8* shaderBytes, u32 shaderLen);
void evkDestroyShaderReflectionData(evkShaderReflectionData data);