|
|
|
@ -22,17 +22,28 @@ class ConstBufferEntry {
|
|
|
|
|
using Maxwell = Tegra::Engines::Maxwell3D::Regs;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
void MarkAsUsed(unsigned index, unsigned offset, Maxwell::ShaderStage stage) {
|
|
|
|
|
void MarkAsUsed(u64 index, u64 offset, Maxwell::ShaderStage stage) {
|
|
|
|
|
is_used = true;
|
|
|
|
|
this->index = index;
|
|
|
|
|
this->index = static_cast<unsigned>(index);
|
|
|
|
|
this->stage = stage;
|
|
|
|
|
max_offset = std::max(max_offset, static_cast<unsigned>(offset));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MarkAsUsedIndirect(u64 index, Maxwell::ShaderStage stage) {
|
|
|
|
|
is_used = true;
|
|
|
|
|
is_indirect = true;
|
|
|
|
|
this->index = static_cast<unsigned>(index);
|
|
|
|
|
this->stage = stage;
|
|
|
|
|
max_offset = std::max(max_offset, offset);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsUsed() const {
|
|
|
|
|
return is_used;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsIndirect() const {
|
|
|
|
|
return is_indirect;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unsigned GetIndex() const {
|
|
|
|
|
return index;
|
|
|
|
|
}
|
|
|
|
@ -51,6 +62,7 @@ private:
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
bool is_used{};
|
|
|
|
|
bool is_indirect{};
|
|
|
|
|
unsigned index{};
|
|
|
|
|
unsigned max_offset{};
|
|
|
|
|
Maxwell::ShaderStage stage;
|
|
|
|
|