platform/upstream/Vulkan-Tools.git
8 years agolayers: MR150, Fix render pass graphics checks
Michael Lentine [Tue, 19 Jan 2016 20:00:53 +0000 (14:00 -0600)]
layers: MR150, Fix render pass graphics checks

Make sure that VK_SUBPASS_EXTERNAL is handled properly.

8 years agolayers: MR139, draw_state VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT checks
Tobin Ehlis [Fri, 15 Jan 2016 20:34:44 +0000 (13:34 -0700)]
layers: MR139, draw_state VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT checks

Added a set to track which secondary cmdBuffers are contained within a primary cmdBuffer.
Added new DRAWSTATE_INVALID_CB_SIMULTANEOUS_USE enum value for new error/warning
cases, along with line in documentation.
New validation issues and state updates are listed below.

While tracking cmdBuffers at QueueSubmit time:
 1. Flag an error if a cmdBuffer is already in flight and does not have
    VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT set
 2. Account for tracking of secondary cmdBuffers (and their in_use resources)
    that are submitted within a primary command buffer

When submitting secondary command buffers into primary command buffer at
    CmdExecuteCommands time:
 1. Flag an error if secondary cmdBuffer is in flight and doesn't have
 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT set.
 2. Warn user if secondary cmdBuffer doesn't have
 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT set but primary cmdBuffer does.
 This causes primary cmdBuffer to be treated as if
 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT isn't set.
 3. Add secondary cmdBuffers to set off of primary cmdBuffer for tracking purposes
 4. Add secondary cmdBuffers to inFlight set

8 years agolayers: MR137, Flag error if set updated or freed while in use
Tobin Ehlis [Thu, 14 Jan 2016 19:47:19 +0000 (12:47 -0700)]
layers: MR137, Flag error if set updated or freed while in use

It is illegal to free or update a descriptorSet that is in use.
Updated SET_NODE to inherit from BASE_NODE for in_use tracking.
At the time that Draws are recorded into the cmdBuffer, capture any active sets
for that cmdBuffer into std::set<VkDescriptorSet> activeSets.
At the time vkCmdBindDescriptorSets is recoreded in cmdBuffer, flag descriptor
sets as in use. At the time a set is freed, flag an error if set is in use.

8 years agoglslang: bump up glslang and spirv-tools versions for ISV release
GregF [Thu, 21 Jan 2016 00:14:31 +0000 (17:14 -0700)]
glslang: bump up glslang and spirv-tools versions for ISV release

8 years agoshader compiler: add new VertexIndex
GregF [Wed, 20 Jan 2016 23:37:18 +0000 (16:37 -0700)]
shader compiler: add new VertexIndex

8 years agoMake cJSON case-sensitive
Antoine Labour [Thu, 21 Jan 2016 00:32:17 +0000 (16:32 -0800)]
Make cJSON case-sensitive

8 years agodebug_report: Integrate review feedback
Courtney Goeltzenleuchter [Tue, 19 Jan 2016 23:08:39 +0000 (16:08 -0700)]
debug_report: Integrate review feedback

Conflicts:
include/vulkan/vk_ext_debug_report.h

Conflicts:
include/vulkan/vk_ext_debug_report.h

8 years agolayers: Fix screenshot to intercept CreateInstance so it canbe on instance chain
Jon Ashburn [Wed, 20 Jan 2016 15:52:40 +0000 (08:52 -0700)]
layers: Fix screenshot to intercept CreateInstance so it canbe on instance chain

8 years agovktrace: Get partially working again with the new loader/layer interface
Jon Ashburn [Wed, 20 Jan 2016 15:08:25 +0000 (08:08 -0700)]
vktrace: Get partially working again with the new loader/layer interface

8 years agolayers: Remove obsolete VkbaseLayerObject
Jon Ashburn [Wed, 20 Jan 2016 15:07:14 +0000 (08:07 -0700)]
layers: Remove obsolete VkbaseLayerObject

