SpiecsEngine
 
Loading...
Searching...
No Matches

◆ VulkanShaderModule() [2/2]

Spices::VulkanShaderModule::VulkanShaderModule ( VulkanState & vulkanState,
const std::string & shaderName,
const ShaderStage & shaderStage,
const std::vector< uint8_t > & spirv,
const std::string & fullPath )

Constructor Function. Create VkShaderModule.

Parameters
[in]vulkanStateThe global VulkanState.
[in]shaderNameThe Shader name.
[in]shaderStageThe Shader usage stage.
[in]spirvSpirv Code.
[in]fullPathShader full Path.

Instance a VkShaderModuleCreateInfo.

Create Shader Module.

Add to Aftermath.

Instance a VkShaderModuleCreateInfo.

Create Shader Module.

Add to Aftermath.

Definition at line 78 of file VulkanShaderModule.cpp.

85 : VulkanObject(vulkanState)
86 , m_ShaderStage(shaderStage)
87 {
89
93 VkShaderModuleCreateInfo createInfo{};
94 createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
95 createInfo.codeSize = spirv.size();
96 createInfo.pCode = reinterpret_cast<const uint32_t*>(spirv.data());
97
101 VK_CHECK(vkCreateShaderModule(vulkanState.m_Device, &createInfo, nullptr, &m_ShaderModule))
102 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_SHADER_MODULE, reinterpret_cast<uint64_t>(m_ShaderModule), m_VulkanState.m_Device, shaderName)
103
104
107 NSIGHTAFTERMATH_GPUCRASHTRACKER_ADDSHADERSOURCE(spirv)
108 NSIGHTAFTERMATH_GPUCRASHTRACKER_ADDSHADERSOURCE_WITHDEBUGINFO(spirv, spirv)
109 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
Definition VulkanUtils.h:68
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
VkShaderModule m_ShaderModule
The VkShaderModule this class handled.

References m_ShaderStage, and Spices::VulkanObject::VulkanObject().