aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-07layers: Updating descriptor checks to use unique enumsTobin Ehlis
Initial batch of updates to use unique validation error enums and messages for a few checks. Updated the database file and flagged some other checks that are missing along with "TODO" notes in the code.
2016-10-07Fix Android Windows build scriptCody Northrop
2016-10-07demos: Fix typo in vulkaninfoKarl Schultz
Change-Id: Id3ac6abb9288d2a36d68b67a605b4681ce20f539
2016-10-06Layers: Implement unique_objects layer using vk.xmlMark Lobodzinski
UniqueObjects was the final LVL layer not using vk.xml for codegen. The new implementation follows the threading layer model which (outside of safe_struct dependencies) is more tolerant of API changes. Also updated for structure and style. build-android/android-generate.bat - Updated for build build-android/android-generate.sh - Updated for build generator.py - Added Unique Objects Generator genvk.py - Added call to U_O generator layers/CMakeLists.txt - Updated for build layers/unique_objects.cpp - New: manually generated code layers/unique_objects.h - Now a true header file vk-layer-generate.py - killed! Change-Id: I0d57871dfd2600829502f0bffd7cf6f926b7d5e7
2016-10-06layers: Fix wayland build breakTobin Ehlis
Cut-and-paste error
2016-10-06layers: Initial codegen of unique error enumsTobin Ehlis
This is the initial commit of spec.py script that's used to generate a header and database file that contain unique error enums per valid usage line in the spec. The basic usage is just "python spec.py" which will write out a header file to "vk_validation_error_messages.h" that contains unique error enum values for each valid usage line in the current spec that's online at https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html The header also contains validation_error_map with unique enum values as keys that map to customized output messages for each validation error. Updated one check to use the new model in core_validation. The database file contains an enum value and error message on each line, as well as fields indicating if the enum has been implemented in code and the testname for a layer validation test that verifies that particular check. Initially the implemented fields are set to 'U' and testname set to 'Unknown' to indicate that they haven't yet been checked. Will be updated manually as the code is scrubbed and new error enums are added. When updating the header as the spec changes, the "-update" option to spec.py will pull the database file and use it as a baseline reference to compare against the updated spec. The script will attempt to keep errors with same message to have the same error enum. When it's unsure if messages are updated or new, the script will flag errors for manual review.
2016-10-06layers: Fix buffer_view destroy orderingTobin Ehlis
Don't destroy buffer_view from map until after invalidating bound cmd buffers.
2016-10-06layers: Migrate surface/swapchain interaction from swapchain to CVChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-06layers: Track current and prev swapchains for each surface in CVChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-06layers: Add handle to SWAPCHAIN_NODEChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-05layers: Change 'VS' to 'vertex shader'Mike Weiblen
Change-Id: Ib9b20635225528d2fd6d012e6487d95f27a0f95d
2016-10-05layers: Add environment var for settings fileLenny Komow
Change-Id: I8a614f915ab9b61eca5b3b94f4cf43a33cacf250
2016-10-05layers: Fix state tracking for vkFlushMappedMemoryRanges()Tobin Ehlis
Checks for underflow and overflow when flushing mapped memory where using the flush offset instead of the original mapped region offset to determine size of total mapped region.
2016-10-06layer: Add tracking of surface extensions (and surface objects) to CVChris Forbes
V2: Don't leave commented-out junk lying around; init SURFACE_STATE::surface in default-constructed case. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-06layers: Unify two generic object structsChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-05layers: Only validate access masks if layout changesTony Barbour
Change-Id: I21af32fb017de15760d72d4b32d99d84c383755f
2016-10-05demos - fix cube's present barrier's dstAccessMaskTony Barbour
Change-Id: I8f94d27f16864730514beb3e326b604f24bbb65a
2016-10-05layers: Check for srcAccess in present barriersTony Barbour
Change-Id: I7722a31a6ef576cf8bc79c6893e70bc4b1cf1c09
2016-10-05loader: gh1014- Fix physical device dispatch tableSlawomir Cygan
Instead of initializing dispatch tabled for up to *pPhysicalDeviceCount devices, initialize always all dispatch tables. This fixes corruption _after_ VulkanCTS dEQP-VK.api.info.instance.physical_devices test. Change-Id: I29ff42456bed9acb6d2c4016fe7f1940b7f4bd3b
2016-10-05loader: Small cleanup of unnecessary func callMark Young
We had a function that was called only from one other place and it wasn't necessary. So removed the extra function call. Change-Id: I3579215dc1d2f46b8c30b4ec3cb416c390fcf597
2016-10-04layers: Clean up Windows build warningsMark Lobodzinski
Change-Id: Iec47464d56c862cb1a6f132241d200d6f68efa21
2016-10-04demos: Clean up Windows build warningMark Lobodzinski
Change-Id: I39daaa144e82eeabbe532cb32d334d4e60e6a7e2
2016-10-04cube: demonstrate how to select other VkPresentModeKHR'sIan Elliott
This comes from the Khronos-internal discussion of https://github.com/LunarG/VulkanSamples/issues/98. Cube will, by default, choose VK_PRESENT_FIFO_KHR mode. However, when that change was made, the old (example) code was lost that showed how to search for the other present modes. It was also discussed that there isn't good guidance on why an application might want to use a mode other than FIFO. This change adds both of those, but only selects FIFO by default. #ifdef's can be used to select other modes. With that code is a reason why an application might wish to use that present mode.
2016-10-04layers: Tweak object_tracker for 32bit some moreChris Forbes
The previous approach doesn't actually work.
2016-10-03build: hide layer symbols in android buildMike Stroyan
Hide symbols from layers that don't need to be exported. This makes libraries smaller. It reduces symbol lookup time and call overhead. It prevents possible symbol collisions.
2016-10-03build: make android layers favor their own symbolsMike Stroyan
Use -Bsymbolic linking android layers so they don't get symbols like vkCreateDebugReportCallbackEXT from outside the layer.
2016-10-03build: hide symbols from SPIRV in layers.Mike Stroyan
Core_validation was exporting SPRIV symbols that might collide with application use.
2016-10-03Revert "build: Restore default symbol visibility to layers/tests"Mike Stroyan
This reverts commit dd96dd21b438d48aa78e9de60ad0c550c856cf29.
2016-10-03layers: mark exported functions in layer utilsMike Stroyan
This allows layers to hide many functions that don't need export.
2016-10-04layers: Be careful about casts. ptr -> uint64_t& isnt right on 32bit.Chris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-03Move vulkan.hpp to version 1.0.29Mark Lobodzinski
Change-Id: I52f48c40290ff56df98d9eae3dfc3fe8748b5008
2016-10-03layers: Update changed extension names for 1.0.29Mark Lobodzinski
Change-Id: Ifc3484471e8f1e7ca585055b243f0688e7dfd33c
2016-10-03layers: Move SOVERSION to version 1.0.29Mark Lobodzinski
Change-Id: Ieb1befd5370d96404af8abf85bfed30fe43b5995
2016-10-03layers: Move Linux json files to version 1.0.29Mark Lobodzinski
Change-Id: Ibea474bc21a54251372f757d21a5cfb401876a35
2016-10-03layers: Move Windows json files to version 1.0.29Mark Lobodzinski
Change-Id: If3dbe050a7d8c9954ba1d7bc6aa29123a123a359
2016-10-03header: Move vk.xml to version 1.0.29Mark Lobodzinski
Change-Id: Iae35f784b40eeafe07e1cf1af96924bd151ecd59
2016-10-03header: Move vulkan.h to version 1.0.29Mark Lobodzinski
Change-Id: I500e04c6545daa53d21b8cf552a922a0462d066c
2016-10-03layers: Add VK_AMD_draw_indirect_count ext to OTMark Lobodzinski
Added CmdDrawIndirectCountAMD and CmdDrawIndexedIndirectCountAMD APIs for this extension to object_tracker. Change-Id: I99fcadc9660316864666f86040e256a392565569
2016-10-03layers: Add VK_NV_external_memory_win32 ext to OTMark Lobodzinski
Added GetMemoryWin32HandleNV API for this extension to object_tracker. Change-Id: I94cc6a3928f90c6ff964f7a2e5cba9aa2548d653
2016-10-03layers: Add VK_NV_external_memory_caps ext to OTMark Lobodzinski
Added GetPhysicalDeviceExternalImageFormatPropertiesNV API for the VK_NV_external_memory_capabilities extension to object_tracker. Change-Id: I36ab9a1656dbecbb2384ee173359968ea8e454eb
2016-10-03layers: Add debug marker extension support to OTMark Lobodzinski
Added object_tracker checking for Debug Marker functions SetObjectTag, SetObjectName, Begin, End, and Insert. Change-Id: Ibc13192bed2003d176df97719c9162b90051b703
2016-10-04layers: Fix ResetDescriptorPool in OTChris Forbes
Previously this didn't bother to clean up the descriptor sets associated with the pool. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Merge Validate{Non,}DispatchableObject in OTChris Forbes
Same deal. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Merge Create{Non,}DispatchableObject in OTChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Combine Destroy{Non,}DispatchableObjectChris Forbes
These did exactly the same thing, except for the slight wrinkle of needing to cast to uint64_t & in the nondispatchable case to account for MSVC crankiness. We can just do that always. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Remove allocator consistency check from swapchainChris Forbes
This is now covered by object_tracker Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Wire up INCONSISTENT_ALLOCATOR object tracker errorChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Track whether any object was created with a custom allocatorChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Hold device dispatch table by value tooChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-10-04layers: Hold instane dispatch table by valueChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>