aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-29layers: MR178, Merge-related fixMark Lobodzinski
2016-01-29layers: MR178, Fix descriptor set in_use trackingTobin Ehlis
This breaks descriptor set validation into two cases: 1. If a descriptor set is being used in an in-flight command buffer, immediately flag an error if that set is destroyed or updated. 2. If a descriptor set bound to a command buffer (but not in-flight) is updated or destroyed, mark that command buffer as "INVALID" and flag an error if such a command buffer is submitted. Fix vkWaitForFences() code to not do any cleanup for the case where some, but not all, command buffer fences have completed. In this case the app will have to either check individual fences or use waitAll flag so we will clean up at that point.
2016-01-29layers: MR178, Various fixes to inFlightCmdBuffers tracking in draw_stateTobin Ehlis
For clarity change the name of device-level set to "globalInFlightCmdBuffers". Correctly handle validation errors and inFlightCmdBuffer clean-up when waiting for device idle. No need to do another queue node look-up when inserting inFlightCmdBuffers at trackCommandBuffers time, just use data from earlier look-up. Correctly set queue when creating QUEUE_NODE. Add locking around resetCB. Refactor large set of checks at vkQueueSubmit time into validateCommandBufferState() function. Conflicts: layers/draw_state.cpp
2016-01-29winrtinstaller: change wording in license fileDavid Pinedo
2016-01-28misc: Create a script to allow building 32-bit and 64-bit Windows.Mark Young
Create a script to allow people to build both versions of Windows targets from a command-line.
2016-01-28layers: Fix issue with api_dump when const char* is null.Mark Young
The pEngineName variable in Hologram was NULL and crashed on my 32-bit run with the api_dump layer enabled.
2016-01-28layers: Correct names of settings api_dump looks for in vk_layer_settings.Mark Young
The settings text file was using a mixed-case prefix "Api" while the layer was looking for upper-case prefix "API". This caused the layer to ignore changes made to the vk_layer_settings file.
2016-01-28loader: Fix 32-bit loader exception when layers enabled for Vulkan apps.Mark Young
The loader_create_device_terminator had an incorrect calling convention. This caused the ESP pointer to not get properly restored after the function was called by a 32-bit application.
2016-01-28layers: Fix 32-bit Win compilation issue in swapchain layer.Mark Young
The layer was using an unordered_map<void*, SwpSurface> ... in several places, but VkSurfaceKHR (unlike many other Vulkan types) isn't a pointer but a uint64_t. On Win32, it's trying to push in a uint64_t into a 32-bit pointer, which the compiler is choking on. Instead, make the unordered_map use VkSurfaceKHR.
2016-01-28Swapchain: Add Google copyrightIan Elliott
2016-01-28Swapchain: Fix typoIan Elliott
2016-01-28Swapchain: Ensure Destroy{Device|Surface}() don't core dump.Ian Elliott
There are multiple pieces of code that can try to delete an SwpSwapchain struct: - DestroyDevice() - DestroySurface() - DestroySwapchain() This tries to address the various paths through the code, so that Destroy{Device|Surface}() won't also try to destroy an already-destroyed swapchain.
2016-01-28Swapchain: Validating supported surface for presenting with a queue.Ian Elliott
This validation involves multiple levels of indirection as vkQueuePresentKHR() receives a queue parameter, and a pPresentInfo->pSwapchains array. For each swapchain, it's surface must have been seen to be supported with a queueFamilyIndex that is associated with the queue parameter. Info must be recorded at various previous calls, and be correlatable at this point in time. Very complicated!
2016-01-28Swapchain: vkDestroyInstance check if child objects were destroyed.Ian Elliott
2016-01-28Swapchain: Check "compatible" pAllocator for creation/destruction.Ian Elliott
2016-01-28Swapchain: Keep/check relationships between surfaces and swapchains.Ian Elliott
2016-01-28Swapchain: Validate that queueFamilyIndex is within bounds.Ian Elliott
2016-01-28Swapchain: Add TODOs for difficult-to-do validity language.Ian Elliott
2016-01-28Swapchain: Check that pCreateInfo->compositeAlpha has one bit set.Ian Elliott
2016-01-28Swapchain: Check that pCreateInfo->preTransform has one bit set.Ian Elliott
2016-01-28Swapchain: Start keeping better track of surface-queueFamilyIndices.Ian Elliott
2016-01-28Swapchain: Match validity rules for pCreateInfo->imageUsage.Ian Elliott
Should not check that the value is non-zero, only that it's a subset of the bits in pCapabilities->supportedUsageFlags.
2016-01-28misc: Update BUILD.md to point to latest ImageMagick.Mark Young
We probably won't keep this link around much longer, but I wanted to continue to provide a working link so people don't have issues installing the appropriate version of ImageMagick.
2016-01-28layers: Fix 32-bit compilation warnings/errors introduced last night.Mark Young
Several 32-bit compilation warnings and errors were introduced into draw_state.cpp last night. This fixes those issues and allows our builds to work again.
2016-01-27layers: MR172, Add draw_state cmdbuffer lifetime checks to cmd pool destructionMichael Lentine
2016-01-27layers: MR171, Validate pool cannot be reset when buffer in use in draw_stateMichael Lentine
2016-01-27layers: MR170, Validate queue paramters when getting a queue in param_checkerMichael Lentine
2016-01-27layers: MR169, Validate queueCount in param_checkerMichael Lentine
2016-01-27layers: MR168, Validate queue priority between 0 and 1 in param_checkerMichael Lentine
2016-01-27layers: MR167, Make sure queueCount is non-zero in param_checkerMichael Lentine
Conflicts: layers/param_checker.cpp
2016-01-27layers: MR166, Avoid duplicate queueFamilyIndices in param_checkerMichael Lentine
2016-01-27layers: MR160, Fix Android buildCody Northrop
2016-01-27vktrace: fixes to allow vktrace/replay to work with HologramKarl Schultz
- Protect strlen() against NULL strings - Avoid freeing remapped semaphores in replay QueuePresent before using them - Use a VkMemory total size instead of the literal VK_WHOLE_SIZE in trace buffers
2016-01-27layers: MR159, Add helper to get the value of an assumed integral constantChris Forbes
We need this in a bunch of array-handling code.
2016-01-27layers: MR159/LX309/LX310/LX304, Fix handling of OpTypeArray size in DrawStateChris Forbes
Array size is specified via a constant instruction, not a literal.
2016-01-27layers: MR159, Collect offsets of instructions producing constantsChris Forbes
We're about to need to be able to look these up by <id> for proper array size handling.
2016-01-27layers: MR159, Rename get_type_def, type_def_indexChris Forbes
These are just get_def, and def_index now to reflect the fact that they will handle insts other than just type definitions.
2016-01-27windowsrtinstaller: Removed unneeded UNINSTALL reg valuesDavid Pinedo
Renamed "IC" UNINSTALL reg value to "InstallCount"
2016-01-27loader: Fix createInstance to pass pAllocator downJon Ashburn
Also fix bug where createDevice failure removes logical device from icd struct
2016-01-26loader: Don't have createInstance terminator code write the instanceJon Ashburn
object
2016-01-26loader: Moved missing #define needed by aligned_alloc.Mark Young
The define needs to be before the includes.
2016-01-26layers: LX308, CreateGraphics/ComputePipelines support for multiple pipelinesMark Lobodzinski
Codegen needs special cases to create tracking structures when multiple pipelines are specified. Moved these APIs into the explicit code section for now.
2016-01-26loader: Fixed missing #define needed by aligned_alloc.Mark Young
This fixes the missing #define so Linux should build without warning.
2016-01-26loader: Update Windows uninstall to remove 32-bit vulkaninfo.Mark Young
I recently added a 32-bit vulkaninfo to the install directory so people could valiate the 32-bit loader. Unfortunately, I wasn't removing it. Thanks to David for the catch.
2016-01-26loader: Removed CMake 2.8 files which broke CMake 3.x.Mark Young
The CMake support files which I added as part of the FindImageMagick.cmake commit, were not required when we rolled back the files to 2.8. This caused the XCB code to use the wrong version of the file on some machines which resulted in XCB not being properly detected.
2016-01-26loader: Fixed issue with Linux when ImageMagick-5 installed.Mark Young
Last changes made ImageMagick-6 work, but broke ImageMagick-5. The issue is that the _ARCH_INCLUDE directories are only present for ImageMagick-6 and newer. So, Cmake was attempting to use an undefined variable.
2016-01-26loader: Further ImageMagick detection fixMark Young
Karl discovered an issue with the last change to FindImageMagick.cmake.
2016-01-26FIXES: Fixed ImageMagick-6 detection with modified FindImageMagic.cmake fileMark Young
The file I added was from Cmake 2.8 and didn't know how to detect ImageMagick-6 on Linux.
2016-01-26Fixes: Added missing newline after merge.Mark Young
2016-01-26fixed typoDerrick Owens