platform/upstream/Vulkan-Tools.git
8 years agolayers: Update ImageView state tracking
Tobin Ehlis [Wed, 14 Sep 2016 14:02:49 +0000 (08:02 -0600)]
layers: Update ImageView state tracking

Create IMAGE_VIEW_STATE class to hold VkImageViewCreateInfo and update related
state tracking. This class derives from BASE_NODE in preparation for tracking
in_use for ImageViews consistent to other object in_use tracking.

8 years agolayers: Clean up in-use decrement for bound objects
Tobin Ehlis [Wed, 14 Sep 2016 13:01:11 +0000 (07:01 -0600)]
layers: Clean up in-use decrement for bound objects

Decrement in-use in a single location via ptr to BASE_NODE for each bound object.

8 years agolayers: Clean up in-use increment for bound objects
Tobin Ehlis [Wed, 14 Sep 2016 12:55:51 +0000 (06:55 -0600)]
layers: Clean up in-use increment for bound objects

Simplify code with a single error call and in_use increment based on common
base class.

8 years agolayers: Fix tracking of WSI fence retirement
Chris Forbes [Wed, 21 Sep 2016 01:36:19 +0000 (13:36 +1200)]
layers: Fix tracking of WSI fence retirement

Previously we'd note that the fence wasn't submitted to a queue, and so
never call RetireWorkOnQueue, which is the only thing that marked the
fence as retired. In the WSI fence case, we still aren't doing any
tracking of completion of the WSI operation (we should! image ownership
is easily fouled up!) but we can at least retire the fence.

Fixes #954.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Extract RetireFence helper from WaitForFences/GetFenceStatus.
Chris Forbes [Tue, 20 Sep 2016 23:18:30 +0000 (11:18 +1200)]
layers: Extract RetireFence helper from WaitForFences/GetFenceStatus.

This does the same thing in both places.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agodemos: Use ownership barriers for separate queues in cube
Tony Barbour [Wed, 7 Sep 2016 22:07:56 +0000 (16:07 -0600)]
demos: Use ownership barriers for separate queues in cube

Change-Id: Ia3456405add6ea35b9cc774b2247e6f7d9a80768

8 years agodemos: Use queue search from spec example
Tony Barbour [Tue, 6 Sep 2016 17:40:12 +0000 (11:40 -0600)]
demos: Use queue search from spec example

To favor finding a queue that supports both graphics and present

Change-Id: I0223b0973b4244c006ade31c6515f149f9696ff8

8 years agoloader: More changes for gh181
Mark Young [Fri, 16 Sep 2016 16:18:42 +0000 (10:18 -0600)]
loader: More changes for gh181

With Piers' fix, another path was broke because we still needed
to intercept the call before it went to the ICD.  Now, with his
change and this change, all paths work.

Also, clean up some code based on comments from Ian and Courtney
reviews.

Finally, update docs to indicate behavior of new loader 3
interface with ICDs.

Change-Id: I2d3f962baffb21c1edeb93b132ffad40f298c8e7

8 years agoloader: Fixes for ICD vk{Create|Destroy}SurfaceKHR
Piers Daniell [Wed, 14 Sep 2016 17:24:36 +0000 (11:24 -0600)]
loader: Fixes for ICD vk{Create|Destroy}SurfaceKHR

Need to keep VkIcdSurface private to the loader.

The definition may conflict with some redefinitions of
VK_DEFINE_NON_DISPATCHABLE_HANDLE and it's not necessary to make public
anyway.

Change-Id: I30e166f0ecce2fd3ea36c745dc073b705973d75f

8 years agoloader: gh181 use ICD for SurfaceKHR
Mark Young [Tue, 28 Jun 2016 16:52:43 +0000 (10:52 -0600)]
loader: gh181 use ICD for SurfaceKHR

Use the ICD to create and destroy VkSurfaceKHR objects instead
of just performing the work in the ICD.  This only occurs if the ICD
exports the appropriate entry-points, and exposes version 3 of the
loader/icd interface.

Change-Id: I5e7bf9506318823c57ad75cf19d3f53fdfa6451e

8 years agounique_object: Remove unneccessary code.
Mark Young [Mon, 19 Sep 2016 20:25:33 +0000 (14:25 -0600)]
unique_object: Remove unneccessary code.

There is some duplication in querying the WSI extensions in the
unique_object layer.  Remove the duplication.

