mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-25 22:57:22 +00:00
Shader_IR: Change name of TrackSampler function so it does not confuse with the type.
This commit is contained in:
parent
3919b7b8a9
commit
806f569143
3 changed files with 10 additions and 7 deletions
|
@ -393,7 +393,7 @@ const Sampler* ShaderIR::GetBindlessSampler(Tegra::Shader::Register reg, Node& i
|
||||||
std::optional<SamplerInfo> sampler_info) {
|
std::optional<SamplerInfo> sampler_info) {
|
||||||
const Node sampler_register = GetRegister(reg);
|
const Node sampler_register = GetRegister(reg);
|
||||||
const auto [base_node, tracked_sampler_info] =
|
const auto [base_node, tracked_sampler_info] =
|
||||||
TrackSampler(sampler_register, global_code, static_cast<s64>(global_code.size()));
|
TrackBindlessSampler(sampler_register, global_code, static_cast<s64>(global_code.size()));
|
||||||
ASSERT(base_node != nullptr);
|
ASSERT(base_node != nullptr);
|
||||||
if (base_node == nullptr) {
|
if (base_node == nullptr) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -394,7 +394,8 @@ private:
|
||||||
|
|
||||||
std::tuple<Node, u32, u32> TrackCbuf(Node tracked, const NodeBlock& code, s64 cursor) const;
|
std::tuple<Node, u32, u32> TrackCbuf(Node tracked, const NodeBlock& code, s64 cursor) const;
|
||||||
|
|
||||||
std::tuple<Node, TrackSampler> TrackSampler(Node tracked, const NodeBlock& code, s64 cursor);
|
std::tuple<Node, TrackSampler> TrackBindlessSampler(Node tracked, const NodeBlock& code,
|
||||||
|
s64 cursor);
|
||||||
|
|
||||||
std::optional<u32> TrackImmediate(Node tracked, const NodeBlock& code, s64 cursor) const;
|
std::optional<u32> TrackImmediate(Node tracked, const NodeBlock& code, s64 cursor) const;
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ bool AmendNodeCv(std::size_t amend_index, Node node) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::tuple<Node, TrackSampler> ShaderIR::TrackSampler(Node tracked, const NodeBlock& code,
|
std::tuple<Node, TrackSampler> ShaderIR::TrackBindlessSampler(Node tracked, const NodeBlock& code,
|
||||||
s64 cursor) {
|
s64 cursor) {
|
||||||
if (const auto cbuf = std::get_if<CbufNode>(&*tracked)) {
|
if (const auto cbuf = std::get_if<CbufNode>(&*tracked)) {
|
||||||
// Constant buffer found, test if it's an immediate
|
// Constant buffer found, test if it's an immediate
|
||||||
|
@ -124,11 +124,12 @@ std::tuple<Node, TrackSampler> ShaderIR::TrackSampler(Node tracked, const NodeBl
|
||||||
if (!source) {
|
if (!source) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
return TrackSampler(source, code, new_cursor);
|
return TrackBindlessSampler(source, code, new_cursor);
|
||||||
}
|
}
|
||||||
if (const auto operation = std::get_if<OperationNode>(&*tracked)) {
|
if (const auto operation = std::get_if<OperationNode>(&*tracked)) {
|
||||||
for (std::size_t i = operation->GetOperandsCount(); i > 0; --i) {
|
for (std::size_t i = operation->GetOperandsCount(); i > 0; --i) {
|
||||||
if (auto found = TrackSampler((*operation)[i - 1], code, cursor); std::get<0>(found)) {
|
if (auto found = TrackBindlessSampler((*operation)[i - 1], code, cursor);
|
||||||
|
std::get<0>(found)) {
|
||||||
// Cbuf found in operand.
|
// Cbuf found in operand.
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +138,8 @@ std::tuple<Node, TrackSampler> ShaderIR::TrackSampler(Node tracked, const NodeBl
|
||||||
}
|
}
|
||||||
if (const auto conditional = std::get_if<ConditionalNode>(&*tracked)) {
|
if (const auto conditional = std::get_if<ConditionalNode>(&*tracked)) {
|
||||||
const auto& conditional_code = conditional->GetCode();
|
const auto& conditional_code = conditional->GetCode();
|
||||||
return TrackSampler(tracked, conditional_code, static_cast<s64>(conditional_code.size()));
|
return TrackBindlessSampler(tracked, conditional_code,
|
||||||
|
static_cast<s64>(conditional_code.size()));
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue