| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
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
|
|
|
|
Create a script to allow people to build both versions of Windows
targets from a command-line.
|
|
The pEngineName variable in Hologram was NULL and crashed on my 32-bit run
with the api_dump layer enabled.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Should not check that the value is non-zero, only that it's a subset of the
bits in pCapabilities->supportedUsageFlags.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
layers/param_checker.cpp
|
|
|
|
|
|
- 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
|
|
We need this in a bunch of array-handling code.
|
|
Array size is specified via a constant instruction, not a literal.
|
|
We're about to need to be able to look these up by <id> for proper array size
handling.
|
|
These are just get_def, and def_index now to reflect the fact that they will
handle insts other than just type definitions.
|
|
Renamed "IC" UNINSTALL reg value to "InstallCount"
|
|
Also fix bug where createDevice failure removes logical device from icd
struct
|
|
object
|
|
The define needs to be before the includes.
|
|
Codegen needs special cases to create tracking structures when multiple pipelines
are specified. Moved these APIs into the explicit code section for now.
|
|
This fixes the missing #define so Linux should build without warning.
|
|
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.
|
|
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.
|
|
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.
|
|
Karl discovered an issue with the last change to FindImageMagick.cmake.
|
|
The file I added was from Cmake 2.8 and didn't know how to detect ImageMagick-6 on Linux.
|
|
|
|
|