1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-16 01:29:14 +01:00
dxvk/src/dxbc/gen/dxbc_gen_vertex.cpp

56 lines
1.4 KiB
C++

#include "dxbc_gen_vertex.h"
namespace dxvk {
DxbcVsCodeGen::DxbcVsCodeGen() {
m_outPerVertex = m_module.newVar(
m_module.defPointerType(this->defPerVertexBlock(), spv::StorageClassOutput),
spv::StorageClassOutput);
m_module.setDebugName(m_outPerVertex, "vs_out");
}
DxbcVsCodeGen::~DxbcVsCodeGen() {
}
void DxbcVsCodeGen::dclInterfaceVar(
DxbcOperandType regType,
uint32_t regId,
uint32_t regDim,
DxbcComponentMask regMask,
DxbcSystemValue sv) {
}
void DxbcVsCodeGen::ptrInterfaceVar(
DxbcOperandType regType,
uint32_t regId) {
}
void DxbcVsCodeGen::ptrInterfaceVarIndexed(
DxbcOperandType regType,
uint32_t regId,
const DxbcValue& index) {
throw DxvkError(str::format(
"DxbcVsCodeGen::ptrInterfaceVarIndexed:\n",
"Vertex shaders do not support indexed interface variables"));
}
Rc<DxvkShader> DxbcVsCodeGen::finalize() {
m_module.addEntryPoint(m_entryPointId,
spv::ExecutionModelVertex, "main",
m_entryPointInterfaces.size(),
m_entryPointInterfaces.data());
m_module.setDebugName(m_entryPointId, "main");
return new DxvkShader(VK_SHADER_STAGE_VERTEX_BIT,
m_module.compile(), 0, nullptr);
}
}