mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Return SPIRVId from Add*() functions for convenience's sake
This commit is contained in:
@@ -255,25 +255,31 @@ void SPIRVEditor::AddDecoration(const SPIRVOperation &op)
|
||||
addWords(decorationSection.endOffset, op.size());
|
||||
}
|
||||
|
||||
void SPIRVEditor::AddType(const SPIRVOperation &op)
|
||||
SPIRVId SPIRVEditor::AddType(const SPIRVOperation &op)
|
||||
{
|
||||
idOffsets[op[1]] = typeVarSection.endOffset;
|
||||
SPIRVId id = op[1];
|
||||
idOffsets[id] = typeVarSection.endOffset;
|
||||
spirv.insert(spirv.begin() + typeVarSection.endOffset, op.begin(), op.end());
|
||||
addWords(typeVarSection.endOffset, op.size());
|
||||
return id;
|
||||
}
|
||||
|
||||
void SPIRVEditor::AddVariable(const SPIRVOperation &op)
|
||||
SPIRVId SPIRVEditor::AddVariable(const SPIRVOperation &op)
|
||||
{
|
||||
idOffsets[op[2]] = typeVarSection.endOffset;
|
||||
SPIRVId id = op[2];
|
||||
idOffsets[id] = typeVarSection.endOffset;
|
||||
spirv.insert(spirv.begin() + typeVarSection.endOffset, op.begin(), op.end());
|
||||
addWords(typeVarSection.endOffset, op.size());
|
||||
return id;
|
||||
}
|
||||
|
||||
void SPIRVEditor::AddConstant(const SPIRVOperation &op)
|
||||
SPIRVId SPIRVEditor::AddConstant(const SPIRVOperation &op)
|
||||
{
|
||||
idOffsets[op[2]] = typeVarSection.endOffset;
|
||||
SPIRVId id = op[2];
|
||||
idOffsets[id] = typeVarSection.endOffset;
|
||||
spirv.insert(spirv.begin() + typeVarSection.endOffset, op.begin(), op.end());
|
||||
addWords(typeVarSection.endOffset, op.size());
|
||||
return id;
|
||||
}
|
||||
|
||||
void SPIRVEditor::AddFunction(const SPIRVOperation *ops, size_t count)
|
||||
|
||||
@@ -319,9 +319,9 @@ public:
|
||||
|
||||
void SetName(uint32_t id, const char *name);
|
||||
void AddDecoration(const SPIRVOperation &op);
|
||||
void AddType(const SPIRVOperation &op);
|
||||
void AddVariable(const SPIRVOperation &op);
|
||||
void AddConstant(const SPIRVOperation &op);
|
||||
SPIRVId AddType(const SPIRVOperation &op);
|
||||
SPIRVId AddVariable(const SPIRVOperation &op);
|
||||
SPIRVId AddConstant(const SPIRVOperation &op);
|
||||
void AddFunction(const SPIRVOperation *ops, size_t count);
|
||||
|
||||
SPIRVIterator GetID(SPIRVId id);
|
||||
@@ -351,15 +351,13 @@ public:
|
||||
SPIRVId AddConstantImmediate(T t)
|
||||
{
|
||||
SPIRVId typeId = DeclareType(scalar<T>());
|
||||
SPIRVId retId = MakeId();
|
||||
std::vector<uint32_t> words = {typeId, retId};
|
||||
std::vector<uint32_t> words = {typeId, MakeId()};
|
||||
|
||||
words.insert(words.end(), sizeof(T) / 4, 0U);
|
||||
|
||||
memcpy(&words[2], &t, sizeof(T));
|
||||
|
||||
AddConstant(SPIRVOperation(spv::OpConstant, words));
|
||||
return retId;
|
||||
return AddConstant(SPIRVOperation(spv::OpConstant, words));
|
||||
}
|
||||
|
||||
// simple properties that are public.
|
||||
|
||||
Reference in New Issue
Block a user