8 years agoloader: remove resolved TODOs
Courtney Goeltzenleuchter [Thu, 14 Jan 2016 23:06:06 +0000 (16:06 -0700)]
loader: remove resolved TODOs

8 years agoloader: Remove CreateInstance and CreateDevice
Courtney Goeltzenleuchter [Thu, 14 Jan 2016 23:34:30 +0000 (16:34 -0700)]
loader: Remove CreateInstance and CreateDevice

The new init mechanism always uses GetInstanceProcAddr
to query the next layer's CreateInstance or CreateDevice
function. Thus no reason to cache those function pointers
in the instance dispatch table.

8 years agoloader: Use ICD's GetInstanceProcAddr
Courtney Goeltzenleuchter [Fri, 15 Jan 2016 21:15:24 +0000 (14:15 -0700)]
loader: Use ICD's GetInstanceProcAddr

Appears there is some difference in behavior between
vkCreateDevice addr that we get initially vs. one
later. Not sure what difference is yet.

-------------------------------

8 years agoloader: Add util to strip loader extensions
Courtney Goeltzenleuchter [Fri, 15 Jan 2016 21:15:00 +0000 (14:15 -0700)]
loader: Add util to strip loader extensions

8 years agoloader: implement new layer init method
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 19:18:43 +0000 (12:18 -0700)]
loader: implement new layer init method

New layer init method requires the construction of
Link information for CreateInstance and CreateDevice
that is accessible to layers via the CreateInfo.pNext pointer.
The layer can then use the Get*ProcAddr from the Link
structure to initialize their dispatch table if the
call down the chain returns successfully.
This removes the need to do special initialization work
at Get*ProcAddr time.
Layer Get*ProcAddr now return their internal function
pointers regardless of the value of instance or device.
Only need to have valid instance & device when looking
up extensions or when passing the request down the chain.
This mechanism allows us to remove object wrapping used
by the loader previously. Also simplifies the dispatch table
setup.

Conflicts:
layers/device_limits.cpp
layers/draw_state.cpp
loader/loader.c
loader/trampoline.c

8 years agolayers: fix threading destroy instance
Courtney Goeltzenleuchter [Fri, 15 Jan 2016 18:58:33 +0000 (11:58 -0700)]
layers: fix threading destroy instance

The threading layer was using the generic destroy_instance
utility when it should be using the utility that takes
a map.

8 years agolayers: Add utility functions for new layer init
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:52:37 +0000 (11:52 -0700)]
layers: Add utility functions for new layer init

These utilities will find the appropriate CreateInfo
extension that defines the layer link information.

8 years agolayers: Update layer info to match json
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:50:04 +0000 (11:50 -0700)]
layers: Update layer info to match json

8 years agoloader: Add structures to support new init method
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:40:27 +0000 (11:40 -0700)]
loader: Add structures to support new init method

These structures will be used to extend CreateInstance
and CreateDevice to support layers. The loader will
create a chain of these structures - one per layer -
that tells the layer the Get*ProcAddr for the next
lower part.

8 years agoicd: Remove unused reference to vk_sdk_platform.h
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:39:32 +0000 (11:39 -0700)]
icd: Remove unused reference to vk_sdk_platform.h

8 years agovkjson: initial commit
Antoine Labour [Tue, 27 Oct 2015 19:21:09 +0000 (12:21 -0700)]
vkjson: initial commit

8 years agolayers: MR148/GL82, Don't memset PIPELINE_NODE in draw_state
Tobin Ehlis [Wed, 20 Jan 2016 16:01:24 +0000 (09:01 -0700)]
layers: MR148/GL82, Don't memset PIPELINE_NODE in draw_state

Remove memset of PIPELINE_NODE from Compute Pipeline creation.
Default constructor handles initialization so no need to memset and this was
causing a crash due to corrupting the active_sets std::set.

8 years agolayers: MR149, Cleanup CMD_NODE use in draw_state
Tobin Ehlis [Wed, 20 Jan 2016 17:25:29 +0000 (10:25 -0700)]
layers: MR149, Cleanup CMD_NODE use in draw_state