Change-Id: I2f240e8f801bd3d154fce8b1cbc486b62b5a50ee

8 years agoGH-951 Fixed consistency issue with mip size calculations
Gregory Mitrano [Mon, 19 Sep 2016 03:48:29 +0000 (23:48 -0400)]
GH-951 Fixed consistency issue with mip size calculations

8 years agoGH-951 - Improve validation for minImageTransferGranularity
Gregory Mitrano [Mon, 19 Sep 2016 01:54:49 +0000 (21:54 -0400)]
GH-951 - Improve validation for minImageTransferGranularity

Added missing BC1_RGBA formats to vk_format_is_compressed function
Added function in vk_layer_utils to get block sizes for compressed formats

8 years agolayers: Get rid of old CBSTATUS-based dynamic viewport and scissor
Chris Forbes [Fri, 16 Sep 2016 05:11:50 +0000 (17:11 +1200)]
layers: Get rid of old CBSTATUS-based dynamic viewport and scissor

These were superceded by the precise tracking of dynamic scissors and
viewports.

Fix up the tests to look for the precise errors, and get rid of the
broken clearing of static scissors & viewports, which triggered other
errors.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agobuild: FindImageMagick file needed updating.
Mark Young [Fri, 16 Sep 2016 16:21:31 +0000 (10:21 -0600)]
build: FindImageMagick file needed updating.

Incorrectly updated the one in VulkanTools insteda of the one
in LoaderAndValidationLayers.

Thanks to Arda for the catch (even though I originally thought
he messed up).

Change-Id: Ic60d68d9c17437c4c711a8b359a8ad9246537e30

8 years agolayers: Cleanup unexpected push_constants msgs
Karl Schultz [Tue, 13 Sep 2016 20:23:19 +0000 (14:23 -0600)]
layers: Cleanup unexpected push_constants msgs

Fix to core validation CreatePipelineLayout to change
a message from warning to error.
Fixes to PushConstants layer tests to fix unintended
validation errors and to avoid generating multiple
intentional errors in a single test.

Change-Id: I618d6e5aff55fa918da5bd81c47092174b266da1

8 years agolayers: Only save p-devices if call was successful
Tony Barbour [Tue, 13 Sep 2016 17:45:37 +0000 (11:45 -0600)]
layers: Only save p-devices if call was successful

Change-Id: Ife211b1b2dc97c5bab0d6e7b177ead6b1a6105d3

8 years agodemos: Give Android versions permissions for internet & read/write files
Ian Elliott [Thu, 1 Sep 2016 17:09:21 +0000 (11:09 -0600)]
demos: Give Android versions permissions for internet & read/write files

This is in support of RenderDoc (and other tracing libraries).  On Android,
these "native" applications must have permission to read/write files on the
Android filesystem so that a trace-capture library can write a trace file.
After building and installing the application, the following commands should be
run from a Linux shell, in order to truly grant those permissions (not normally
required for an Android Java-based app, with a GUI; but is required for these
shell-launched, native apps):

adb shell pm grant com.example.Cube android.permission.READ_EXTERNAL_STORAGE
adb shell pm grant com.example.Cube android.permission.WRITE_EXTERNAL_STORAGE

8 years agodemos: Fix issue of making Vulkan calls from callback
Tony Barbour [Mon, 12 Sep 2016 20:02:43 +0000 (14:02 -0600)]
demos: Fix issue of making Vulkan calls from callback

Change-Id: I6fcb41cbcd13e8ce5ace6f857d7dd54bad48aa55

8 years agolayers: Require VkGraphicsPipelineCreateInfo::pDepthStencilState
Chris Forbes [Thu, 8 Sep 2016 05:55:54 +0000 (17:55 +1200)]
layers: Require VkGraphicsPipelineCreateInfo::pDepthStencilState

If the subpass uses a depth/stencil attachment and rasterization is not
disabled, then this structure must be present.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: tweak comments from review feedback
Chris Forbes [Mon, 12 Sep 2016 23:22:22 +0000 (11:22 +1200)]
layers: tweak comments from review feedback

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Don't do cross-stage validation if individual stages failed
Chris Forbes [Thu, 8 Sep 2016 23:26:20 +0000 (11:26 +1200)]
layers: Don't do cross-stage validation if individual stages failed

