| Age | Commit message (Collapse) | Author |
|
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
|
|
Update local copies of generator.py, genvk.py, and vk.xml with the
latest versions from Vulkan-Docs.
Change-Id: Id2a3da34374fb1c39532cd3c124461eb953f6b89
|
|
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
|
|
QueueSubmit waitSemaphore refcounts were getting incremented instead of
decremented, resulting in invalid 'semaphore still in use' errors.
Change-Id: I8ac224115b8ee43637b8de4b377750b277cfd22b
|
|
GL74: vkEnumerateInstanceExtensionProperties should report implicit
instance extensions when pLayerName is NULL or an implicit layer name.
Change-Id: Iba7664a168e146c4b862468b6255cdc752cc8c77
|
|
Validate that the color and depth/stencil attachments in a
subpass are different.
Change-Id: I0010270e50334cd1dc5b275c29c76265f570b186
|
|
subpasses with 0 attachments
|
|
One more std::list gone.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
There was no reason to copy this.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
This wasn't describing a function; the () on the end is just nonsense.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
unordered_set
More linked-list removal.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
- 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>
|
|
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>
|
|
|
|
Change-Id: I3a5e8e64deed53b3817be1fe8e1e2b32c08691a7
|
|
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.
|
|
Change-Id: I0835830fe887febec72da8af54a608b72cd63ecc
|
|
Last commit on physDev detanglement was incompatible with the fix
to simplify the chaining loader_device_info.
Change-Id: I0468178bcffb114a9bf3038c773cf1912ad5ac72
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I5ca8f532e777e2cb0facf8fe5bab4c82409f8d37
|
|
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
|
|
Change-Id: I73b8b6edfee491c53216b730c99a7ea34ade3b4e
|
|
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
|
|
|
|
Change-Id: I045076fc7990e72389a45b432ae099010f4f5d48
|
|
Also added many of the CmdCopyImage valid usage checks.
Change-Id: I398adf18b48eccacbd8e44ce53e50f3bf43f58ad
|
|
And keep from flagging the CTS tests as invalid
Change-Id: I46a3b1741ec2549b29fe72c1b0098593b2484490
|
|
Let's start tracking these revisions independent of desktop
|
|
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
|
|
Spec states that the VkPilelineColorBlendAttachmentState
attachmentCount must be equal to the subpass'
colorAttachmentCount.
Change-Id: I2b281cda2c12f2003d8ee68b326d78a9aaadf573
|
|
|
|
|
|
Defining XLIB causes generated layers to silently fail to load
Change-Id: Id630465507383bd61e4e80c184e991ca8e9a1ac8
|
|
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>
|
|
This allocated and then immediately leaked localFBCI.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
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>
|
|
|
|
|
|
|
|
|
|
Pulls in shaderc dependency automatically.
|
|
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.
|
|
valid semaphore handle
|
|
Only remaining piece now is to actually call this from
vkCreateComputePipelines!
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
We were reporting that device 0 was interesting. This is nonsense.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
This is setting the scene for being able to validate compute shaders
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|