Move pCmds vector<CMD_NODE*> to be cmds vector<CMD_NODE> instead. This simplifies
cleanup of the data structure as we don't have to manage the ptr new/delete lifecycle.

8 years agoWindowsRTInst: Layer registry values are created/removed correctly on Windows7
David Pinedo [Wed, 20 Jan 2016 04:19:11 +0000 (21:19 -0700)]
WindowsRTInst: Layer registry values are created/removed correctly on Windows7

8 years agolayers: GL84, Reset vkQueuePresentKHR semaphore state in mem_tracker
Mark Lobodzinski [Tue, 19 Jan 2016 23:27:27 +0000 (16:27 -0700)]
layers: GL84, Reset vkQueuePresentKHR semaphore state in mem_tracker

8 years agolayers: GL92, Properly remove cmd buf metadata
Mark Lobodzinski [Tue, 19 Jan 2016 23:08:36 +0000 (16:08 -0700)]
layers: GL92, Properly remove cmd buf metadata

When FreeCommandBuffers was called the helper routine was not
properly removing the command buffer tracking data.

8 years agolayers: MR145/GL67, Correctly mirror command buffer inheritance info
Tobin Ehlis [Tue, 19 Jan 2016 20:12:52 +0000 (13:12 -0700)]
layers: MR145/GL67, Correctly mirror command buffer inheritance info

Embedded InheritanceInfo struct within command buffer BeginInfo was not correctly
mirrored in draw_state. Correctly copy this data as appropriate and correctly
clear it when command buffer is reset.

Conflicts:
layers/draw_state.cpp

8 years agolayers: MR144, Fix layer names
Michael Lentine [Tue, 19 Jan 2016 20:19:38 +0000 (14:19 -0600)]
layers: MR144, Fix layer names

8 years agolayers: MR143/GL85, Fix draw_state implicit command buffer reset
Tobin Ehlis [Tue, 19 Jan 2016 19:03:34 +0000 (12:03 -0700)]
layers: MR143/GL85, Fix draw_state implicit command buffer reset

On vkBeginCommandBuffer an implicit reset occurred late and would overwrite the
beginInfo. Moved implicit reset earlier so that beginInfo is maintained
regardless of whether or not implicit reset is triggered.
Also removed some dead code from resetCB().

8 years agodebug_report: MR141, Change pUserData to match type used elsewhere
Courtney Goeltzenleuchter [Tue, 19 Jan 2016 00:42:08 +0000 (17:42 -0700)]
debug_report: MR141, Change pUserData to match type used elsewhere

Other uses of pUserData in Vulkan do not have a const qualifier,
remove it for this pUserData.

8 years agolayers: MR142/GL89, draw_state: check swapchain images during descriptor updates
Tobin Ehlis [Tue, 19 Jan 2016 15:36:40 +0000 (08:36 -0700)]
layers: MR142/GL89, draw_state: check swapchain images during descriptor updates

When vkUpdateDescriptorSets() is called, if an imageView was being updated, we
were not including swapchain images in the check to verify a valid image.
Adding these to the check to avoid false positives.

8 years agolayers: Fix object_trackers dereferencing of invalid pointers
Mark Lobodzinski [Tue, 19 Jan 2016 16:57:24 +0000 (09:57 -0700)]
layers: Fix object_trackers dereferencing of invalid pointers

vkUpdateDescriptorSets->VkWriteDescriptorSet: object_tracker should only validate
array specified by VkDescriptorType.

8 years agolayers: Fix problems with screenshot to get it working again
Karl Schultz [Tue, 19 Jan 2016 16:56:56 +0000 (09:56 -0700)]
layers: Fix problems with screenshot to get it working again

- Set the layerCount member of VkImageSubresourceLayers
- Add image transition memory barriers (needed for some drivers)
- Add dispatch table to command buffer object created by this layer.
  This lets it get dispatched by a downstream layer, if present.