There are only crashes and nonsense down this path.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Don't bother continuing after missing entrypoint
Chris Forbes [Thu, 8 Sep 2016 23:23:39 +0000 (11:23 +1200)]
layers: Don't bother continuing after missing entrypoint

There's very little we can do here.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agoloader: Fix compiler warning
Mark Young [Mon, 12 Sep 2016 17:55:10 +0000 (11:55 -0600)]
loader: Fix compiler warning

I had an unused variable left after some recent changes.

Change-Id: I934ea4a7410c6be9bbafe250bc09f38feb3d6f7c

8 years agobuild: Fix CMake coding error
Karl Schultz [Mon, 12 Sep 2016 20:09:03 +0000 (14:09 -0600)]
build: Fix CMake coding error

Need STREQUAL when compating strings.

Change-Id: Id65055d18af2c0bbd3e4959f21587e2ba9afa607

8 years agodemos: fix vulkaninfo warnings in display-only build
Karl Schultz [Mon, 12 Sep 2016 19:28:09 +0000 (13:28 -0600)]
demos: fix vulkaninfo warnings in display-only build

Change-Id: Iabc8edd7cd90f848d4957d005eb14c1094e94790

8 years agoFix, that display only build under Linux works
Norbert Nopper [Thu, 8 Sep 2016 07:31:36 +0000 (09:31 +0200)]
Fix, that display only build under Linux works

8 years agoloader: Fix another possible memory leak
Derrick Owens [Fri, 9 Sep 2016 19:49:07 +0000 (15:49 -0400)]
loader: Fix another possible memory leak

Added another cleanup case, just in case...

Change-Id: Ia6e09ce12c29314a1cce6b1cdcd72bdd7749f655

8 years agoloader: Fixed conformance memory leak.
Derrick Owens [Fri, 9 Sep 2016 19:45:13 +0000 (15:45 -0400)]
loader: Fixed conformance memory leak.

This fixes a memory leak found whilst running Khronos conformance with
more than 1 ICD installed.

Change-Id: I34ed978b2929c33d9e2c49cf633f09ada2788a92

8 years agowinsdk: Fix ConfigureRT.exe not being deleted
Lenny Komow [Fri, 9 Sep 2016 15:43:17 +0000 (09:43 -0600)]
winsdk: Fix ConfigureRT.exe not being deleted

8 years agoloader: Add back func calls
Mark Young [Fri, 9 Sep 2016 13:26:48 +0000 (07:26 -0600)]
loader: Add back func calls

Previously removed function calls in extension_create_instance
because I believed they were no longer needed.  I was incorrect.

Change-Id: Ibc63009f0038a413b7e1bc03225818b046a62352

8 years agolayers: make CmdClearAttachments messages errors again for now.
Chris Forbes [Fri, 9 Sep 2016 02:36:33 +0000 (14:36 +1200)]
layers: make CmdClearAttachments messages errors again for now.

There's some spec contradictions, captured in !488. For now, let's say
that these are errors. This commit can be reverted if !488's resolution
retains the noop behavior.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make d/s CmdClearAttachments without d/s attachment warning
Chris Forbes [Thu, 8 Sep 2016 03:35:36 +0000 (15:35 +1200)]
layers: Make d/s CmdClearAttachments without d/s attachment warning

This is pointless, but well-defined. Rework warning message to not
reference the VkClearAttachment::colorAttachment, as it's only
meaningful for color clears.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add VK_ATTACHMENT_UNUSED warning case for CmdClearAttachments
Chris Forbes [Thu, 8 Sep 2016 03:30:59 +0000 (15:30 +1200)]
layers: Add VK_ATTACHMENT_UNUSED warning case for CmdClearAttachments

This is a pointless clear, but well-defined.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: CmdClearAttachments colorAttachment is index into subpass
Chris Forbes [Thu, 8 Sep 2016 03:25:24 +0000 (15:25 +1200)]
layers: CmdClearAttachments colorAttachment is index into subpass

We were previously treating this as being an index into the renderpass
attachment descriptions, but that's nonsense. It's also well-defined
what happens if an out-of-range index is provided, so downgrade to a
warning.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agoloader: Remove extension enable checks
Mark Young [Fri, 9 Sep 2016 00:36:32 +0000 (18:36 -0600)]
loader: Remove extension enable checks

Apparently, the intent of Vulkan is to have the loader do no
run-time checking in each of the functions as to whether or not
the extension is enabled.  This should only be done in the
validation layers.

