iwa/source/shader_module.cpp
2024-04-06 14:11:26 +02:00

21 lines
535 B
C++

#include "iwa/shader_module.hpp"
#include "iwa/device.hpp"
namespace iwa
{
ShaderModule::ShaderModule(ObjectPtr<Device> owner, const ShaderModuleCreationArgs& args) : super_t(std::move(owner))
{
mHandle = getOwner()->getVkHandle().createShaderModule(vk::ShaderModuleCreateInfo{
.codeSize = static_cast<std::uint32_t>(args.code.size_bytes()),
.pCode = args.code.data()
});
}
ShaderModule::~ShaderModule() noexcept
{
IWA_DELETE_DEVICE_OBJECT(getOwner(), mHandle, destroyShaderModule)
}
} // namespace iwa