8 years agolayers: MR140, Add get_type_def helper in DrawState
Chris Forbes [Sun, 17 Jan 2016 23:07:01 +0000 (12:07 +1300)]
layers: MR140, Add get_type_def helper in DrawState

8 years agolayers: MR140, Add SPIRV instruction stream iterator helper
Chris Forbes [Sun, 17 Jan 2016 19:56:40 +0000 (08:56 +1300)]
layers: MR140, Add SPIRV instruction stream iterator helper

8 years agolayers: MR140, Pass whole shader_module to build_type_def_index
Chris Forbes [Sun, 17 Jan 2016 19:56:09 +0000 (08:56 +1300)]
layers: MR140, Pass whole shader_module to build_type_def_index

8 years agolayers: MR140, Remove some commented merge remnants
Chris Forbes [Sun, 17 Jan 2016 19:36:20 +0000 (08:36 +1300)]
layers: MR140, Remove some commented merge remnants

8 years agolayers: LX257, Validate Uniform/Storage buffer offset alignments
Mark Lobodzinski [Wed, 13 Jan 2016 17:23:15 +0000 (10:23 -0700)]
layers: LX257, Validate Uniform/Storage buffer offset alignments

8 years agoloader: Return the loader created instance rather than from the instance chain
Jon Ashburn [Mon, 18 Jan 2016 19:20:03 +0000 (12:20 -0700)]
loader:  Return the loader created instance rather than from the instance chain

Fix's issue with layers that wrap instance.

8 years agoinstaller: Fix LunarXchange issue #287.
Mark Young [Fri, 15 Jan 2016 16:01:11 +0000 (09:01 -0700)]
installer: Fix LunarXchange issue #287.

Apply David's fix to force the registry to be created.

8 years agolayers: Fix json file for multi layer
Jon Ashburn [Fri, 15 Jan 2016 20:34:22 +0000 (13:34 -0700)]
layers: Fix json file for multi layer

8 years agolaoder: Fix phys_dev to use unwrapped version in loader_CreateDevice
Jon Ashburn [Fri, 15 Jan 2016 20:10:10 +0000 (13:10 -0700)]
laoder: Fix phys_dev to use unwrapped version in loader_CreateDevice

8 years agolayers: Add minimal actual analysis of interface blocks to DrawState
Chris Forbes [Fri, 15 Jan 2016 01:53:11 +0000 (14:53 +1300)]
layers: Add minimal actual analysis of interface blocks to DrawState

There's definitely still room for improvement here (SPIRV-Tools might have some stuff that will make some of these more complex module walks a little clearer); however, this adds enough support for interface blocks for us to generate all the same kinds of mismatch errors we were previously generating for loose inputs and outputs.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix mishandling of VI vs VS validation (Gitlab#69)
Chris Forbes [Thu, 14 Jan 2016 22:32:03 +0000 (11:32 +1300)]
layers: Fix mishandling of VI vs VS validation (Gitlab#69)

This wasn't quite correct. We'd end up trying to run it_a off beyond attribs.end(),
which is invalid and upsets the MS debug stdlib. This is most likely the root cause
of the weirdness that caused people to add _at_end, _first, etc to this function long ago,
so that can all disappear -- but for now, let's just deal with the actual bug.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Initialize image format properties
Chris Forbes [Tue, 29 Dec 2015 21:52:16 +0000 (10:52 +1300)]
nulldrv: Initialize image format properties

Previously this was just left uninitialized. Image layer would then randomly fail image creation based on comparisons against junk.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Add more proper support for ShaderModule objects
Chris Forbes [Tue, 29 Dec 2015 21:51:01 +0000 (10:51 +1300)]
nulldrv: Add more proper support for ShaderModule objects

Again not OK to claim success but return junk rather than a proper handle. Fixes various layers exploding when running against nulldrv.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Add minimal support for pipeline cache objects.
Chris Forbes [Tue, 29 Dec 2015 21:49:29 +0000 (10:49 +1300)]
nulldrv: Add minimal support for pipeline cache objects.

It's not really OK to claim success but leave junk in the caller's memory rather than a real handle. This prevents object tracker randomly exploding when running against the null driver.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Claim that our supported image formats can be used as color attachments
Chris Forbes [Tue, 29 Dec 2015 21:48:06 +0000 (10:48 +1300)]
nulldrv: Claim that our supported image formats can be used as color attachments

Previously if an app would be unable to find any color renderable format, so only
an app that didn't bother (and wasn't running under validation) would get anywhere.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Expose some present modes
Chris Forbes [Tue, 29 Dec 2015 21:47:26 +0000 (10:47 +1300)]
nulldrv: Expose some present modes

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Expose some basic formats as presentable
Chris Forbes [Tue, 29 Dec 2015 21:45:47 +0000 (10:45 +1300)]
nulldrv: Expose some basic formats as presentable

