diff options
| author | Chris Forbes <chrisforbes@google.com> | 2016-05-16 14:09:35 +1200 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2016-05-16 08:42:20 -0600 |
| commit | 857a6accbf9cbf81edce6d7791d9c20e60e8dc6e (patch) | |
| tree | 99a928856ce7c07453ce5e5387c3e22300a1a3b7 /layers/image.cpp | |
| parent | f647b0c5c663d98fbf4e777dd6c82e4bce7cdd14 (diff) | |
| download | usermoji-857a6accbf9cbf81edce6d7791d9c20e60e8dc6e.tar.xz | |
layers: Track dynamic descriptor offsets per set index
One big pool of dynamic offsets didn't work well:
- CmdBindDescriptorSets just appended, without regard for unaffected sets,
whether offsets were already recorded for the affected sets, etc. A
command buffer which bound descriptor sets many times would just
accumulate junk.
- DescriptorSet::ValidateSetNode was always passed the base of the
offset pool, when the set's first dynamic offset may have been some
distance into the pool.
Instead, track a vector of dynamic offsets per set index, alongside
the tracking of the bound descriptor set, which makes both correct
tracking of updates, and correct validation at draw time easier.
Fixes lots of weird behavior with more complex binding sequences.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'layers/image.cpp')
0 files changed, 0 insertions, 0 deletions