This resolves the crash Jeff was seeing in the Nvidia driver when
using the new extension.

Change-Id: Ic90db0bde062d6b2511954abb8677f9f20bb4285

8 years agoloader: Add checks for usage of wsi extensions
Mark Young [Thu, 8 Sep 2016 18:28:38 +0000 (12:28 -0600)]
loader: Add checks for usage of wsi extensions

The loader really should validate that the WSI extensions are
enabled before being called.  Additionally, I needed to add
more checks for the KHR_display_swapchain extension in the
parameter_validation and object_tracker layers.

Change-Id: I3d07d46baf551be6f5f07e5374d6c683e3f52e7e

8 years agolayers: Remove old/unnecessary FIXME from swapchain layer
Ian Elliott [Thu, 8 Sep 2016 17:34:52 +0000 (11:34 -0600)]
layers: Remove old/unnecessary FIXME from swapchain layer

This FIXME comment does not apply.  It may have applied, if the line being
referred to once copied a pointer to user data, but at this point, the actual
data is being copied into a struct owned by the swapchain layer, which is what
the comment was about.

8 years agolayers: Move in_use.store(0) to BASE_NODE constructor
Tobin Ehlis [Wed, 7 Sep 2016 21:18:08 +0000 (15:18 -0600)]
layers: Move in_use.store(0) to BASE_NODE constructor

8 years agolayers: Update bound object increment and decrement functions
Tobin Ehlis [Wed, 7 Sep 2016 17:09:01 +0000 (11:09 -0600)]
layers: Update bound object increment and decrement functions

Unify the handling of in-use increment/decrement for QueryPool, Pipeline,
Image, Buffer, and Event objects.

8 years agolayers: Clarify in-use object error message
Tobin Ehlis [Wed, 7 Sep 2016 17:04:49 +0000 (11:04 -0600)]
layers: Clarify in-use object error message

8 years agolayers: Improve map cleanup on object deletion
Tobin Ehlis [Fri, 26 Aug 2016 23:09:24 +0000 (17:09 -0600)]
layers: Improve map cleanup on object deletion

If object deletion is skipped due to validation error, don't remove object from map.

8 years agolayers: Add detection for in-use query pool & clean-up destroys
Tobin Ehlis [Thu, 18 Aug 2016 14:23:30 +0000 (08:23 -0600)]
layers: Add detection for in-use query pool & clean-up destroys

Flag error if in-use query pool is destroyed.
Unify in-use error reporting to use common function ValidateObjectNotInUse().

Clean up Destroy functions to only remove objects from maps if skip is not set
for semaphores, events, querypool, pipeline

8 years agolayers: Flag error on destroyed pipeline in-use
Tobin Ehlis [Thu, 18 Aug 2016 13:58:33 +0000 (07:58 -0600)]
layers: Flag error on destroyed pipeline in-use

8 years agolayers: Flag error on destroyed sampler in-use
Tobin Ehlis [Thu, 18 Aug 2016 03:01:38 +0000 (21:01 -0600)]
layers: Flag error on destroyed sampler in-use

8 years agolayers: correct param in vkCmdDebugMarkerEndEXT
Arda Coskunses [Thu, 8 Sep 2016 05:41:07 +0000 (23:41 -0600)]
layers: correct param in vkCmdDebugMarkerEndEXT

8 years agoloader: Cleanup 1.0.25 extension work
Mark Young [Wed, 7 Sep 2016 14:50:32 +0000 (08:50 -0600)]
loader: Cleanup 1.0.25 extension work

Remove adding extensions from being exported from loader by
default.  Add in logic to only export entry points if extensions
are enabled.

Change-Id: I56e0c673925869e0d4482ee401ea19e43a05267f

8 years agolayers: correct typo vkExternalMemoryHandleTypeFlagsNV
Arda Coskunses [Wed, 7 Sep 2016 18:31:35 +0000 (12:31 -0600)]
layers: correct typo vkExternalMemoryHandleTypeFlagsNV

Change-Id: Ifb9a7c7a2ff46580b85a07fa92d8cd44f95e1ce6

8 years agolayers: Rename pCB to cb_node
Tobin Ehlis [Wed, 7 Sep 2016 02:40:29 +0000 (20:40 -0600)]
layers: Rename pCB to cb_node

Just updating functions as I touch them to avoid too much noise.