Previously we just left whatever junk the caller had in this memory, which generally crashed a caller.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Claim to support any WSI surface.
Chris Forbes [Tue, 29 Dec 2015 21:44:58 +0000 (10:44 +1300)]
nulldrv: Claim to support any WSI surface.

Previously this just left whatever junk the caller had, with unpredictable results.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agonulldrv: Initialize memory types mask
Chris Forbes [Tue, 29 Dec 2015 21:43:16 +0000 (10:43 +1300)]
nulldrv: Initialize memory types mask

Previously apps would randomly succeed or fail to find a matching memory type based on whatever junk happened to be here. Instead, claim to support all memory types.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: gitlab #62, object_tracker allows NULL semaphore in AcquireNextImage
Jon Ashburn [Thu, 14 Jan 2016 22:11:55 +0000 (15:11 -0700)]
layers: gitlab #62, object_tracker allows NULL semaphore in AcquireNextImage

8 years agospirv-tools: update version due to build problems seen by norbert
GregF [Wed, 13 Jan 2016 21:25:26 +0000 (14:25 -0700)]
spirv-tools: update version due to build problems seen by norbert

8 years agoloader: Fix bad memory ref and CreateInstance fail don't write ouptut
Jon Ashburn [Thu, 14 Jan 2016 20:51:55 +0000 (13:51 -0700)]
loader: Fix bad memory ref and CreateInstance fail don't write ouptut

Gitlab #58
CreateInstance shouldn't update output parameter on failure.

8 years agoChange api_version to 1.0.1 in json files
Tony Barbour [Thu, 14 Jan 2016 17:40:40 +0000 (10:40 -0700)]
Change api_version to 1.0.1 in json files

From 0.210.0

8 years agolayers: Gitlab #71, Fix copy/paste error in mem_tracker
Mark Lobodzinski [Thu, 14 Jan 2016 17:15:37 +0000 (10:15 -0700)]
layers: Gitlab #71, Fix copy/paste error in mem_tracker

8 years agonulldrv: MR131, Update api_version in nulldrv json file
Tobin Ehlis [Thu, 14 Jan 2016 16:35:02 +0000 (09:35 -0700)]
nulldrv: MR131, Update api_version in nulldrv json file

8 years agolayers: MR130, Handle VK_WHOLE_SIZE properly in mem_tracker:initializeAndTrackMemory
Chris Forbes [Thu, 14 Jan 2016 02:57:46 +0000 (15:57 +1300)]
layers: MR130, Handle VK_WHOLE_SIZE properly in mem_tracker:initializeAndTrackMemory

VK_WHOLE_SIZE is ~0ull. If this were passed as `size`, we'd try to allocate ~1ull
bytes, and then memset them all to 0xb. This tends to explode.

8 years agolayers: MR129, Remove incorrect asserts from param_checker and object_tracker
Tobin Ehlis [Wed, 13 Jan 2016 21:45:14 +0000 (14:45 -0700)]
layers: MR129, Remove incorrect asserts from param_checker and object_tracker

