platform/upstream/Vulkan-Tools.git
8 years agodemos: Set window minimum size for tri.c
Rene Lindsay [Tue, 5 Jul 2016 19:26:05 +0000 (13:26 -0600)]
demos: Set window minimum size for tri.c

8 years agodemos: Set window minimum size on windows.
Rene Lindsay [Sat, 2 Jul 2016 00:00:30 +0000 (18:00 -0600)]
demos: Set window minimum size on windows.

Vulkan surface must be at least 1 pixel high, to prevent crash.

Change-Id: I0000000decaf15bad00000000000000000000026

8 years agolayers: gh376 Verify memory on vkCreateXXXView
Mark Young [Mon, 30 May 2016 19:28:35 +0000 (13:28 -0600)]
layers: gh376 Verify memory on vkCreateXXXView

Verify that a vkImage has memory bound to it when
vkCreateImageView is called.  Likewise, verify vkBuffer
memory at vkCreateBufferView time.

Also, add tests to vk_layer_validation_tests:
CreateBufferViewNoMemoryBoundToBuffer and
CreateImageViewNoMemoryBoundToImage.

Change-Id: If0cf1c972f721e5596f7b8a1c7652f6165401b2c

8 years agolayers: Use backing memory size rather than buffer size in barrier
Chris Forbes [Fri, 1 Jul 2016 04:43:59 +0000 (16:43 +1200)]
layers: Use backing memory size rather than buffer size in barrier

Fixes #648.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Track backing memory offset & size for buffers
Chris Forbes [Fri, 1 Jul 2016 04:39:20 +0000 (16:39 +1200)]
layers: Track backing memory offset & size for buffers

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add BUFFER_NODE::mem{Offset,Size}
Chris Forbes [Fri, 1 Jul 2016 04:33:04 +0000 (16:33 +1200)]
layers: Add BUFFER_NODE::mem{Offset,Size}

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Remove unused var to fix android build
Tobin Ehlis [Fri, 1 Jul 2016 14:49:50 +0000 (08:49 -0600)]
layers: Remove unused var to fix android build

8 years agolayers: Fix swapchain GetDisplayPlanePropertyCount count check
Jon Ashburn [Fri, 1 Jul 2016 16:08:31 +0000 (10:08 -0600)]
layers: Fix swapchain GetDisplayPlanePropertyCount count check

Change-Id: I1b16a422349eb1c5a6564704f079a0243c5ea00d

8 years agoTweaks for review feedback
Chris Forbes [Fri, 1 Jul 2016 06:27:30 +0000 (18:27 +1200)]
Tweaks for review feedback

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Simplify draw-time subpass sample count handling
Chris Forbes [Wed, 29 Jun 2016 06:15:41 +0000 (18:15 +1200)]
layers: Simplify draw-time subpass sample count handling

Renderpass creation has already failed for any cases that would hit this
logic.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Require subpass attachments' sample counts to be consistent
Chris Forbes [Wed, 29 Jun 2016 03:12:29 +0000 (15:12 +1200)]
layers: Require subpass attachments' sample counts to be consistent

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add validation for subpass multisample resolve rules
Chris Forbes [Tue, 28 Jun 2016 23:50:31 +0000 (11:50 +1200)]
layers: Add validation for subpass multisample resolve rules

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make TransitionSubpassLayouts work with VK_ATTACHMENT_UNUSED
Chris Forbes [Thu, 30 Jun 2016 04:56:15 +0000 (16:56 +1200)]
layers: Make TransitionSubpassLayouts work with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix crash in ValidateDependencies with VK_ATTACHMENT_UNUSED
Chris Forbes [Thu, 30 Jun 2016 23:45:49 +0000 (11:45 +1200)]
layers: Fix crash in ValidateDependencies with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix crash in ValidateLayouts with VK_ATTACHMENT_UNUSED
Chris Forbes [Thu, 30 Jun 2016 23:28:00 +0000 (11:28 +1200)]
layers: Fix crash in ValidateLayouts with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Apply subpass 0 layout transitions at CmdBeginRenderPass
Chris Forbes [Thu, 30 Jun 2016 03:42:41 +0000 (15:42 +1200)]
layers: Apply subpass 0 layout transitions at CmdBeginRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix render pass begin handling of initial layout
Chris Forbes [Thu, 30 Jun 2016 00:43:36 +0000 (12:43 +1200)]
layers: Fix render pass begin handling of initial layout

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agotests: Add missing TODO tests to layer details doc
Karl Schultz [Thu, 30 Jun 2016 22:34:29 +0000 (16:34 -0600)]
tests: Add missing TODO tests to layer details doc

