Files
evk/evk/evkShader.h
T
2026-05-08 20:48:09 +03:00

21 lines
970 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);
[[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);