8 years agolayers: Print framebuffer object type
Tobin Ehlis [Wed, 7 Sep 2016 02:37:39 +0000 (20:37 -0600)]
layers: Print framebuffer object type

Distinguish "framebuffer" object type from "buffer" when printing
object type for output messages.

8 years agolayers: Add cmd buffer binding for fb images
Tobin Ehlis [Wed, 7 Sep 2016 02:37:01 +0000 (20:37 -0600)]
layers: Add cmd buffer binding for fb images

Fixes #915

When binding framebuffer to command buffer, we need to also bind the
underlying images. Then, if images are destroyed, the cmd buffer
will correctly be marked as invalid and an error will be flagged if
an attempt to submit the cmd buffer is made.

8 years agoheader: Bump vulkan.hpp to 1.0.26
Lenny Komow [Wed, 7 Sep 2016 15:18:38 +0000 (09:18 -0600)]
header: Bump vulkan.hpp to 1.0.26

8 years agobuild: gh850 support msys
Mark Young [Tue, 6 Sep 2016 20:45:06 +0000 (14:45 -0600)]
build: gh850 support msys

When we detect msys as a platform, we should behave as if it is
a Win32 system.  Otherwise, the build will be broken in the msys
shell.

Change-Id: I088f954ca968c9ce21bc7bbe7bfaa7732dd82a73

8 years agolayers: Add error for CmdEndRenderPass before reaching final subpass
Chris Forbes [Wed, 7 Sep 2016 02:08:31 +0000 (14:08 +1200)]
layers: Add error for CmdEndRenderPass before reaching final subpass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make CmdEndRenderPass more careful about side effects on failure
Chris Forbes [Wed, 7 Sep 2016 01:52:28 +0000 (13:52 +1200)]
layers: Make CmdEndRenderPass more careful about side effects on failure

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: add error to CmdNextSubpass if stepping beyond last subpass
Chris Forbes [Tue, 6 Sep 2016 23:44:08 +0000 (11:44 +1200)]
layers: add error to CmdNextSubpass if stepping beyond last subpass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make CmdNextSubpass more careful about side effects on failure
Chris Forbes [Tue, 6 Sep 2016 23:43:52 +0000 (11:43 +1200)]
layers: Make CmdNextSubpass more careful about side effects on failure

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add MEMTRACK_INVALID_MEM_REGION error
Tobin Ehlis [Wed, 7 Sep 2016 00:46:55 +0000 (18:46 -0600)]
layers: Add MEMTRACK_INVALID_MEM_REGION error

Add new enum value "MEMTRACK_INVALID_MEM_REGION" to track case when a
region of an allocation bound to an image or buffer is not valid due
to the memory not being correctly updated.

This was previously aliased to USAGE_FLAG case which was masking the fact
that there are no tests written for this invalid mem region case.

8 years agolayers: Clarify invalid memory message
Tobin Ehlis [Wed, 7 Sep 2016 00:12:07 +0000 (18:12 -0600)]
layers: Clarify invalid memory message

Fixes #906

When reporting an invalid memory region, include the object type and
handle that is bound to that region.

8 years agoloader: Bump SOVERSION to 1.0.26
Mark Lobodzinski [Tue, 6 Sep 2016 22:32:34 +0000 (16:32 -0600)]
loader: Bump SOVERSION to 1.0.26

Change-Id: Ibe1378fe08686a88ae95dd1484c69ca71e2de6d3

8 years agolayers: Move Windows json files to version 1.0.26
Mark Lobodzinski [Tue, 6 Sep 2016 22:31:43 +0000 (16:31 -0600)]
layers: Move Windows json files to version 1.0.26

Change-Id: I8fb17f80ef3e83d04aa4868b3442a19a13feff8f

8 years agolayers: Move Linux json files to version 1.0.26
Mark Lobodzinski [Tue, 6 Sep 2016 22:30:58 +0000 (16:30 -0600)]
layers: Move Linux json files to version 1.0.26

Change-Id: Ia42d6867ba4a2c6bae4eae522c3f65d5a87567bd

8 years agoheader: Move vk.xml to verison 1.0.26
Mark Lobodzinski [Tue, 6 Sep 2016 22:29:05 +0000 (16:29 -0600)]
header: Move vk.xml to verison 1.0.26

Change-Id: Ie2bc2b5c15c4bad19083081727c88647113e3725

