#include "module.h"
#include <spirv/unified1/spirv.hpp>
#include "gpu/shaders/gpu_shaders_constants.h"
#include "error_message/logging.h"
#include "buffer_device_address_pass.h"
#include "bindless_descriptor_pass.h"
#include "non_bindless_oob_buffer_pass.h"
#include "non_bindless_oob_texel_buffer_pass.h"
#include "ray_query_pass.h"
#include "debug_printf_pass.h"
#include <iostream>
namespace gpu {
namespace spirv {
Module::Module(vvl::span<const uint32_t> words, DebugReport* debug_report, const Settings& settings)
: … { … }
bool Module::HasCapability(spv::Capability capability) { … }
static void StringToSpirv(const char* input, std::vector<uint32_t>& output) { … }
void Module::AddCapability(spv::Capability capability) { … }
void Module::AddExtension(const char* extension) { … }
void Module::AddDebugName(const char* name, uint32_t id) { … }
void Module::AddDecoration(uint32_t target_id, spv::Decoration decoration, const std::vector<uint32_t>& operands) { … }
void Module::AddMemberDecoration(uint32_t target_id, uint32_t index, spv::Decoration decoration,
const std::vector<uint32_t>& operands) { … }
bool Module::RunPassBindlessDescriptor() { … }
bool Module::RunPassNonBindlessOOBBuffer() { … }
bool Module::RunPassNonBindlessOOBTexelBuffer() { … }
bool Module::RunPassBufferDeviceAddress() { … }
bool Module::RunPassRayQuery() { … }
bool Module::RunPassDebugPrintf(uint32_t binding_slot) { … }
uint32_t Module::TakeNextId() { … }
void Module::ToBinary(std::vector<uint32_t>& out) { … }
void Module::AddInterfaceVariables(uint32_t id, spv::StorageClass storage_class) { … }
void Module::LinkFunction(const LinkInfo& info) { … }
void Module::PostProcess() { … }
void Module::InternalWarning(const char* tag, const char* message) { … }
void Module::InternalError(const char* tag, const char* message) { … }
}
}