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