Change-Id: I55fb267772e94f9228e0a8b19aae5049cfccfe02

8 years agoloader: GH370 - re-enable allocator usage
Mark Young [Thu, 30 Jun 2016 19:02:42 +0000 (13:02 -0600)]
loader: GH370 - re-enable allocator usage

This reverts commit 5876cc2b7563f909c8ac8cb49f51f7ef715877f8.

This adds the previous fixes as well as additional fixes if Implicit
layers aren't present.  This is not a case that gets tested on Windows
as most SDK installs have at least 1 Implicit layer (RenderDoc).

This change passes an individual run on Jenkins Linux system.

Change-Id: I466cc54b72946e2a9f6477bd4c3d4e4e72eb9579

8 years agolayers: Fix compilation errors for KHR_display ext
Jon Ashburn [Thu, 30 Jun 2016 16:21:55 +0000 (10:21 -0600)]
layers: Fix compilation errors for KHR_display ext

For Android remove KHR_display entry points from intercept generation and
from header files.

Change-Id: Ic1386a94a2229c45a1ffaac3651326324105351e

8 years agolayers: Add some comments to swapchain for more KHR_display validation
Jon Ashburn [Thu, 30 Jun 2016 15:01:27 +0000 (09:01 -0600)]
layers: Add some comments to swapchain for more KHR_display validation

Change-Id: I9d5cf4f6f8f0f9c5177155deaa18fe521c7620a9

8 years agolayers: Fix unique_objects creation of VkDisplayKHR
Jon Ashburn [Wed, 29 Jun 2016 22:12:51 +0000 (16:12 -0600)]
layers: Fix unique_objects creation of VkDisplayKHR

Make an explict_GetPhysicalDeviceDisplayProperties.

Change-Id: I39411d0dd97ca03dbf42d7e79b02243ef8988078

8 years agolayers: FIx object_tracker displayKHR and displayModeKHR creation
Jon Ashburn [Tue, 28 Jun 2016 22:59:36 +0000 (16:59 -0600)]
layers: FIx object_tracker displayKHR and displayModeKHR creation

For displayModeKHR  there are two separate Vulkan commands that can
create these objects.
For displayKHR there is one command that creates the object:
GetPhysicalDeviceDisplayPropertiesKHR.  GetDisplayPlaneSupportedDisplaysKHR
doesn't create new objects but returns existing objects.  The existing code
had the creation in  GetDisplayPlaneSupportedDisplaysKHR rather than in
GetPhysicalDeviceDisplayPropertiesKHR.

Change-Id: I63df7c41a0d17acd8b06ebb1a5742ac032159a09

8 years agolayers: Fix GetDisplayModePropertiesKHR unique_objects code
Jon Ashburn [Tue, 28 Jun 2016 20:46:12 +0000 (14:46 -0600)]
layers: Fix GetDisplayModePropertiesKHR unique_objects code

Add the available DisplayModes to the map for use by CreateDisplayPlaneSurfaceKHR

Change-Id: I94754259069a844bb516d3cf9d4e130473dbc2e3

8 years agolayers: Finish add support to validation for VK_KHR_display extension
Jon Ashburn [Wed, 15 Jun 2016 14:19:07 +0000 (08:19 -0600)]
layers: Finish add support to validation for VK_KHR_display extension

Swapchain, object_tracker and unique_objects now intercept and perform
validation checks for this extension.
Change-Id: I2e78d1dc516103de165ef83b99665eaad05b73d9

8 years agoAdded WSI KHR_display support to validation
Petros Bantolas [Fri, 15 Apr 2016 10:02:59 +0000 (11:02 +0100)]
Added WSI KHR_display support to validation

Add support for this extension to object_tracker and swapchain layers.

