| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Fixes the test added in the previous commit
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
|
|
The simulate_oom tests continue the trend of testing what happens
when the user-provided allocators fail. It validates two things:
1) That the loader returns the proper error message when this
occurs.
2) That the loader cleans up any allocated items prior to
returning.
Change-Id: Ic80ff4345e1f3524d5e11ce787b10c391a37d760
|
|
Some extensions are disabled at compile time and must not be included
in generated code. Issue #72 gh72. This adds a new optional field
ifdef which contains the #define symbol to insert as a guard around
generated code.
Change-Id: I30b521dd1ff77d0db1608cb11c8c999cef40dff2
|
|
Change-Id: I2e6aa600f30d89d22ce5f6f1c2e84555ba8e0b71
|
|
For host-visible non-coherent memory, the validation layers use a
shadow copy of the mapped memory region. Added proper alignment
for the shadow copy, fixed handling of offsets, and implemented
resolve of the shadow data on invalidate calls.
Change-Id: I88815799865d3a30c76e16cf96ace630e1bbcf2d
|
|
The checks are correct but error messages were backwards and stated
"contains" instead of "does not contain".
|
|
A few spots where clang-format is disabled need some cleanup.
Change-Id: I1adc64d479244fc5f655b3e3e7cd74d64499f682
|
|
In patterns where an API call is normally made twice, the first with
a NULL pointer returning the count of structures to receive followed
by second call with a pointer to the appropriately-sized buffer, the
swapchain layer was returning validation errors if the size call was
made. However, this is legal behavior so these now return validation
warnings. Also updated the relevant validation tests.
Change-Id: I9f493b27bf4fa0bec6385499c76c5cece1ad86b9
|
|
This fixes cross-queue work tracking, while keeping everything else
working.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
InvalidateMappedMemoryRanges was not updating core validation's
shadow copy of non-coherent memory.
Change-Id: I7b5e05791405871489014d6b08595c9bae941185
|
|
A support routine for FlushMappedMemoryRanges and InvalidateMapped-
MemoryRanges ignored VK_WHOLE_SIZE, causing invalid memory accesses.
Change-Id: I28616faa1339a394a3462e72780efd1b852ac489
|
|
|
|
Doc changes to reflect test additions
Change-Id: I18488615b2323dc38505e6a2df18fd960ea56bf4
|
|
skip_call result was ignored allowing for exception violations
under some test conditions.
Change-Id: Ied673a9b932210de52ed189c67221af60415cae9
|
|
Parameters specifying the extents for VkCmdBlitImage are often
misinterpreted from the spec. Add warningis if the extents do not
specify a positively-sized area.
Change-Id: I11324dcf4523b094d7545f406d5f87a1145e0563
|
|
Change-Id: Iaebe81e34e76d4760d1097da23d52d7ca2ef4273
|
|
Fixed some variable names and removed c-style casts.
Change-Id: I994ca311665a59d0f81ce0cfdeda4a66deb632be
|
|
This validation is already performed in parameter_validation.
Change-Id: I5fd8e92c885300aa35537d825ea67fabb723062e
|
|
Macro used incorrect parameter layout -- removed and in-lined log_msg
calls.
Change-Id: I2a21be76f83eed9fb3055f6f57f22204c9ea76f0
|
|
LOG_PERF_WARNING was not used.
Change-Id: I89f84611b37a809493e3d23c53809263d48b3065
|
|
Correct object pointers passed now.
Change-Id: Ib18e1849da2761373386eb44c2549be7c28752ab
|
|
This validation is already performed in parameter_validation.
Change-Id: I3c1a7f17d68fa81f7770b7dd88cb075be8e59175
|
|
This validation is already performed in parameter_validation.
Change-Id: I0b9e83cf241bfa5de93c90898f6cd5b6d9b745b5
|
|
Change-Id: Ib9c58f05ef045f0450f1ba62dfc7ea4498ac119e
|
|
Change-Id: I44d19882af69541cfe9876a22fecc0a09056ba0b
|
|
These are all overed in parameter_validation.
Change-Id: I23a7fc281414b6b8bcf30c5a9660560f2b51177f
|
|
Change-Id: I0609694a3743ca764bcda6de66c0431fb63c1ad1
|
|
Fixed some missing return codes, incorrect parameter order, bad object
handles, and instance-device mismatches. Inlined log-error calls.
Change-Id: I6d272cafcd8554f068896312a2b0f41a42d108be
|
|
DynamicBlendConstantsNotBound was misspelled.
Change-Id: I33f4d53e336dc39b5f23583ee24df88441a339ac
|
|
Added test to use a non-solid fillmode when this feature is disabled.
Change-Id: If43d8d2f30fa892b96cb90585eb0513649c535f7
|
|
If fillModeNonSolid is not enabled, polygonMode cannot be set to
POINT or LINE.
Change-Id: I6cfdfac8f5c9ff7d27b94bf0aa80ae1249b0ce25
|
|
Change-Id: I1c924977a420bc7a417710b82f0a42f4ae5dd4c3
|
|
|
|
Change pass-by-reference to a ptr to comply with Google style guide.
This way it's more clear that function is modifying param, especially when calling.
|
|
Some minor fix-ups to variable names and comments for memory aliasing code.
|
|
Create custom image and buffer versions of functions to minimize casting.
|
|
|
|
This adds initial support for memory that is updated via a MapMemory() call
prior to an object being bound. Initially any mapped allocation will just have
global_valid set for whole allocation. This value is then picked up by any
ranges made off of that allocation.
Really, we need to create new mapped regions and mark them valid, then make
sure that any overlapped objects pick up valid from mapped regions. This
requires more thought and design, though, so commiting this changes as a
simpler and incomplete initial fix.
|
|
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.
|
|
Work with local MEMORY_RANGE struct and insert to map at the end.
This avoids a loop pass and the awkward loop check of a range against itself.
Adds the slight complexity of storing aliases during loop and updating them
after the loop, but I prefer that to the alternative.
|
|
Store all ranges bound to a single memory allocation in a single map indexed by object id.
Add two separate unordered_sets for independent image and vector processing.
Added a set of aliases to MEMORY_RANGE struct to hold any aliased ranges.
Insert aliased ranges at create time and remove the aliases when a range
is destroyed.
Have a single function, rangesInterset, to track if regions bound to a memory
allocation overlap, and if linear/non-linear overlap in violation of the spec.
|
|
Change-Id: I0000000000decaf15bad0000000000000000006b
|
|
|
|
|
|
|
|
Change-Id: I3804836836af714fd9ba3138518d5c78832fc4d5
|