21 lines
535 B
C++
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
|