For apps that run with multiple instances, it's perfectly valid to have instances
remaining at DestroyInstace() time so removing that assert from param_checker.
Also, the assert appears to have been cut-and-pasted into DestroyDevice of both
param_checker and object_tracker. The same logic applies for apps that use
multiple devices. Running vulkancts with layers enabled found these issues.

8 years agoloader: Add support for implicit layer device extensions enumeration
Jon Ashburn [Wed, 13 Jan 2016 19:51:43 +0000 (12:51 -0700)]
loader: Add support for implicit layer device extensions enumeration

Partial fix for Bugzilla #15367.  Need to do similar things for instance
extensions.

Conflicts:
loader/loader.c

8 years agoloader: Fix so unwrapped instance gets used for layer instance extension dispatch
Jon Ashburn [Tue, 12 Jan 2016 16:55:14 +0000 (09:55 -0700)]
loader: Fix so unwrapped instance gets used for layer instance extension dispatch

Conflicts:
loader/trampoline.c

8 years agoWindows RT Installer: Fix layer reg entry setup, no layers we being installed
David Pinedo [Wed, 13 Jan 2016 23:22:19 +0000 (16:22 -0700)]
Windows RT Installer: Fix layer reg entry setup, no layers we being installed

8 years agodemos: Remove the message box dialog for errors in vulkaninfo
Jon Ashburn [Wed, 13 Jan 2016 19:55:12 +0000 (12:55 -0700)]
demos: Remove the message box dialog for errors in vulkaninfo

8 years agodemos: Fix vulkaninfo version reporting error
Mark Lobodzinski [Wed, 13 Jan 2016 17:36:44 +0000 (10:36 -0700)]
demos: Fix vulkaninfo version reporting error

8 years agoWindows RT Installer: add buildno to version
David Pinedo [Tue, 12 Jan 2016 23:14:53 +0000 (16:14 -0700)]
Windows RT Installer: add buildno to version

8 years agolayers: MR128, Don't complain about declarations without Builtin or Location
Chris Forbes [Tue, 12 Jan 2016 20:29:31 +0000 (09:29 +1300)]
layers: MR128, Don't complain about declarations without Builtin or Location

This is a stopgap until we have proper interface block analysis landed.
For now, this just suppresses the false positives. A correct SPIRV
module will not hit this path for anything other than interface blocks.

Conflicts:
layers/draw_state.cpp

8 years agolayers: MR128, Fix mismatched new[]/delete in validate_pipeline_shaders
Chris Forbes [Thu, 17 Dec 2015 04:10:19 +0000 (17:10 +1300)]
layers: MR128, Fix mismatched new[]/delete in validate_pipeline_shaders

In draw_state layer.

8 years agolayers: MR128, Revert "layers: Work around Windows release build crash in cube"
Chris Forbes [Thu, 17 Dec 2015 04:07:15 +0000 (17:07 +1300)]
layers: MR128, Revert "layers: Work around Windows release build crash in cube"

This reverts commit 470d0226d222ac1532a88e5c5f0b78b7a391f7ce.

Conflicts:
layers/draw_state.cpp

8 years agolayers: LX273, Fix accessMask validation for depth/stencil input attachments
Mark Lobodzinski [Tue, 12 Jan 2016 20:18:44 +0000 (13:18 -0700)]
layers: LX273, Fix accessMask validation for depth/stencil input attachments

When using an imageView of a depth/stencil image to populate a descriptor set,
the aspectMask must only include one bit and selects whether the imageView is
used for depth reads or stencil reads.

8 years agospirv-tools: update version for SDK 1.0 IHV
GregF [Tue, 12 Jan 2016 19:57:45 +0000 (12:57 -0700)]
spirv-tools: update version for SDK 1.0 IHV

8 years agoheader: move to version 1.0.1
Jon Ashburn [Tue, 12 Jan 2016 18:33:33 +0000 (11:33 -0700)]
header: move to version 1.0.1

8 years agoloader: Fix so unwrapped instance gets used for layer instance extension dispatch
Jon Ashburn [Tue, 12 Jan 2016 16:55:14 +0000 (09:55 -0700)]
loader: Fix so unwrapped instance gets used for layer instance extension dispatch