Change-Id: Ifdf6095958a9d9d01720fde92e0bbd0a8a9a3216

8 years agoRevert "loader: GH370 - re-enable allocator usage"
Mark Young [Thu, 30 Jun 2016 17:03:59 +0000 (11:03 -0600)]
Revert "loader: GH370 - re-enable allocator usage"

This reverts commit 0860f9dbac51b241a9690d23b53db14f307b0181.

8 years agoloader: GH370 - re-enable allocator usage
Mark Young [Thu, 30 Jun 2016 00:33:53 +0000 (18:33 -0600)]
loader: GH370 - re-enable allocator usage

Re-enable reverted changes done in commit
d6f491b88eaf11f6953c02638d079f6a76806658.  But also include
fixes for the Linux and Windows release runs.

Change-Id: I7644bb305faab068b3229eb9c1d8a67b052af165

8 years agoRevert "loader: GH370 - re-enable allocator usage"
Chris Forbes [Wed, 29 Jun 2016 23:56:45 +0000 (11:56 +1200)]
Revert "loader: GH370 - re-enable allocator usage"

This reverts commit aa32dbbf147d86257a0c9e091258e0ea2be5a013.

This is broken in both debug and release 64bit linux.

8 years agodemos: GH692 Added a supporting of wayland wsi
Mun Gwan-gyeong [Sun, 26 Jun 2016 20:34:44 +0000 (05:34 +0900)]
demos: GH692 Added a supporting of wayland wsi

Added a supporting of wayland wsi to cube, tri and smoke.

Change-Id: Ifa291d334cb1ed54018573c970078051c6867d96
Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com>
8 years agolayers: Don't produce spurious validation errors for sample count
Chris Forbes [Tue, 28 Jun 2016 22:50:41 +0000 (10:50 +1200)]
layers: Don't produce spurious validation errors for sample count

Previously we would emit a spurious validation error if the only
color or depth attachment references were VK_ATTACHMENT_UNUSED.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agoloader: GH370 - re-enable allocator usage
Mark Young [Fri, 3 Jun 2016 21:11:02 +0000 (15:11 -0600)]
loader: GH370 - re-enable allocator usage

Re-enable the allocator usage in the loader.  Also, fix several
memory leaks.  The leaks were especially noticeable during the Vulkan
conformance object_management.alloc_callback_fail.instance and
object_management.alloc_callback_fail.device tests because the
tests were designed to intentionally fail the Alloc calls.

This change now fully passes the Vulkan CTS
object_management.alloc_callback_fail tests when the loader
uses application-provided Allocators.

Change-Id: I03f2a09bc33259442e02c917a34d78f8937808d8

8 years agomisc: GH691 Remove duplicated line.
Karl Schultz [Wed, 29 Jun 2016 22:24:03 +0000 (16:24 -0600)]
misc: GH691 Remove duplicated line.

Change-Id: I5af06e880a7a71a42503e1ce6acdd1557e445169

8 years agolayers: Update layer details doc
Mark Lobodzinski [Tue, 28 Jun 2016 20:51:06 +0000 (14:51 -0600)]
layers: Update layer details doc

Updated new CV and PV checks

Change-Id: I3fb2a1ebe2319b07e146804b9d8714a58e4ad67a

8 years agolayers: Take care of DevLimits cleanup items
Mark Lobodzinski [Wed, 29 Jun 2016 16:53:51 +0000 (10:53 -0600)]
layers: Take care of DevLimits cleanup items

Added some simplifying make_unique() calls, changed param_validation
Log_msg calls to use LayerName var, added variable init to
constructor, and fixed some c-style casts.

Change-Id: I718e0d51b62a4b91a4c9b3645ff796d114a4432f

8 years agolayers: Move QueueFamilyProp Query checks into CV
Mark Lobodzinski [Tue, 28 Jun 2016 19:58:54 +0000 (13:58 -0600)]
layers: Move QueueFamilyProp Query checks into CV

Migrate CreateDevice-time QFP checks from device limits into
core_validation, fix up CV error enums.

Change-Id: I36458fd9f7666324faf69373dc581655a580a7f3

