diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-06-03 20:02:46 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-06-03 20:02:46 +0300 |
commit | da45c12beff41aaa46b2480de80b3b941c862029 (patch) | |
tree | f4bbf7a7ad860d1c245a954f342bbf9bc9ac4a67 /intern/cycles/hydra/render_buffer.cpp | |
parent | 3fe7d049d21b4ad939ea8fb2df1f80c4f107a699 (diff) | |
parent | 34f94a02f37005210f629f04635c457d98ff5f91 (diff) |
Merge branch 'blender-v3.2-release'
Diffstat (limited to 'intern/cycles/hydra/render_buffer.cpp')
-rw-r--r-- | intern/cycles/hydra/render_buffer.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/intern/cycles/hydra/render_buffer.cpp b/intern/cycles/hydra/render_buffer.cpp index 4867def0624..4d8b21d1e61 100644 --- a/intern/cycles/hydra/render_buffer.cpp +++ b/intern/cycles/hydra/render_buffer.cpp @@ -35,7 +35,7 @@ bool HdCyclesRenderBuffer::Allocate(const GfVec3i &dimensions, HdFormat format, return false; } - const size_t oldSize = _data.size(); + const size_t oldSize = _dataSize; const size_t newSize = dimensions[0] * dimensions[1] * HdDataSizeOfFormat(format); if (oldSize == newSize) { return true; @@ -49,8 +49,8 @@ bool HdCyclesRenderBuffer::Allocate(const GfVec3i &dimensions, HdFormat format, _width = dimensions[0]; _height = dimensions[1]; _format = format; - - _data.resize(newSize); + _dataSize = newSize; + _resourceUsed = false; return true; } @@ -63,6 +63,7 @@ void HdCyclesRenderBuffer::_Deallocate() _data.clear(); _data.shrink_to_fit(); + _dataSize = 0; _resource = VtValue(); } @@ -74,6 +75,10 @@ void *HdCyclesRenderBuffer::Map() return nullptr; } + if (_data.size() != _dataSize) { + _data.resize(_dataSize); + } + ++_mapped; return _data.data(); @@ -103,10 +108,17 @@ void HdCyclesRenderBuffer::SetConverged(bool converged) _converged = converged; } +bool HdCyclesRenderBuffer::IsResourceUsed() const +{ + return _resourceUsed; +} + VtValue HdCyclesRenderBuffer::GetResource(bool multiSampled) const { TF_UNUSED(multiSampled); + _resourceUsed = true; + return _resource; } |