8 years agolayers: Remove extra subpass increment in draw state
Tony Barbour [Tue, 12 Jan 2016 18:16:52 +0000 (11:16 -0700)]
layers: Remove extra subpass increment in draw state

8 years agoloader: update linux version to 1.
Jeremy Hayes [Tue, 12 Jan 2016 16:30:00 +0000 (09:30 -0700)]
loader: update linux version to 1.

8 years agolayers: Gitlab 65, Add image layout extension enum to paramchecker validation
Mark Lobodzinski [Mon, 11 Jan 2016 16:46:09 +0000 (09:46 -0700)]
layers: Gitlab 65, Add image layout extension enum to paramchecker validation

8 years agolayers: Fix image layer format mutability validation
Mark Lobodzinski [Mon, 11 Jan 2016 23:50:30 +0000 (16:50 -0700)]
layers: Fix image layer format mutability validation

8 years agolayers: MR127, Update DrawState handling of non-updated descriptors
Tobin Ehlis [Mon, 11 Jan 2016 20:18:40 +0000 (13:18 -0700)]
layers: MR127, Update DrawState handling of non-updated descriptors

At CmdBindDescriptorSets() time, only warn on non-updated descriptor if that descriptor is not empty.
At draw time, if a descriptor is being used and it has not been updated, trigger an error.

8 years agoloader: Update README.md for ICD<->loader interface
Jon Ashburn [Mon, 11 Jan 2016 21:21:31 +0000 (14:21 -0700)]
loader: Update README.md for ICD<->loader interface

8 years agoloader: Fix old ICD interface to not use vkGetInstanceProcAddr(NULL,)
Jon Ashburn [Mon, 11 Jan 2016 21:41:35 +0000 (14:41 -0700)]
loader: Fix old ICD interface to not use vkGetInstanceProcAddr(NULL,)

8 years agoglslang: upgrade glslang version for SDK 1.0 IHV
GregF [Mon, 11 Jan 2016 21:03:24 +0000 (14:03 -0700)]
glslang: upgrade glslang version for SDK 1.0 IHV

8 years agoheader: Move to version 1.0.0 from 0.222
Jon Ashburn [Mon, 11 Jan 2016 20:24:16 +0000 (13:24 -0700)]
header: Move to version 1.0.0 from 0.222

Whitespace only change.

8 years agomisc: Move to Vulkan header version 0.222
Jon Ashburn [Mon, 11 Jan 2016 20:12:43 +0000 (13:12 -0700)]
misc: Move to Vulkan header version 0.222

8 years agolayers: Gitlab 126, Fix for swapchain layer which was checking wrong pointer
Norbert Nopper [Mon, 11 Jan 2016 07:55:57 +0000 (08:55 +0100)]
layers: Gitlab 126, Fix for swapchain layer which was checking wrong pointer

8 years agolayers: LX264, Validate immutable format bit in image layer
Mark Lobodzinski [Fri, 8 Jan 2016 18:07:56 +0000 (11:07 -0700)]
layers: LX264, Validate immutable format bit in image layer

8 years agoFixes: Fixed compiler warning about &
Mark Young [Fri, 8 Jan 2016 00:16:39 +0000 (17:16 -0700)]
Fixes: Fixed compiler warning about &

Someone checked in a bitwise & instead of a boolean comparison &&.

8 years agoFixes: More compilation warning fixes
Mark Young [Thu, 7 Jan 2016 22:41:43 +0000 (15:41 -0700)]
Fixes: More compilation warning fixes

This fixes the main issues with VkBool32 versus bool.

8 years agolayers: Gitlab 41 & 61, Fix invalid descriptor dereferences in helper codegen
Mark Lobodzinski [Fri, 8 Jan 2016 21:52:49 +0000 (14:52 -0700)]
layers: Gitlab 41 & 61, Fix invalid descriptor dereferences in helper codegen

