| Age | Commit message (Collapse) | Author |
|
There are a few places in the code where we assume that an image or
buffer doesn't have a sparse binding. These cases break with sparse
bindings.
To fix I added a function to BINDING class to retrieve all memory
bindings and then updated a few spots with bad assumption to make use
of this new GetBoundMemory() function.
|
|
Fixes #1030
Use the required memory size instead of bound memory size when
validating the offset into a memory buffer. This will correctly handle
both sparse and non-sparse cases.
|
|
Add memory requirements member to the BINDABLE class and save memory
requirements for images and buffers in their respective
Get*MemoryRequirements() functions.
|
|
Modified vk_helper.py to handle NV-specific structures
|
|
ObjectTracker emitted errors when a destroy/free call was made with
VK_NULL_HANDLE, which *is* allowed by the spec.
Change-Id: I2b4e19999e539d68b5856139566d4a7a8a530ca6
|
|
Fixes #1162
The dynamic offsets passed in at descriptor bind time are ordered based
on the binding order and any consecutive array indicies within those
bindings. When we validate the dynamic offsets at draw time, we were
using the entire dynamic offset array, but only the active bindings.
If we had an inactive dynamic binding before the end of the bindings
we would use the wrong offsets.
This change fixes the issue by creating a mapping between bindings and
dynamic offset array indicies at descriptor layout creation time. At
draw time the mapping is then used to lookup the correct dynamic offset
array index for a given binding.
|
|
This reverts commit f504ff6e45bb15a0517a8de2e2d75e90df7e4627.
This caused huge issues in the VulkanTools repo, reverting for
now.
|
|
Change-Id: I1b0623587d7d02849ece97de00ddb1c6bad58819
|
|
- Updated vulkan.h
- Updated vk.xml
- updated windows/linux *.json files
- updated Linux SOVERSION
- updated vulkan.hpp
Change-Id: I8128a610d1cd24a1ac49712f28d566f712f4cc94
|
|
|
|
Updated status for new MappedMemoryRanges device limits checks.
Change-Id: Id5e1973fa2b7d798abfa3e54f751b69c1b29f2d1
|
|
When VkMappedMemoryRange structures are used, the offset and size
members must be a multiple of the device limit nonCoherentAtomSize.
Added these checks in core_validation.
Change-Id: If7eded4c52d31c1a25740ac08ec5434c93c5cecc
|
|
Moved validation out of API calls.
Change-Id: I95f3b24d69d469ea98b7c955bbab56c9b47ad487
|
|
Change-Id: I4f8aae213753dc69ae28a945d7f34cff2af7ccd9
|
|
Var names.
Change-Id: I69b441f986c017f2d34a62669c8b3e7511a2dd5f
|
|
Plumbed in VU error enums, updated tests and database.
Change-Id: I114d269c686cddd6b1d3acb098d0b2f5fe4fdc17
|
|
Vertex attribute formats, 1413.
Change-Id: Ieddd05c0f40a643db074ade79659f9c09699c436
|
|
Formats specified as vertex attributes (createGraphicsPipelines->
pCreateInfos->pVertexInputState->pVertexAttributeDescriptions.format)
must have the VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT set.
Change-Id: I907c37e2edbcfb7bcb405f912cea8d215acccb11
|
|
Needed for physical-device calls or to access data belonging to
the physical device.
Change-Id: I2a1f6eadcaf82c2247a68c91c39d97ef3284b22a
|
|
Changed CreateGraphicsPipeline local vars to match style guidelines.
Change-Id: I3204ce878b37ef3cb0ce58ecff00d65a4fed4f28
|
|
In core validation, created a pre-call function and moved the
validation calls into it.
Change-Id: Ib7831c3d2f36628e24b90083be902ac724f25483
|
|
Core-validation, device was unused.
Change-Id: Ia02ff0a3c9ce85c69b175c3e80b101dd2ddc8214
|
|
Change-Id: Ia46300db1e9140e0547c3e089cef17f774b44cf3
|
|
Change-Id: I055c12e8c93d05db747239df46611386eb8b8278
|
|
2 new checks and 1 deleted check.
Cmd line was "python spec.py -update"
|
|
Replaced snprintf with stringstream.
|
|
Fixes #125
Change-Id: I1b0b4eb2894494dc6df9c8dd1beab6f3645a707c
|
|
|
|
Validation layers [core_validation] give a warning when transitioning
an image layout from PREINITIALIZED with srcAccessMask = 0. Since the
barrier should be done implicitly when the commandBuffer is submitted,
the message from the validation layers is incorrect.
Change-Id: I0ebc9f300b029237d4d3527e411d88f64c485ac4
|
|
|
|
|
|
This includes pulling libSPIRV-Tools-opt into the build
to satisfy new shaderc revision.
|
|
I was setting a value after the object containing it was deleted.
Change-Id: I8c41d454d3f9c89144e876c5b9feaf32af6e2500
|
|
Also other rework of previous commit for vulkaninfo:
- remove label and goto
- make Xcb and Xlib display open failure handling more consistent.
Change-Id: Ibfa5cc6f591b987eda26d1ff7059a44dd41c220f
|
|
First issue was that we needed to override vkGetDeviceProcAddr. Instead
of allowing this to always go directly to the ICD, we needed to intercept
a few commands because they require a loader trampoline and terminator
call. Most commands still return a pointer directly to ICD command.
GH1120 - Unwrap both the physical device handles and the
KHR_surface handles in the loader during both the trampoline and
terminator calls for DebugMarker commands. This has to be done since the
values given to an application are the loader trampoline versions, and the
values given to the last layer is the loader terminator versions.
GH1134 - We were passing down the wrong device object to the ICD functions
when querying the ICD command function address and comparing it in the
override functions.
Thanks to Baldur (Mr. Renderdoc) for discovering this, testing my
fixes, and resolving several bugs.
Change-Id: I7618d71ffee6c53d9842758210a9261f6b3a1797
|
|
Both xlib and xcb interfaces expect the DISPLAY environment
variable to be set before creation of a window and the
display creation mechanism would segfault if that is
not the case and won't provide the user with details on
what has to be done to correct the problem.
We now handle such scenarios and exit cleanly after
providing the user with some details.
Signed-off-by: Awais Belal <awais_belal@mentor.com>
|
|
If a custom allocator is used and fails, validation will continue,
using a null pointer and leading to invalid/unuseful validation
errors. Added a check for a good return code.
Change-Id: I2a91f2e9b3b951296b1e452364c863bca6b67b9f
|
|
API misuse was causing invalid object dereferences and crashes.
Change-Id: I81ff28b029b984a106a6c60063810e61a07cb945
|
|
Piers (Nvidia) discovered a bug where the ICD would fail in different ways
depending on which ICD failed to load properly during the vkCreateInstance
call. If the first ICD failed, but the second one succeeded, everything
would work fine, if the second failed, but the first succeeded, it would
fail completely because the last ICD failed.
Change-Id: I9f63146e60baf1ff310c948d8ef84c645519c075
|
|
These DEBUG_REPORT_DEBUG messages would never get printed as the
active_flags were zeroed out before the log_msg call. Temporarily
used the current callback's flags.
Change-Id: If1cc8ac2edb7dad9964049a7b755b4666f562104
|
|
When a debug report callback was created, destroyed, and re-created using
different flags, the flags controlling enabled message types could not be
unset. Fixed to clear message flags when installing a new debug callback.
Change-Id: If784fc41bf413c814343101bf4083c45224d6d8b
|
|
Change-Id: I8eec3ac1a1dedc14fac79ba47a10998842a8ffe4
|
|
Complying with best practice from Vulkan Programming Guide
page 31 - Shutting Down Cleanly
Change-Id: I19640071d26f765ffc0a2f5e5fc4d60920395e0b
|
|
Change-Id: I251663fb2932823d387af11e94bcd1e2586e0772
|
|
Change-Id: I9f4371334bf958bb01e89621008b6e569002d9a1
|
|
Change-Id: Id7556ddc1be59ee7fe5ab9273257cbc399724a3e
|
|
All arguments now have double-dashes
Change-Id: I19548d60a008cc259326efb1b62b6fd9d3bbdd70
|
|
Smoketest will now output # of frames rendered and elapsed ms.
Command line argument added to limit the rendered frames,
usage: 'smoketest --c <framecount>'
Change-Id: Id6bc0186169b6511823c4406be655f6d8ca18324
|
|
Change-Id: I385f8fd0676f665b1d774f38767b5691ddae6f7a
|
|
Update enum error database with status of implemented checks
inside CreateGraphicsPipeline().
Change-Id: Ie74b51cb65db7c8bff5e40c90617781269bc95a9
|