8 years agolayers: Moved devlimits UpdateDescrSets to PV
Mark Lobodzinski [Tue, 28 Jun 2016 17:51:16 +0000 (11:51 -0600)]
layers: Moved devlimits UpdateDescrSets to PV

DevLimits GetDeviceQueue validation was redundant, moved
updateDescriptorSets devlimits validation into parameter
validation.

Change-Id: Ic7bf2450c835cb5a35b687be5872cbbd0d70ac95

8 years agolayers: Move devlimits validation into PV
Mark Lobodzinski [Tue, 28 Jun 2016 17:23:08 +0000 (11:23 -0600)]
layers: Move devlimits validation into PV

Moved CreateRenderpass and BeginCommandBuffer validation into
parameter validation and hooked up enumeratePhysicalDevices.

Change-Id: Ie074b055c1d6252e503bce744cb7d718e6eb528f

8 years agolayers: Add GetPhysDevQueueFamilyProps to CV
Mark Lobodzinski [Tue, 28 Jun 2016 16:04:01 +0000 (10:04 -0600)]
layers: Add GetPhysDevQueueFamilyProps to CV

Added API, devlimits checks for this API, and did some renaming.

Change-Id: Ie27e8f5bd61f711b5c2121533ef92dd833678ee3

8 years agolayers: Add EnumeratePhysicalDevices to CV
Mark Lobodzinski [Mon, 27 Jun 2016 22:47:24 +0000 (16:47 -0600)]
layers: Add EnumeratePhysicalDevices to CV

Change-Id: Ib7a635c4f0e42560198cdb208ce310b09648aca4

8 years agolayers: Add DevLimits error codes to CV.h
Mark Lobodzinski [Mon, 27 Jun 2016 21:24:48 +0000 (15:24 -0600)]
layers: Add DevLimits error codes to CV.h

Change-Id: I1c5a6eade6c1beeb9e9320357a000c3253e7d77c

8 years agolayers: Move phys dev call state structs to CV
Mark Lobodzinski [Mon, 27 Jun 2016 21:14:12 +0000 (15:14 -0600)]
layers: Move phys dev call state structs to CV

Change-Id: I92faf07ea2e47d2013bb206e04de26081049f79f

8 years agolayers: Add phyDevProps call to Param Validation
Mark Lobodzinski [Mon, 27 Jun 2016 21:13:00 +0000 (15:13 -0600)]
layers: Add phyDevProps call to Param Validation

Change-Id: I3a8249c741d1695675842f1be09d3d63a92f900d

8 years agolayers: GH618, Correct WSI exension flag usage
Mark Lobodzinski [Fri, 24 Jun 2016 15:57:32 +0000 (09:57 -0600)]
layers: GH618, Correct WSI exension flag usage

Object_tracker had no notion of individual WSI extension flags,
and unique_objects was not checking them.

Change-Id: I93c1aa0c324aa602717f36e2975120dba8bc364e

8 years agolayers: Unify invalid command buffer handling
Tobin Ehlis [Fri, 24 Jun 2016 23:22:16 +0000 (17:22 -0600)]
layers: Unify invalid command buffer handling

Created a single vector to track any cmd buffer dependencies that are destroyed
and thereby cause the cmd buffer to become invalid. Currently just tracking
the previous object types of descriptor sets and framebuffers, but will update
the tracking to include all cmd buffer dependencies in future commits.

8 years agolayers: Update cb_bindings to hold CB_NODE ptr
Tobin Ehlis [Fri, 24 Jun 2016 20:41:20 +0000 (14:41 -0600)]
layers: Update cb_bindings to hold CB_NODE ptr

Store GLOBAL_CB_NODE ptr in cb_bindings to avoid additional look-ups.

8 years agolayers: Refactor framebuffer look-up
Tobin Ehlis [Fri, 24 Jun 2016 20:28:59 +0000 (14:28 -0600)]
layers: Refactor framebuffer look-up

Make better use of getFramebuffer() and add framebuffer member to FRAMEBUFFER_NODE.

8 years agolayers: Make FB node inherit from BASE_NODE
Tobin Ehlis [Fri, 24 Jun 2016 20:18:09 +0000 (14:18 -0600)]
layers: Make FB node inherit from BASE_NODE