8 years agoheader: Move vulkan.h to version 1.0.26
Mark Lobodzinski [Tue, 6 Sep 2016 22:21:40 +0000 (16:21 -0600)]
header: Move vulkan.h to version 1.0.26

Note that part of these changes were made in a previous commit
that reversed the ValidationFlags changes.

Change-Id: I11cccfaa79e6dfa9e8ed276608612d56386f893a

8 years agoloader: Clean up failure handling in loader
Mark Young [Tue, 6 Sep 2016 19:53:03 +0000 (13:53 -0600)]
loader: Clean up failure handling in loader

The terminator_CreateInstance had a few extra things I wanted to
clean up.

Change-Id: Ia9246a44c3233f7f1b41289f6917ac107b8cf3a2

8 years agoloader: gh901 Fix loader w multiple ICDs
Mark Young [Tue, 6 Sep 2016 15:53:45 +0000 (09:53 -0600)]
loader: gh901 Fix loader w multiple ICDs

When an ICD failed during CreateInstance time, the loader needs
to remove the ICD from the list of available ICDs.

Change-Id: Id27a971e401ec9475b9488bdd95298e0f509f6b7

8 years agolayers: Use actual enum type name in err msg
Karl Schultz [Tue, 6 Sep 2016 16:26:09 +0000 (10:26 -0600)]
layers: Use actual enum type name in err msg

Change-Id: I4e7933349068984d7c99577158b6ff272e1d5282

8 years agowinsdk: Fix releases showing as older than alphas
Lenny Komow [Fri, 2 Sep 2016 20:05:45 +0000 (14:05 -0600)]
winsdk: Fix releases showing as older than alphas

8 years agoloader: Clean up loader_init_generic_list
Mark Young [Fri, 2 Sep 2016 17:45:00 +0000 (11:45 -0600)]
loader: Clean up loader_init_generic_list

Modify loader_init_generic_list so that it returns with count
and capacity of 0 if an error occurs.

Change-Id: I916f0dc0bf54a7897cf375bec0647f0379db1d0a

8 years agoloader: Rename DevExt to dev_ext
Mark Young [Fri, 2 Sep 2016 17:41:28 +0000 (11:41 -0600)]
loader: Rename DevExt to dev_ext

Make a quick change to conform a structure element to the coding
standard.

Change-Id: Icbf168b1ab451dcc4847a0c2c17d0cb40c0197b8

8 years agoloader: Modify loader_make_version
Mark Young [Fri, 2 Sep 2016 17:39:26 +0000 (11:39 -0600)]
loader: Modify loader_make_version

Modified loader_make_version to match the way we calculate the
version in other places.

Change-Id: Ia15e71fcfc0690836ed8ce1a3e9b6911988b57ff

8 years agobuild: Restore default symbol visibility to layers/tests
Karl Schultz [Fri, 2 Sep 2016 17:13:16 +0000 (11:13 -0600)]
build: Restore default symbol visibility to layers/tests

Layer tests broke with a previous commit to fix CXX
flags inheritance.  This commit repairs the problem.

Change-Id: Id54cfb737f32b6f11a4146225cc22e0b155ba2ba

8 years agobuild: gh672 Fix CMake CXX_FLAGS inheritance
Karl Schultz [Fri, 2 Sep 2016 16:17:05 +0000 (10:17 -0600)]
build: gh672 Fix CMake CXX_FLAGS inheritance

Some sub-projects were overwriting CMAKE_CXX_FLAGS instead of
inheriting from the parent.  This keeps any user settings outside
or above the top CMakeLists.txt file from reaching these sub-projects.

These fixes include preserving the inheritance, adding extra flags
to turn off warnings (mostly in autogen code) because the top
level turns on Wall, and trivial code fixes to avoid the need to
add a setting to turn off a warning for those trivial fixes.

These changes should have no impact on Windows.

Change-Id: I0c3c175cb5058f26a259ee3f4fde9fdaf3e6b00d

8 years agouse "exit /b", not "exit"
Jeff Juliano [Fri, 2 Sep 2016 12:24:25 +0000 (08:24 -0400)]
use "exit /b", not "exit"

"exit" terminates the cmd shell that invoked this script.

"exit /b" terminates only this bat script.

Change-Id: I1207545944ac2809c8f45a70f37e88cbdbc80aac

8 years agoFix VK_NV_external_memory_capabilities support
James Jones [Thu, 18 Aug 2016 22:41:19 +0000 (23:41 +0100)]
Fix VK_NV_external_memory_capabilities support

