layers : Update memory valid to be per-range
authorTobin Ehlis <tobine@google.com>
Wed, 10 Aug 2016 22:08:00 +0000 (16:08 -0600)
committerTobin Ehlis <tobine@google.com>
Mon, 15 Aug 2016 17:26:36 +0000 (11:26 -0600)
commitceba6c6886647f1405724adb418e89a78ca34099
treed8a3007a5c42381466c6eaaaddb7bab94016eb5e
parenta7f856d2f8956b035e13e963188ec580a970343c
layers : Update memory valid to be per-range

We previously only tracked a single valid bool for an entire allocation.
That can easily get out of synch when multiple objects are bound to the
same allocation. This update moves the valid tracking to be per-range so
that it can be tracked on a per-object basis.

This does handle aliasing cases where various objects completely alias each
other, but there are still various aliased resource cases that aren't handled.
layers/core_validation.cpp
layers/core_validation_types.h