Descriptor type arrays should only be dereferenced depending on the specified
descriptorType parameter. Caused crashes in api_dump.

8 years agolayers: MR124, Fix semaphore ordering validation in mem tracker layer
Norbert Nopper [Fri, 8 Jan 2016 17:35:19 +0000 (18:35 +0100)]
layers: MR124, Fix semaphore ordering validation in mem tracker layer

8 years agolayers: LX263, Validate minimum imageArrayLayers value in swapchain layer
Mark Lobodzinski [Fri, 8 Jan 2016 00:26:05 +0000 (17:26 -0700)]
layers: LX263, Validate minimum imageArrayLayers value in swapchain layer

8 years agolayers: Fix unique_object gpa function; no intercept of func without an
Jon Ashburn [Thu, 7 Jan 2016 23:13:06 +0000 (16:13 -0700)]
layers: Fix unique_object  gpa function; no intercept of func without an
NDO
Also fix bug in list of KHR functions for table.

8 years agolayers: LX256, Suppress warnings on pre-signaled fences in MemTracker
Mark Lobodzinski [Tue, 5 Jan 2016 23:38:09 +0000 (16:38 -0700)]
layers: LX256, Suppress warnings on pre-signaled fences in MemTracker

8 years agomisc: make sure host memory alignment is a power of two
Jon Ashburn [Thu, 7 Jan 2016 22:21:14 +0000 (15:21 -0700)]
misc:  make sure host memory alignment is a power of two

Use sizeof(int) as a default generally.  Is that reasonable?

8 years agolayers: MR123, Improved ObjectTracker codegen
Tobin Ehlis [Tue, 5 Jan 2016 17:33:58 +0000 (10:33 -0700)]
layers: MR123, Improved ObjectTracker codegen

Updated ObjectTracker to correctly generate the required permutations of validate_<object>()
functions. This removed some hand-coded functions from the header. Updated the codegen for
ObjectTracker to use improved dict from UniqueObjects that eliminates repeated "if" and
"for" blocks. Also updated valid null object checking to limit valid null object cases
to appropriate API calls.

8 years agoswapchain: MR122, queueFamilyIndexCount must be > 1 for CONCURRENT
Ian Elliott [Thu, 7 Jan 2016 17:55:02 +0000 (10:55 -0700)]
swapchain: MR122, queueFamilyIndexCount must be > 1 for CONCURRENT

This was clarified via "<validity>" language in the "vk.xml" file.  It is the
case for VkBufferCreateInfo::queueFamilyIndexCount, and MR 995 will make it
consistent for VkSwapchainCreateInfoKHR::queueFamilyIndexCount.

8 years agolayers: MR121, Use _BitScanForward for u_ffs on windows
Mike Stroyan [Thu, 7 Jan 2016 17:05:21 +0000 (10:05 -0700)]
layers: MR121, Use _BitScanForward for u_ffs on windows

The linux ffs function scans from least-significant-bit.
To match that, u_ffs on windows should use _BitScanForward instead of
_BitScanReverse.

8 years agolayers: Output function names for deferred memory validation checks
Mark Lobodzinski [Thu, 7 Jan 2016 20:18:42 +0000 (13:18 -0700)]
layers: Output function names for deferred memory validation checks

8 years agolayers: MR119, Defer validation until command buffer has been submitted
Michael Lentine [Thu, 7 Jan 2016 01:17:59 +0000 (19:17 -0600)]
layers: MR119, Defer validation until command buffer has been submitted

Conflicts:
layers/mem_tracker.cpp

8 years agomisc: Remove the unique_objects layer from being enabled in tests and demos
Jon Ashburn [Thu, 7 Jan 2016 18:53:56 +0000 (11:53 -0700)]
misc: Remove the unique_objects layer from being enabled in tests and demos

8 years agotests: Fix a couple of test bugs revealed by unique_objects layer
Tobin Ehlis [Wed, 6 Jan 2016 15:48:41 +0000 (08:48 -0700)]
tests: Fix a couple of test bugs revealed by unique_objects layer