aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-01layers: Codegen VkBool32/enum parameter validationDustin Graves
Now generating the VkBool32 and enum checks: - Warns if a VkBool32 parameter is neither VK_TRUE nor VK_FALSE - Warns if an enum token value falls outside of the enum's begin/end range and the token was not added by an extension. Only checkes enum's that have a begin/end range. Detection of tokens added by extensions is based on the base_value defined in appendic C.10 of the Vulkan specification. Change-Id: Id49ace52fea8a35972f96d54247b98aba182c09e
2016-04-01layers: 1.0.7 update for XML Registry filesDustin Graves
Update local copies of generator.py, genvk.py, and vk.xml with the latest versions from Vulkan-Docs. Change-Id: Id2a3da34374fb1c39532cd3c124461eb953f6b89
2016-04-01layers: Fix VS2013 buildDustin Graves
Add macro to enable/disable noexcept based on compiler support. Solution from: http://stackoverflow.com/questions/18387640/how-to-deal-with-noexcept-in-visual-studio Change-Id: Ic2d22c9247b902d6e13120b17fc0b8647f079f7f
2016-04-01layers: LX459,GH#99,#100, Fix semaphore reference countMark Lobodzinski
QueueSubmit waitSemaphore refcounts were getting incremented instead of decremented, resulting in invalid 'semaphore still in use' errors. Change-Id: I8ac224115b8ee43637b8de4b377750b277cfd22b
2016-04-01loader: report implicit instance extensionsJeremy Hayes
GL74: vkEnumerateInstanceExtensionProperties should report implicit instance extensions when pLayerName is NULL or an implicit layer name. Change-Id: Iba7664a168e146c4b862468b6255cdc752cc8c77
2016-04-01layers: LX250 Verify color and depth/stencil are different.Mark Young
Validate that the color and depth/stencil attachments in a subpass are different. Change-Id: I0010270e50334cd1dc5b275c29c76265f570b186
2016-04-01#238: Fixes the "num samples mismatch" error being shown incorrectly for ↵Dominik Witczak
subpasses with 0 attachments
2016-04-01layers: Replace GLOBAL_CB_NODE::pMemObjList with unordered_setChris Forbes
One more std::list gone. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01layers: Get rid of a bunch of linked list copying when retiring CBsChris Forbes
There was no reason to copy this. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01layers: trivial: remove stray () from end of error messageChris Forbes
This wasn't describing a function; the () on the end is just nonsense. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01layers: Replace DEVICE_MEM_INFO::pCommandBufferBindings withChris Forbes
unordered_set More linked-list removal. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01layers: Replace DEVICE_MEM_INFO::pObjBindings with unordered_setChris Forbes
- Add operator== && std::hash specialization required for use in unordered_set. - Replace list by unordered_set - Delete piles of stuff V2: Fix accidentally inverted error condition Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01layers: Get rid of DEVICE_MEM_INFO::refCountChris Forbes
This is always the sum of the two container sizes, which are guaranteed accessible in constant time in C++11. We can only screw it up by independently tracking it. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-01SPIRV: Adjust to spirv-tools library moveGregF
2016-04-01layers: Fix signed/unsigned comparison warnings in thread_check.hMichael Mc Donnell
Change-Id: I3a5e8e64deed53b3817be1fe8e1e2b32c08691a7
2016-04-01loader: vk{Create|Destroy}Instance can have multiple tmp callbacksIan Elliott
During code review of the Android version of the temporary debug_report callbacks code, it was decided to allow an array of VkDebugReportCallbackCreateInfoEXT structs to be passed to vkCreateInstance(). This code implements that, using some new utility functions in order to help keep the code clean.
2016-04-01demos: Try for std val layer and fallback the same way tri does.Karl Schultz
Change-Id: I0835830fe887febec72da8af54a608b72cd63ecc
2016-04-01loader: Fix createDev treminator to init the logicalDevs ICD devJon Ashburn
Last commit on physDev detanglement was incompatible with the fix to simplify the chaining loader_device_info. Change-Id: I0468178bcffb114a9bf3038c773cf1912ad5ac72
2016-04-01loader: Remove trampoline/terminator dependency in vkEnumeratePhysicalDevicesPiers Daniell
There was a dependency between the trampoline vkEnumeratePhysicalDevices and the terminator vkEnumeratePhysicalDevices via the loader_instance.phys_devs_term array which may break layers that manipulate the enumerated VkPhysicalDevice list. This dependency assumed the devices in loader_instance.phys_devs_term and loader_instance.phys_devs were in the same order and that it could assume the index of one corresponding to the same VkPhysicalDevice of the other. Breaking this dependency allows layers to modify or reorder the VkPhysicalDevice list by intercepting the vkEnumeratePhysicalDevices function without causing the loader to crash. In general, there should never be a dependency between the trampoline code and the terminator code because it has the potential to break unknown layers between them. Conflicts: loader/loader.c loader/trampoline.c Change-Id: Iafefd6e8b7dd58d398a76533f957123242c01b56
2016-04-01loader: Trampoline vkEnumeratePhysDev should use layer-returned physDev countPiers Daniell
Modify the trampoline vkEnumeratePhysicalDevices() implementation to enumerate the number of physical devices based on what the top-most layer reports and not what the terminator_EnumeratePhysicalDevices counted. This allows intermediate layers to modify the physical device count. Change-Id: Ifd5c3c8c4db53cf97b976feefe18de7cfef47e35
2016-04-01loader: Fix loader_unwrap_physical_device() to cast to correct typePiers Daniell
The trampoline loader_unwrap_physical_device() utility function was casting the VkPhysicalDevice parameter to (loader_physical_device*) instead of (loader_physical_device_tramp*). It worked previously because it just so happened that the phys_dev member was in the same location in both structs. Change-Id: I3bee175df8b64b44ef2e440f7e43603ca0617da2
2016-04-01loader: Add device callback to set dispatchable objectJon Ashburn
Change-Id: I5ca8f532e777e2cb0facf8fe5bab4c82409f8d37
2016-04-01loader: Remove the device_info in the layer chain structureJon Ashburn
Simplifies code, the loader device structure is passed down from trampoline code to terminator code via the pDevice parameter. It doesn't need to be added to this pCreatInfo pNext list structure. Layers which modifiy pDevice whould do it on the way up the chain not going down the chain. Change-Id: Ibf7e4ffdc1a36f52b1a99389dcab25d572655aec
2016-04-01loader: Add instance callback to set dispatchable objectsJon Ashburn
Change-Id: I73b8b6edfee491c53216b730c99a7ea34ade3b4e
2016-04-01loader: Remove the instance_info in the layer chain structureJon Ashburn
Simplifies code, the loader instance structure is already passed down from trampoline code to terminator code via the pInstance parameter. It doesn't need to be added to this pCreatInfo pNext list structure. Layers which modifiy pInstance whould do it on the way up the chain not going down the chain. Change-Id: I59581b94871c094995787808cf5ae2955ad0191a
2016-03-31layers: GH218 Reset availableSets count in vkResetDescriptorPoolTobin Ehlis
2016-03-31layers: Update layer validation doc for CopyImage validation additionsMark Lobodzinski
Change-Id: I045076fc7990e72389a45b432ae099010f4f5d48
2016-03-31layers: LX458, Extend image extent validation for CmdCopyImageMark Lobodzinski
Also added many of the CmdCopyImage valid usage checks. Change-Id: I398adf18b48eccacbd8e44ce53e50f3bf43f58ad
2016-03-31layers: Accept a wider range of utf8 characters as validTony Barbour
And keep from flagging the CTS tests as invalid Change-Id: I46a3b1741ec2549b29fe72c1b0098593b2484490
2016-03-31toolchain: Fix android buildCody Northrop
Let's start tracking these revisions independent of desktop
2016-03-31layers: Fix layer_validation_tests errors and update new messageMark Young
Update the error message returned for the new color/blend attachment compare, and fix tests Tobin discovered were triggering early on the new error check. Change-Id: I43c99a7db651632efde46a1ae17b5bfb4f424a78
2016-03-31layers: LX265 Error if color blend attch count != subpass attch.Mark Young
Spec states that the VkPilelineColorBlendAttachmentState attachmentCount must be equal to the subpass' colorAttachmentCount. Change-Id: I2b281cda2c12f2003d8ee68b326d78a9aaadf573
2016-03-31layers: Adding attachment checks to make sure they aren't out of range.Michael Lentine
2016-03-31Don't validate memory if used for both input and output.Michael Lentine
2016-03-31Turn off XLIB defineTony Barbour
Defining XLIB causes generated layers to silently fail to load Change-Id: Id630465507383bd61e4e80c184e991ca8e9a1ac8
2016-03-31layers: Fix remaining leak in vkDestroyFramebuffersChris Forbes
Also simplify & fix the thread safety of this function. DestroyFramebuffers should not be in anybody's hot path -- and we absolutely /must/ hold the mutex to touch these maps, so throw away all the weird unlocking & relocking; just do it the simple way. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-31layers: Don't leak a VkFramebufferCreateInfo from vkCreateFramebufferChris Forbes
This allocated and then immediately leaked localFBCI. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-31layers: Fix the other half of #212 (bad error)Chris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-31layers: Don't stash pointer to caller memory in bound functionChris Forbes
We were already accumulating all the events the CB touches -- so just pass an index into that. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-31SPIR-V: Update glslang and spriv-tools to latestGregF
2016-03-30winrtinstaller: fix typos in windowsRuntimeInstaller/README.txtDavid Pinedo
2016-03-30layers: GH215 Removes an invalid check in vkCmdBindDescriptorSets()Dominik Witczak
2016-03-30docs: Add OSX and Android build stepsCody Northrop
2016-03-30toolchain: Add Android specific update scriptsCody Northrop
Pulls in shaderc dependency automatically.
2016-03-30layers: Update descriptor tracking in core_validationTobin Ehlis
Old mem_tracker code to record updated storage image/buffers was naive in that is gathered any image/buffer updates to descriptor sets and marked as updated every such image/buffer that was referenced by currently bound sets. In reality sets may be bound but not used. This is captured in the "active_slots" construct of the pipeline. The code here updates tracking for the updated buffers by waiting until a draw cmd for gfx pipe or dispatch cmd for compute pipe, and then gathering the updated images/buffers based on which slots are active. I've multi-purposed validate_draw_state() to now be validate_and_update_draw_state() as it includes recording of the images/buffers from the active_slots, which is then used to mark those as read. Also, that same function is now being called for compute dispatch cmds so "draw" state is not ideal. There is still some rework that needs to be done to improve this situation.
2016-03-30#37: vkAcquireNextImageKHR() will no longer treat VK_NULL_HANDLE arg as a ↵Dominik Witczak
valid semaphore handle
2016-03-30layers: Build up next layer for compute shader validationChris Forbes
Only remaining piece now is to actually call this from vkCreateComputePipelines! Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-30layers: More slight tidying of SC passChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-30layers: Make some SC error reporting slightly less misleadingChris Forbes
We were reporting that device 0 was interesting. This is nonsense. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-03-30layers: Separate out validation of a single pipeline stageChris Forbes
This is setting the scene for being able to validate compute shaders Signed-off-by: Chris Forbes <chrisforbes@google.com>