mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-21 11:26:56 +02:00
shader: append deferred Phi operands directly to SPIR-V storage
This commit is contained in:
@@ -171,10 +171,12 @@ void Builder::AddFunction(std::span<const uint32_t> words) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DeferredPhi Builder::AddDeferredPhi(uint32_t type, uint32_t result, size_t incoming_count) {
|
DeferredPhi Builder::AddDeferredPhi(uint32_t type, uint32_t result, size_t incoming_count) {
|
||||||
std::vector<uint32_t> words {spv::OpPhi, type, result};
|
|
||||||
words.resize(words.size() + incoming_count * 2u);
|
|
||||||
const DeferredPhi phi {m_functions.size()};
|
const DeferredPhi phi {m_functions.size()};
|
||||||
AddFunction(words);
|
const auto word_count = static_cast<uint32_t>(3u + incoming_count * 2u);
|
||||||
|
m_functions.push_back((word_count << spv::WordCountShift) | spv::OpPhi);
|
||||||
|
m_functions.push_back(type);
|
||||||
|
m_functions.push_back(result);
|
||||||
|
m_functions.resize(m_functions.size() + incoming_count * 2u);
|
||||||
m_unpatched_phi_incomings += incoming_count;
|
m_unpatched_phi_incomings += incoming_count;
|
||||||
return phi;
|
return phi;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user