2020-01-08 23:22:20 +01:00
|
|
|
// Copyright 2018 yuzu Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include <cstring>
|
|
|
|
#include <memory>
|
2020-04-20 00:41:54 +02:00
|
|
|
|
2020-01-08 23:22:20 +01:00
|
|
|
#include "common/assert.h"
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "video_core/renderer_vulkan/vk_device.h"
|
|
|
|
#include "video_core/renderer_vulkan/vk_shader_util.h"
|
2020-12-25 01:30:11 +01:00
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
2020-01-08 23:22:20 +01:00
|
|
|
|
|
|
|
namespace Vulkan {
|
|
|
|
|
2020-12-26 05:10:53 +01:00
|
|
|
vk::ShaderModule BuildShader(const Device& device, std::span<const u32> code) {
|
2020-07-17 01:17:41 +02:00
|
|
|
return device.GetLogical().CreateShaderModule({
|
|
|
|
.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
|
|
|
|
.pNext = nullptr,
|
|
|
|
.flags = 0,
|
2020-12-30 06:25:23 +01:00
|
|
|
.codeSize = static_cast<u32>(code.size_bytes()),
|
|
|
|
.pCode = code.data(),
|
2020-07-17 01:17:41 +02:00
|
|
|
});
|
2020-01-08 23:22:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace Vulkan
|