Implement Bindless Handling on SetupTexture

This commit is contained in:
Fernando Sahmkow 2019-03-26 18:18:54 -04:00 committed by FernandoS27
parent fe392fff24
commit 7af82ca022
4 changed files with 34 additions and 18 deletions

View file

@ -205,8 +205,8 @@ public:
// Use this constructor for bindless Samplers
explicit Sampler(u32 cbuf_index, u32 cbuf_offset, std::size_t index,
Tegra::Shader::TextureType type, bool is_array, bool is_shadow)
: offset{(static_cast<u64>(cbuf_index) << 32) | cbuf_offset}, index{index}, type{type}, is_array{is_array},
is_shadow{is_shadow}, is_bindless{true} {}
: offset{(static_cast<u64>(cbuf_index) << 32) | cbuf_offset}, index{index}, type{type},
is_array{is_array}, is_shadow{is_shadow}, is_bindless{true} {}
// Use this only for serialization/deserialization
explicit Sampler(std::size_t offset, std::size_t index, Tegra::Shader::TextureType type,
@ -214,7 +214,6 @@ public:
: offset{offset}, index{index}, type{type}, is_array{is_array}, is_shadow{is_shadow},
is_bindless{is_bindless} {}
std::size_t GetOffset() const {
return offset;
}
@ -239,7 +238,7 @@ public:
return is_bindless;
}
std::pair<u32, u32> GetBindlessCBuf() {
std::pair<u32, u32> GetBindlessCBuf() const {
return {offset >> 32, offset & 0x00000000FFFFFFFFULL};
}