Update FB_NODE to use cb_binding from BASE_NODE. Making this the common
way to track command buffers that objects are bound to.

8 years agolayers: Refactor command buffer look-up
Tobin Ehlis [Fri, 24 Jun 2016 18:31:29 +0000 (12:31 -0600)]
layers: Refactor command buffer look-up

Increase use of getCBNode() helper function.

8 years agolayers: Refactor image/buffer memory fetch
Tobin Ehlis [Fri, 24 Jun 2016 17:16:36 +0000 (11:16 -0600)]
layers: Refactor image/buffer memory fetch

Kill get_mem_binding_from_object() and replace with getImageMemory() and getBufferMemory().
Those functions then both call a shared function to retrieve memory bindings from appropriate
underlying vulkan object. This is still early in the refactor and I hope to simplify these
further.

8 years agolayers: BUFFER_NODE clean-up
Tobin Ehlis [Thu, 23 Jun 2016 23:03:56 +0000 (17:03 -0600)]
layers: BUFFER_NODE clean-up

Initial work to prepare for larger overhaul of BUFFER_NODE as well
as unifying INVALID_CB treatment.

This adds cb_bindings set to BASE_NODE which will be used to track
command buffers that objects are bound to in order to flag them as
INVALID if objects are deleted while CB are still valid.

Initially making use of this with BUFFER_NODE, but it will move to
all objects that can be bound to command buffers.

Also, use getBufferNode() utility in DestroyBuffer() and add buffer
to BUFFER_NODE so it can be used for erasing node from map.

8 years agolayers: GH616 Improve descriptor set invalid binding handling
Tobin Ehlis [Tue, 21 Jun 2016 18:34:33 +0000 (12:34 -0600)]
layers: GH616 Improve descriptor set invalid binding handling

Prior to calls to get an global index from a binding, make sure that
HasBinding() is called to verify that the binding exists.
Added HasBinding() calls to a couple of validation functions for
early exist.
Updated code comment to indicate that HasBinding() call should
precede GetGlobal*IndexFromBinding() calls.
Added assert() to GetGlobal*IndexFromBinding() calls in the error case
to make error more obvious in debug builds.
Note that Perform*Update() functions already indicate that they should
be preceded by their matching Validate*Update() functions, which include
the appropriate checks for HasBinding().
case the Validate*Update() funciont

8 years agotoolchain: Simplify shaderc setup for Windows too, per dc0ac6bc
Cody Northrop [Fri, 24 Jun 2016 17:22:29 +0000 (11:22 -0600)]
toolchain: Simplify shaderc setup for Windows too, per dc0ac6bc

8 years agolayers: Inline away markCommandBuffersInFlight
Chris Forbes [Wed, 22 Jun 2016 22:36:09 +0000 (10:36 +1200)]
layers: Inline away markCommandBuffersInFlight

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: More use of getFenceNode / getQueueNode helpers
Chris Forbes [Wed, 22 Jun 2016 05:28:23 +0000 (17:28 +1200)]
layers: More use of getFenceNode / getQueueNode helpers

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make CB_SUBMISSION 1:1 with VkSubmitInfo
Chris Forbes [Tue, 21 Jun 2016 23:57:17 +0000 (11:57 +1200)]
layers: Make CB_SUBMISSION 1:1 with VkSubmitInfo

This gets rid of a bunch of weirdness where submission with no command
buffers (sema/fence only) would get mistracked, and cuts down on
resource counting churn.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Clean up around semaphore flagging
Chris Forbes [Tue, 21 Jun 2016 06:59:28 +0000 (18:59 +1200)]
layers: Clean up around semaphore flagging

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Slightly simplify logic in CreateRenderPass
Chris Forbes [Tue, 21 Jun 2016 06:30:46 +0000 (18:30 +1200)]
layers: Slightly simplify logic in CreateRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: misc minor tidying
Chris Forbes [Tue, 21 Jun 2016 06:27:03 +0000 (18:27 +1200)]
layers: misc minor tidying

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix locking in ResetCommandPool
Chris Forbes [Tue, 21 Jun 2016 06:17:41 +0000 (18:17 +1200)]
layers: Fix locking in ResetCommandPool