-Need to init the instance function pointer

-The function should gracefully fall back on
 drivers that don't support it.

Change-Id: I15b0c68028c8f5ad3b07342e255dbb4c37bb6f0a

8 years agodocs: Fix "Cautions" title
Mark Young [Thu, 1 Sep 2016 19:43:04 +0000 (13:43 -0600)]
docs: Fix "Cautions" title

GitHub Markdown doesn't support the sub-section we tried to use.
Instead, make this plain text, underlined and bolded.

Change-Id: Id20275c79f06b59c39ab9a9d118ddcbea6110ffa

8 years agoloader: gh851 wrap debug report callbacks
Mark Young [Thu, 25 Aug 2016 20:54:58 +0000 (14:54 -0600)]
loader: gh851 wrap debug report callbacks

Allow layers to wrap the debug report callbacks so they can
enable more messaging than the application, but also filter
the items returned.

Change-Id: I3fe8feecfa1838869de8a7338ff610e5ebca2e61

8 years agoheader: fix vulkan.hpp detection of 64-bit arch
Endre Oma [Thu, 1 Sep 2016 15:56:41 +0000 (17:56 +0200)]
header: fix vulkan.hpp detection of 64-bit arch

The generator that produced vulkan.hpp for 1.0.25 seemed to ignore the 64-bit architecture test, thereby breaking 64-bit builds.
The macro VK_DEFINE_NON_DISPATCHABLE_HANDLE is always defined according to vulkan.h.

8 years agolayers: Fix reporting of multiple allowed image view types
Chris Forbes [Wed, 31 Aug 2016 19:58:14 +0000 (12:58 -0700)]
layers: Fix reporting of multiple allowed image view types

This isn't the problem we were hitting in #890, but we'd produce a misleading message if multiple bits were allowed

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Don't spuriously produce an error if there are no view type bits set
Chris Forbes [Wed, 31 Aug 2016 19:00:35 +0000 (12:00 -0700)]
layers: Don't spuriously produce an error if there are no view type bits set

Previously we'd complain about any input attachment, since we don't constrain
its view type at all.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Impose singlesample/multisample constraints on input attachment descriptors
Chris Forbes [Wed, 31 Aug 2016 18:59:48 +0000 (11:59 -0700)]
layers: Impose singlesample/multisample constraints on input attachment descriptors

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agoloader: Update script names with correct ext name
Mark Young [Thu, 1 Sep 2016 15:18:45 +0000 (09:18 -0600)]
loader: Update script names with correct ext name

lunarg_debug_report is now called ext_debug_report.

Change-Id: Ieceb323ac0a05def2f49ae399460b02b1e245639

8 years agoloader: gh888 Add KHR/EXT extensions in vulkan.h
Mark Young [Fri, 1 Jul 2016 21:18:27 +0000 (15:18 -0600)]
loader: gh888 Add KHR/EXT extensions in vulkan.h

Add the KHR_display_swapchain device extension to the loader
and the core_validation layers.  This fulfills the work required in
JIRA LOAD-7 and gh 90.

Add debug_marker to the extension list.

Change-Id: I1fb70e5d44bc8c1f70fd6d1cfbd106a155081b25

8 years agoAdd new text to discuss wrapping of objects, including cautions.
Ian Elliott [Wed, 31 Aug 2016 20:08:44 +0000 (14:08 -0600)]
Add new text to discuss wrapping of objects, including cautions.

This describes the process of wrapping and unwrapping objects, and provides
some cautions about the dangers of layers wrapping objects
(e.g. incompatibilities with unsupported extensions).

8 years agoheader: Update vulkan.hpp to 1.0.25
Lenny Komow [Wed, 31 Aug 2016 21:03:49 +0000 (15:03 -0600)]
header: Update vulkan.hpp to 1.0.25

8 years agoloader: Fixed some types and comments
Mark Lobodzinski [Wed, 31 Aug 2016 15:31:29 +0000 (09:31 -0600)]
loader: Fixed some types and comments

Change-Id: I66a5745a948c6677895950fdd48395afd5152ad7

8 years agoloader: Add support for NV device extension
Mark Lobodzinski [Mon, 29 Aug 2016 21:36:23 +0000 (15:36 -0600)]
loader: Add support for NV device extension

Added vkGetMemoryWin32HandleNV from the VK_NV_external_memory_win32
extension to the loader.

