aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-08layers: Add string array parameter checkingDustin Graves
The param_checker layer had previously peformed a NULL check on the pointer to a string array, but had not performed a NULL check for the individual strings in the array. This adds NULL checks for the individual strings. Change-Id: Id4527f670086187e8cd1f146027bfdfd1e134b7b
2016-03-08layers: Remove redundant/unused param checker codeDustin Graves
Removes param checker sType and NULL check code that is now auto-generated. Also remove empty functions and conditional statements. Change-Id: I8be8aab0bf3a8fa60219e1066a7d3d6c9d26ec05
2016-03-08layers: LX430, Modfiy object_tracker to handle multiple instancesMark Lobodzinski
Upon DestroyInstance, OT indicated that all objects in all maps were not properly destroyed. Made this reporting work on a per-instance basis. Change-Id: I9b4eae4364a24597cb449610a31bf9b872c45225
2016-03-08layers: GH83 Fix updates of copies descriptor sets in draw_stateTobin Ehlis
When a copied descriptor update is valid, need to update pUpdateStructs for the destination set. There are still some issues with how copied descriptors are handled in draw_state (noted in TODO on line 3049) but this fix addresses specific issue in GH83.
2016-03-08layers: Fix layer documentation so that it can be auto-validatedTobin Ehlis
Validator currently requires each table entry to be on a single line. Fixing a couple of multi-line entries.
2016-03-08layers: Count attachments as the same if they have overlapping memory.Michael Lentine
2016-03-08loader: Fix issue passing wrong instance if layer wraps instancesJon Ashburn
Change-Id: Iafd0f7dc3e4a911b165d3df1dadddf4d45fbef10
2016-03-08layers: LX405 Avoid some checks when rastrization is disabled.Karl Schultz
When rasterization is disabled, some pipeline state checks can be skipped since they would not be used, including sample counts and viewport/scissor counts. Add rasterization state to graphics pipelines in the test suite because it is required. Change-Id: I88f76038c2acc0abd0565f1655ceeed128557f77
2016-03-08codegen: LX424 Generate code for WSI-specific funs in GIPA.Karl Schultz
For the unique_objects and object_tracker layers, generate system types (xcb, xlib, wayland, mir) in GetInstanceProcAddr. The previous code would only generate code for one display system, even if more than one was selected by the CMake config. The code to return these proc addresses is conditionally compiled with the corresponding USE_PLATFORM #ifdef, and the CMake config can go ahead and set multiple USE_PLATFORM defines. The result is that GIPA resolves proc address requests for these functions and allows them to be hooked properly when the layers are loaded. Change-Id: I2fa38847863f0a1187dd17d882ef9d94f546527f
2016-03-08Bump api_version to 1.0.5 in json filesTony Barbour
Change-Id: I71a03cd8043906074f6c3be98af0006e1aeaf5ee
2016-03-08layers: Add func pointer NULL checksDustin Graves
Add code generated NULL checks for function pointers. This enables parameter checking for the VkAllocationCallbacks struct, with param_checker additions for the vkDestroy functions that receive VkAllocationCallbacks parameters. Change-Id: I9910c52026aa584bb013ee5015b5cb04b2d6ddcd
2016-03-08layers: GH41 Flag error if cmd buffer references destroyed framebufferTobin Ehlis
Create framebuffer node and include set of cmd buffers that reference that FB. At the time when RenderPass is bound to cmd buffer, or when secondary cmd buffer is created with framebuffer inheritence, store a reference from FB to cmd buffer. When FB destroyed, set any cmd buffers referencing it as INVALID and store FB ref. At submit time, if CB is INVALID, check for any destroyed FBs and report them.
2016-03-08layers: Fix android build of draw_stateTobin Ehlis
Need to static cast NULL to VkFence in FENCE_NODE constructor.
2016-03-08layers: Fix android build from linux or Win32 systemTobin Ehlis
When we codegen layers for android build, cmd line is long which was causing us to not customize build based on "Android" option on cmd line. Handling "Android" as special case currently so android can easily be built from Win32 or linux. Need to clean this code up at some point to make it easier to build various targets from different dev system types.
2016-03-08Use size_t types for output size_t.Michael Lentine
2016-03-08build: Enable Xlib support to default ON on Linux buildsJon Ashburn
Change-Id: I5a89e81caf31b6cc5a5f0668a97fb05e8e6462aa
2016-03-08loader: gllvl #50, Add support for the WSI extension KHR_displayJon Ashburn
Change-Id: I8d5ecc7500beba3042a6b9147b2f3fd3055b3b1d
2016-03-08layers: LX431, FENCE_NODE structures not initializedMark Lobodzinski
The fenceMap structures are never initialized, resulting in indeterminate behavior including bad draw_state validation messages from the smoke test. Added a default constructor to FENCE_MAP. Change-Id: I27e6b48e485bbb1e8774e2d5789e1e8d1b48020b
2016-03-08build: Fix CMake Xlib DisplayServer name.Karl Schultz
Change-Id: Ia50157cd4f245971208a1baa28c823a62683dcd3
2016-03-08loader: VulkanTools PR 13 Resolve ...XlibPresentationSupportKHRKarl Schultz
Change-Id: I1177e20b657ab00f41e9e4eb6f9ac997f7be459e
2016-03-07demos: Change layer order in cube.c to put param_check sooner.Karl Schultz
Also make the order match the standard meta layer. Change-Id: Id250b9fe89b9d85d9e8ab6b803474f2c449fc6b1
2016-03-07glslang / spirv-tools: get latest versionsGregF
2016-03-07demos: Remove allocation callback code from tri demoTony Barbour
From LoaderAndValidationLayers issue #84: demos/tri.c implements VkAllocationCallbacks with aligned_alloc/_aligned_malloc, free/_aligned_free, and realloc. I belive that is broken in many ways: realloc does not return a pointer with the necessary alignment. realloc(_aligned_malloc(...)) crashes. _aligned_free(realloc(...)) crashes. aligned_alloc requires that size must be a multiple of alignment, while Vulkan provides no such guarantee to these callbacks. On POSIX-based implementations, aligned_alloc requires that alignment must be a multiple of sizeof(void *) as well as a power of two, while Vulkan merely requires it to be a power of two. aligned_alloc(0), realloc(p, 0) might return non-NULL, while I think Vulkan requires NULL. _aligned_malloc(0, a) is documented to invoke the invalid parameter handler (although I'm not sure it actually does in practice). Implementing a valid allocator is quite non-trivial, so it may be best to just delete the allocator entirely from the demo. (See also KhronosGroup/Vulkan-Docs#21 and KhronosGroup/Vulkan-Docs#103 for related discussions.) Change-Id: I3ef3ba19c64127bd65a7dbe7b0b54de42e68ebb0
2016-03-07layers: GHLVL88, Fix ValidateBarriers in draw_stateMark Lobodzinski
Apps using QUEUE_FAMILY_IGNORED might get bad validation errors. Change-Id: I3c8b3723701b8b24e2e9cd81a20f7192bcef15a7
2016-03-07layers: GHLVL87, Fix cut/paste VerifyImageLayout call in draw_stateMark Lobodzinski
Change-Id: I4c34930338805ac964f0a4c70c2356977c1adabd
2016-03-07layers: LX402, Invalid CmdBindPipeline validation errorMark Lobodzinski
The draw_state layer was emitting an error if this API was called outside a renderPass, which is indeed valid. Change-Id: I712b381e7ea9d9e66e091ba7325ab8d884f56edb
2016-03-07header: update to version 1.0.5Jon Ashburn
Change-Id: I2c7fdb2349d50d06b0a875e4da0c9ab50d2249de
2016-03-07misc: Update to header version 1.0.4Jon Ashburn
Change-Id: I61657dc28c7850075b787413955a6c880447a03d
2016-03-07layers: Add param checks for CreateInstance/DeviceDustin Graves
Add parameter checks for vkCreateDevice and vkCreateInstance. Includes a local fix for GitHub Vulkan-Docs issue #104 to prevent false positives from being generated for the pCreateInfo->pEnabledFeatures == NULL case. Change-Id: I1f3642e7e18c8bfb32b0996b6e2e57a5f9d8e011
2016-03-07layers: Add NULL/sType checks for struct membersDustin Graves
Add param_checker support for validating struct members. Messages are logged for the following conditions, based on conditions specified in vk.xml: - A pointer is NULL and is not marked as optional in the XML - An array is NULL and is not marked as optional in the XML, unless its count is 0 - An array count is 0 and is not marked as optional in the XML - A structure's sType value does not match the value specified in the XML Addresses GL105, GL109, GH82 Change-Id: I7063fe2582b30fdfc0006fe945a0f9c84a2aa66a
2016-03-07layers: Handle indirection in param_checkerDustin Graves
Code was being generated for param_checker that looked like: validate_pointer(pAllocInfo); validate_array(pAllocInfo->count, array); Where validate_array could dereference a NULL pointer. The code generator was updated to insert NULL checks for this case: validate_pointer(pAllocInfo); if (pAllocInfo != NULL) { validate_array(pAllocInfo->count, array); } Change-Id: I1eda66530dbff2e95d604a20d122179be172bedf
2016-03-07layers: Add vkFreeCommandBuffers param checkDustin Graves
Add NULL pointer checks for vkFreeCommandBuffers. Change-Id: I7bef6a9d55fda6607b483c873485156b8c8148a1
2016-03-07layers: LX413, Fix dynamicOffsets crash in draw_stateMark Lobodzinski
Properly handle CmdBindDescriptorSets being called multiple times consecutively. DynamicOffsets being overwritten on subsequent calls, resulting in a crash when the array was indexed out-of-bounds.
2016-03-07Fix assert for layouts.Michael Lentine
Currently we assume that the layout must have been set for a subresource. While this is true it may be set globally instead of on that specific subresource directly causing the old assert to throw.
2016-03-07layers: GL156 Ignore pQueueFamilyIndices if exclusive sharing mode is requestedDominik Witczak
2016-03-07Regester event on creation and delete on deletion.Michael Lentine
2016-03-07layers: Validate subpass index in CreateGraphicsPipelinesChris Forbes
Not validating this upfront meant that users got really weird errors about mismatches between their FS outputs and color attachments. Now they should hit the real problem first. Fixes GH #75 V2: Run through git-clang-format. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-07layers: Remove vestigial bits of old derivatives API from DSChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-07layers: Validate pipeline derivative requirements in DrawStateChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-04Merge pull request #80 from lentinem/mlentine-buildfixtobine
Remove unused var.
2016-03-04Remove unused var.Michael Lentine
2016-03-04layers: LX423 Set string var with handle value before using.Karl Schultz
Change-Id: I50e7a2778bd14ff4e0b8fc3f2fcb201faefce548
2016-03-04add generated files for smoke demo.Karl Schultz
Change-Id: I7169419113c74fc7e1e16c827f6553cf86abe989
2016-03-04validation: Promote validation warnings to errorsTony Barbour
Change-Id: Ib527e646aabbd0aecbadf9071ca9e271a8729735
2016-03-04layers: LX401, Handle VK_WHOLE_SIZE in flush/invalidateMappedMemoryRangesMark Lobodzinski
Mem_tracker was ignoring this setting and emitting invalid error messages. Change-Id: Id26a5e0bdf3f5c907356a384b9febbae1e885c27
2016-03-04layers: LVLGH47 DS Include swapchain images in searchKarl Schultz
Change-Id: I08941af0153c123d5f552bae8dc02023dc4f9965
2016-03-04loader: gllavl#46 add check for device extensionsJeremy Hayes
Make GetInstanceProcAddr check layers for device extensions. Change-Id: Ib23c5d42d11be415e9a6acd3b8427d0e474087a5
2016-03-04Merge pull request #59 from chrisforbes/ds-more-fixestobine
Miscellaneous fixes for DrawState layer
2016-03-03winrtinstaller: sign uninstallerDavid Pinedo
2016-03-03Remove generated files from source controlTony Barbour