This got broken when some code moved around

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix ResetFences validation vs update
Chris Forbes [Tue, 21 Jun 2016 06:10:47 +0000 (18:10 +1200)]
layers: Fix ResetFences validation vs update

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix remaining direct uses of commandPoolMap
Chris Forbes [Tue, 21 Jun 2016 02:32:00 +0000 (14:32 +1200)]
layers: Fix remaining direct uses of commandPoolMap

These would get us in trouble if the pool wasn't in the map.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Untangle check & update in FreeCommandBuffers
Chris Forbes [Tue, 21 Jun 2016 01:24:04 +0000 (13:24 +1200)]
layers: Untangle check & update in FreeCommandBuffers

Fixes crash later in new test case

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Untangle check from update around pool reset/destroy.
Chris Forbes [Tue, 21 Jun 2016 01:18:44 +0000 (13:18 +1200)]
layers: Untangle check from update around pool reset/destroy.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Move CMD_POOL_INFO to header, rename, add helper
Chris Forbes [Tue, 21 Jun 2016 01:04:18 +0000 (13:04 +1200)]
layers: Move CMD_POOL_INFO to header, rename, add helper

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Split check from clear of CB global inflight state
Chris Forbes [Tue, 21 Jun 2016 00:35:16 +0000 (12:35 +1200)]
layers: Split check from clear of CB global inflight state

Tiny step toward untangling crashes after FreeCommandBuffers.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Clean up frameBufferMap unique_ptr use
Tobin Ehlis [Thu, 23 Jun 2016 20:25:22 +0000 (14:25 -0600)]
layers: Clean up frameBufferMap unique_ptr use

Create local unique_ptr to FRAMEBUFFER_NODE and update that prior
to map insertion. Then move it directly into map in order to avoid
two map accesses.

8 years agolayers: Add Framebuffer dimension limits check
Tobin Ehlis [Thu, 23 Jun 2016 14:23:25 +0000 (08:23 -0600)]
layers: Add Framebuffer dimension limits check

Make sure that requested framebuffer dimensions do not exceed the
underlying device limits.

8 years agolayers: Add FB attachment swizzle check
Tobin Ehlis [Thu, 23 Jun 2016 13:49:12 +0000 (07:49 -0600)]
layers: Add FB attachment swizzle check

When creating a framebuffer, verify that all attachments were
created with the identity swizzle. This is a valid usage
restriction for vkCreateFramebuffer()

8 years agolayers: Add Framebuffer dimensions check
Tobin Ehlis [Wed, 22 Jun 2016 22:38:29 +0000 (16:38 -0600)]
layers: Add Framebuffer dimensions check

When creating a framebuffer, make sure that the dimensions for the
attachments are at least as big as the framebuffer dimensions.

8 years agolayers: Add INVALID_FRAMEBUFFER_CREATE_INFO error
Tobin Ehlis [Wed, 22 Jun 2016 22:12:58 +0000 (16:12 -0600)]
layers: Add INVALID_FRAMEBUFFER_CREATE_INFO error

Added new error enum DRAWSTATE_INVALID_FRAMEBUFFER_CREATE_INFO
and added initial check with this enum type that flags and error
if framebuffer attachment has non-1 mip levelCount.

8 years agolayers: Add sample count check at CreateFramebuffer time
Tobin Ehlis [Wed, 22 Jun 2016 20:16:06 +0000 (14:16 -0600)]
layers: Add sample count check at CreateFramebuffer time

When creating a framebuffer make sure that samples for its attachments
match samples for corresponding renderpass attachments. This is a
valid usage requirement for CreateFramebuffer.

Also need to store swapchain images with default samples value of
VK_SAMPLE_COUNT_1_BIT to avoid false errors.

8 years agolayers: Add format check between renderpass and framebuffer
Tobin Ehlis [Wed, 22 Jun 2016 19:32:23 +0000 (13:32 -0600)]
layers: Add format check between renderpass and framebuffer

Verify that corresponding attachment formats match between a framebuffer
and the renderpass it is being created with.

This is a valid usage requirement for vkCreateFramebuffer()