Change-Id: If6a959f126cc48ebf2608ed6e113e2883deae871

8 years agoloader: Add support for AMD device extension
Mark Lobodzinski [Mon, 29 Aug 2016 20:54:34 +0000 (14:54 -0600)]
loader: Add support for AMD device extension

Added vkCmdDrawIndirectCountAMD and vkCmdDrawIndexedIndirectCountAMD
from the VK_AMD_draw_indirect_count extension to the loader.

Change-Id: I4e1810dd6efcc54291a35d1ce9a15e59830689f3

8 years agoloader: Add support for NV instance extension
Mark Lobodzinski [Mon, 29 Aug 2016 20:21:14 +0000 (14:21 -0600)]
loader: Add support for NV instance extension

Added vkGetPhysicalDeviceExternalImageFormat API from the
VK_NV_external_memory_capabilities extension to the loader.

Change-Id: Ib87df7bae333d7944a4e181556bc2f99e1e19416

8 years agolayers: Update dispatch tables for new 1.0.25 APIs
Mark Lobodzinski [Mon, 29 Aug 2016 18:14:55 +0000 (12:14 -0600)]
layers: Update dispatch tables for new 1.0.25 APIs

Change-Id: I001583402bc99f923a776b238a82db5a60398f03

8 years agolayers: Update vulkan.py for new extension APIs
Mark Lobodzinski [Mon, 29 Aug 2016 17:56:02 +0000 (11:56 -0600)]
layers: Update vulkan.py for new extension APIs

Added extension protos and update extension lists for
VK_AMD_draw_indirect_count, VK_NV_external_memory_capabilities,
and VK_NV_external_memory_win32 new for header version 1.0.25.

Change-Id: Ifac0a2b4b7e36a8f907622e002ec419cc7c54f87

8 years agoloader: Bump SOVERSION to 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:22:21 +0000 (09:22 -0600)]
loader: Bump SOVERSION to 1.0.25

Change-Id: I90a667a45cb02fb582fc59cbe0725ac633780d2d

8 years agolayers: Move windows json files to version 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:21:24 +0000 (09:21 -0600)]
layers: Move windows json files to version 1.0.25

Change-Id: I063b38477237c9cd7966131361c44f859fc0d485

8 years agolayers: Move linux json files to version 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:20:07 +0000 (09:20 -0600)]
layers: Move linux json files to version 1.0.25

Change-Id: Ice0f12ffea3c4702b9ea288fbe0e155a810185f5

8 years agoheader: Remove ValidationFlags changes from vk.xml
Mark Lobodzinski [Tue, 30 Aug 2016 20:11:39 +0000 (14:11 -0600)]
header: Remove ValidationFlags changes from vk.xml

The validation_flags features will be moved into an extension.

Change-Id: I05e0642c253f0c39361049b3677cdd037cb2a9ef

8 years agoheader: Move vk.xml to version 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:17:23 +0000 (09:17 -0600)]
header: Move vk.xml to version 1.0.25

Change-Id: I7f24c5a5cbfa00e3f8bc331b63fb26c8912da2dd

8 years agoheader: Move vk_platform.h to version 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:16:59 +0000 (09:16 -0600)]
header: Move vk_platform.h to version 1.0.25

Change-Id: I71d8609bbd75af5832923c94e0fee9f1b2b0fcac

8 years agoheader: Remove ValidationFlags changes from vulkan.h
Mark Lobodzinski [Tue, 30 Aug 2016 20:11:18 +0000 (14:11 -0600)]
header: Remove ValidationFlags changes from vulkan.h

The validation_flags features will be moved into an extension.

Change-Id: I435e75da8d8917f876e5bc904922cda26a87845a

8 years agoheader: Move vulkan.h to version 1.0.25
Mark Lobodzinski [Mon, 29 Aug 2016 15:02:13 +0000 (09:02 -0600)]
header: Move vulkan.h to version 1.0.25

Change-Id: I2ad2c33c720f992953e8d5886dc2c55ad789fe83

8 years agodoc: Update loaderandlayerinterface
Mark Young [Wed, 31 Aug 2016 17:53:26 +0000 (11:53 -0600)]
doc: Update loaderandlayerinterface

Added more information about layer wrapping, specifically requiring
support for extensions.

Change-Id: Ie60952f41c976b8e0245810c550b133dc5843097