8 years agotests: Added FramebufferCreateErrors test
Tobin Ehlis [Wed, 22 Jun 2016 16:42:19 +0000 (10:42 -0600)]
tests: Added FramebufferCreateErrors test

Migrated AttachmentUsageMismatch test to FramebufferCreateErrors
and added a testcase where attachmentCount mis-matches between
the framebuffer and the renderpass.
Also updated documentation

8 years agolayers: Add framebuffer attachmentCount check
Tobin Ehlis [Wed, 22 Jun 2016 16:02:02 +0000 (10:02 -0600)]
layers: Add framebuffer attachmentCount check

Verify that attachmentCount for a framebuffer matches the
attachmentCount for the renderPass that framebuffer is being
created with.

8 years agolayers: Refactor CreateFramebuffer
Tobin Ehlis [Wed, 22 Jun 2016 15:20:42 +0000 (09:20 -0600)]
layers: Refactor CreateFramebuffer

Migrate post-call CreateFramebuffer code into PostCallRecord* function.

8 years agolayers: Refactor CreateFramebuffer
Tobin Ehlis [Wed, 22 Jun 2016 15:06:48 +0000 (09:06 -0600)]
layers: Refactor CreateFramebuffer

Migrate validation code to PreCall* function.

8 years agolayers: Clean up frameBuffer map
Tobin Ehlis [Wed, 22 Jun 2016 14:29:24 +0000 (08:29 -0600)]
layers: Clean up frameBuffer map

Update frameBufferMap to store unique ptrs and kill a new/delete.
Add safe_ structs to FRAMEBUFFER_NODE for frameBuffer and renderPass
create info structs in order to correctly shadow the whole struct.

8 years agodocs: Fix broken link in LoaderAndLayerInterface
Mark Young [Thu, 23 Jun 2016 17:25:03 +0000 (11:25 -0600)]
docs: Fix broken link in LoaderAndLayerInterface

The Manifest file example link was broken.

Change-Id: I454392f14f526ef6fdf5b30d971bd06739acb994

8 years agoLayers: GH674: Improve locking in swapchain layer.
Ian Elliott [Tue, 21 Jun 2016 17:08:43 +0000 (11:08 -0600)]
Layers: GH674: Improve locking in swapchain layer.

This fixes cases where the swapchain layer wasn't always unlocking before
returning from a function.

8 years agowinsdk: Fix multiple RT uninstall issue
Mark Young [Wed, 22 Jun 2016 22:55:31 +0000 (16:55 -0600)]
winsdk: Fix multiple RT uninstall issue

Change originally by David Pinedo.  If the same Vulkan Run-time
installer is executed multiple times, it will bump the install count
for the RT installation.  There was a problem during uninstall
which failed to look at the install count and would always remove
some important files.  This fixes that issue.

Change-Id: I4dda50b0dbdd9ec901aa25713be7d7348f3d67ec

8 years agodemos: Check global extensions before creating surface
Rene Lindsay [Wed, 22 Jun 2016 22:46:48 +0000 (15:46 -0700)]
demos: Check global extensions before creating surface

8 years agolayers: Update json files - VK_EXT_debug_report v3
Tony Barbour [Wed, 22 Jun 2016 21:24:24 +0000 (15:24 -0600)]
layers: Update json files - VK_EXT_debug_report v3

Change-Id: Ifdabdd288b965b17d1af31c443909da7469df63a

8 years agoloader: Fix version info on manifest string.
Mark Young [Wed, 22 Jun 2016 21:25:00 +0000 (15:25 -0600)]
loader: Fix version info on manifest string.

Debug_report manifest string version was incorrect because of
the new version parsing code I had put in place.

Change-Id: I48d40b131bc3efd573d08576573ee9a4060a7332

8 years agowindowsbuild: chmod -x update_external_sources.bat
David Pinedo [Wed, 22 Jun 2016 16:37:55 +0000 (10:37 -0600)]
windowsbuild:  chmod -x update_external_sources.bat

8 years agodemos: Add Format properties heading to vulkaninfo
Rene Lindsay [Tue, 21 Jun 2016 23:37:26 +0000 (17:37 -0600)]
demos: Add Format properties heading to vulkaninfo

8 years agodemos: Put back the XSync, removed by previous commit
Rene Lindsay [Tue, 21 Jun 2016 22:42:19 +0000 (16:42 -0600)]
demos: Put back the XSync, removed by previous commit

Change-Id: I8f4bbac6d124ef18f4fb3edd0da5acf308d6f7a1

8 years agoRevert "layers: Add debug report header"
Mark Lobodzinski [Tue, 21 Jun 2016 21:54:57 +0000 (15:54 -0600)]
Revert "layers: Add debug report header"

This reverts commit 2f50b5f4afa2198e13dfa8a80a460c15a6acc56c.

Change-Id: If67e7039a339ae39008a2c73f97b6a1eaedf1c3d

8 years agoRevert "layers: Make vklayer_utils a shared library"
Mark Lobodzinski [Tue, 21 Jun 2016 21:53:37 +0000 (15:53 -0600)]
Revert "layers: Make vklayer_utils a shared library"

This reverts commit 5fa68457c16e57d90274d911adc49179024442b3.

Change-Id: I5bd6c6be23859f271c84aa44ab62cab6c518db5a

8 years agoRevert "layers: Update docs for shared utils DLL"
Mark Lobodzinski [Tue, 21 Jun 2016 21:51:12 +0000 (15:51 -0600)]
Revert "layers: Update docs for shared utils DLL"

This reverts commit 94dd6081959103c1c9b0bcfda173d4149d5555b9.

Change-Id: Ie5b437d822c5efe6baf0baf2830591f50bf3ee4d

8 years agodemos: LX535 Remove deprecated device layers.
Rene Lindsay [Tue, 21 Jun 2016 22:02:10 +0000 (15:02 -0700)]
demos: LX535 Remove deprecated device layers.

8 years agodemos: Use XSync to fix intermittent xlib crash.
Rene Lindsay [Tue, 21 Jun 2016 21:58:57 +0000 (14:58 -0700)]
demos: Use XSync to fix intermittent xlib crash.

8 years agolayers: Fix CmdBeginRenderPass after non-inline renderpass in same CB
Chris Forbes [Tue, 21 Jun 2016 08:54:34 +0000 (20:54 +1200)]
layers: Fix CmdBeginRenderPass after non-inline renderpass in same CB

Fixes #667.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: GH669, Fix clearValueCount errors
Mark Lobodzinski [Tue, 21 Jun 2016 16:28:30 +0000 (10:28 -0600)]
layers: GH669, Fix clearValueCount errors

Validation was assuming LOAD_OP_CLEAR for some attachments resulting
in bad validation messages.

Change-Id: I8ff75ca63f591e3002b1ee2b61a6844d0cf1c07d

8 years agodemos: Fix intermittent crash on xlib
Rene Lindsay [Tue, 21 Jun 2016 19:16:44 +0000 (12:16 -0700)]
demos: Fix intermittent crash on xlib

8 years agosmoke: Remove references to device layers
Tony Barbour [Tue, 21 Jun 2016 16:47:18 +0000 (10:47 -0600)]
smoke: Remove references to device layers

Change-Id: I2399cdefb76a086525fea29e71a7c321b5cfecdd

8 years agowindowsbuild: +x of update_external_sources.bat
David Pinedo [Tue, 21 Jun 2016 15:51:48 +0000 (09:51 -0600)]
windowsbuild: +x of update_external_sources.bat

8 years agolayers: Fix Windows crash in Dota2
Mark Lobodzinski [Tue, 21 Jun 2016 00:49:25 +0000 (18:49 -0600)]
layers: Fix Windows crash in Dota2

In core_validation attachment_references_compatible(), having array
elements set to VK_ATTACHMENT_UNUSED was not handled resulting in
invalid memory references.

Change-Id: If78aea1467d191db905272bece16cc9f56643136

8 years agodemos: remove deprecated device layer code
Karl Schultz [Tue, 21 Jun 2016 01:08:43 +0000 (19:08 -0600)]
demos: remove deprecated device layer code

Change-Id: I916f30da7e1b2d43826f3d2080fed9721b1796d6

8 years agoloader: update so version
Jeremy Hayes [Mon, 20 Jun 2016 22:30:21 +0000 (16:30 -0600)]
loader: update so version