platform/upstream/Vulkan-Tools.git
9 years agolayers: Add documentation for SHADER_CHECKER_MISSING_DESCRIPTOR
Cody Northrop [Fri, 18 Sep 2015 17:26:59 +0000 (11:26 -0600)]
layers: Add documentation for SHADER_CHECKER_MISSING_DESCRIPTOR

9 years agolayers: Require pipeline layout to contain all referenced descriptors
Chris Forbes [Fri, 14 Aug 2015 00:04:59 +0000 (12:04 +1200)]
layers: Require pipeline layout to contain all referenced descriptors

If the SPIRV image uses a descriptor (for constant buffer, image, etc)
we must declare it in the pipeline layout.

We won't complain about unused junk in the pipeline layout, but not
declaring something that *is* used is an error.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
9 years agolayers: Collect descriptor usage from SPIRV images
Chris Forbes [Fri, 14 Aug 2015 00:04:39 +0000 (12:04 +1200)]
layers: Collect descriptor usage from SPIRV images

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
9 years agolayers: Shadow descriptor set layout in ShaderChecker
Chris Forbes [Wed, 12 Aug 2015 03:03:22 +0000 (15:03 +1200)]
layers: Shadow descriptor set layout in ShaderChecker

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
9 years agolayers: Update DrawState array of PIPELINE_NODEs to be vector
Tobin Ehlis [Thu, 17 Sep 2015 22:33:58 +0000 (16:33 -0600)]
layers: Update DrawState array of PIPELINE_NODEs to be vector

9 years agolayers: Add return value for Generic vkCreateInstance() function
Tobin Ehlis [Thu, 17 Sep 2015 22:27:04 +0000 (16:27 -0600)]
layers: Add return value for Generic vkCreateInstance() function

9 years agomisc: Enable nulldriver on Linux
Courtney Goeltzenleuchter [Thu, 17 Sep 2015 17:16:47 +0000 (11:16 -0600)]
misc: Enable nulldriver on Linux

Build the null driver on linux so it's easier to keep it up-to-date
with header changes.

9 years agobug 14537: nulldrv: add CreateFlags to ImageFormatProperties
Courtney Goeltzenleuchter [Thu, 17 Sep 2015 17:21:14 +0000 (11:21 -0600)]
bug 14537: nulldrv: add CreateFlags to ImageFormatProperties

9 years agonulldrv: Remove unused function
Courtney Goeltzenleuchter [Thu, 17 Sep 2015 17:19:46 +0000 (11:19 -0600)]
nulldrv: Remove unused function

9 years agonulldrv: Remove return code for void functions
Courtney Goeltzenleuchter [Thu, 17 Sep 2015 17:18:22 +0000 (11:18 -0600)]
nulldrv: Remove return code for void functions

9 years agomisc: bump header version to 170
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 23:01:46 +0000 (17:01 -0600)]
misc: bump header version to 170

This is version of header included in the provisional spec release
branch: release_provisional_I_20150910

9 years agoBug 14318: Clarify image layout transitions in a RenderPass
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 22:38:23 +0000 (16:38 -0600)]
Bug 14318: Clarify image layout transitions in a RenderPass

merge request 337.

9 years agobug 14640: add pNext/sType to VkDeviceQueueCreateInfo
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 22:23:55 +0000 (16:23 -0600)]
bug 14640: add pNext/sType to VkDeviceQueueCreateInfo

9 years agoBug 14644 - add poolUsage/maxSets to VkDescriptorPoolCreateInfo
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 22:12:45 +0000 (16:12 -0600)]
Bug 14644 - add poolUsage/maxSets to VkDescriptorPoolCreateInfo

Bug 14644 - vkCreateDescriptorPool should have poolUsage/maxSets as part of VkDescriptorPoolCreateInfo
merge request #342

9 years agobug 14437: Remove VK_PIPELINE_STAGE_TRANSITION_BIT
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 21:47:14 +0000 (15:47 -0600)]
bug 14437: Remove VK_PIPELINE_STAGE_TRANSITION_BIT

9 years agomisc: Bump header version
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 18:59:15 +0000 (12:59 -0600)]
misc: Bump header version

9 years agoshader_checker: Do not hold lock across API call.
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 18:57:55 +0000 (12:57 -0600)]
shader_checker: Do not hold lock across API call.

9 years agobug 14564: and initial layout for image creation
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 18:02:52 +0000 (12:02 -0600)]
bug 14564: and initial layout for image creation

9 years agomisc: Add maxVertexInputBindings
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 18:00:18 +0000 (12:00 -0600)]
misc: Add maxVertexInputBindings

Merge request 298.

9 years agomisc: code movement due to header build changes
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 17:51:46 +0000 (11:51 -0600)]
misc: code movement due to header build changes

9 years agoBug 14643: use VkClearDepthStencilValue
Courtney Goeltzenleuchter [Wed, 16 Sep 2015 00:03:22 +0000 (18:03 -0600)]
Bug 14643: use VkClearDepthStencilValue

9 years agobug-14538: Remove validation error codes
Courtney Goeltzenleuchter [Tue, 15 Sep 2015 00:01:17 +0000 (18:01 -0600)]
bug-14538: Remove validation error codes

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14538

9 years agobug 14509: Rename Layer and Extension queries
Courtney Goeltzenleuchter [Mon, 14 Sep 2015 23:22:16 +0000 (17:22 -0600)]
bug 14509: Rename Layer and Extension queries

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14509
https://gitlab.khronos.org/vulkan/vulkan/merge_requests/334

9 years agolayers: Move some fixed code into header files for APIDump and Generic
Jon Ashburn [Thu, 17 Sep 2015 21:28:12 +0000 (15:28 -0600)]
layers: Move some fixed code into header files for APIDump and Generic

9 years agolayers: Fix intercept of WSI instance entrypoints
Jon Ashburn [Thu, 17 Sep 2015 16:00:32 +0000 (10:00 -0600)]
layers: Fix intercept of WSI instance entrypoints

ApiDump, Generic, ObjectTracker now intrcept WSI instance entrypoint and
only intercept if the extension is enabled

9 years agolayers: Fix several bugs in WSI extension handling in layers
Jon Ashburn [Thu, 17 Sep 2015 00:08:32 +0000 (18:08 -0600)]
layers: Fix several bugs in WSI extension handling in layers

Layers weren't intercepting the WSI device extensions proerly, or weren't
NOT intercepting them if the extension wasn't enabled.  Fixes to APIDump,
Generic, ScreenShot, MemTracker, ObjectTracker

9 years agolayers: No assert on init instance table map.size != 1
Jon Ashburn [Wed, 16 Sep 2015 23:27:31 +0000 (17:27 -0600)]
layers: No assert on init instance table map.size != 1

Instance table map can have more than one entry if multiple instances.

9 years agolayers: Remove the DEBUG_REPORT entrypoints from device dispatch structure.
Jon Ashburn [Tue, 15 Sep 2015 22:59:18 +0000 (16:59 -0600)]
layers: Remove the DEBUG_REPORT entrypoints from device dispatch structure.

these entrypoints are instance level.

9 years agoloader: Remove windows disable of global optimization.
Jon Ashburn [Tue, 15 Sep 2015 19:37:52 +0000 (13:37 -0600)]
loader: Remove windows disable of global optimization.

Now that vktrace now longer uses mhook, can reenable global optimize on Windows.

9 years agolayers: Update DrawState to handle creation of multiple gfx pipelines
Tobin Ehlis [Wed, 16 Sep 2015 16:33:53 +0000 (10:33 -0600)]
layers: Update DrawState to handle creation of multiple gfx pipelines

9 years agolayers: Various memtracker TODOs, fixed some error messages
Mark Lobodzinski [Tue, 15 Sep 2015 22:10:17 +0000 (16:10 -0600)]
layers: Various memtracker TODOs, fixed some error messages

9 years agolayers: Update vk_layer_settings.txt to clarify CALLBACK option and change DebugActio...
Tobin Ehlis [Thu, 17 Sep 2015 15:15:21 +0000 (09:15 -0600)]
layers: Update vk_layer_settings.txt to clarify CALLBACK option and change DebugAction for all layers to "LOG_MSG"

9 years agolayers: Improve invalid object checks of ObjectTracker
Tobin Ehlis [Tue, 15 Sep 2015 21:02:17 +0000 (15:02 -0600)]
layers: Improve invalid object checks of ObjectTracker

ObjectTracker now correctly stores queried PhysicalDevice and Queue information and validates that these objects are correct whenever passed in as params. Now handling arrays of Objects passed into API functions as parameters. Removed special exceptions for VkFence, VkDeviceMemory, and VkImage types that were causing them to skip some checks.

Moved a few validation tests that had been under MemTracker into ObjectTracker as it now catches the invalid VkImage and VkDeviceMemory cases. Updated master document to reflect this.

9 years agodemos: trivial fixes for cube problems
Tony Barbour [Wed, 16 Sep 2015 21:01:32 +0000 (15:01 -0600)]
demos: trivial fixes for cube problems

9 years agoloader: Need to init instance dispatch without layers
Courtney Goeltzenleuchter [Fri, 7 Aug 2015 15:53:18 +0000 (09:53 -0600)]
loader: Need to init instance dispatch without layers

Application that enabled DEBUG_REPORT but did not register
any layers would get into a deadlock due to improperly
initialized instance dispatch table.

9 years agolayers: Add return value to non-void function
Cody Northrop [Wed, 16 Sep 2015 14:35:29 +0000 (08:35 -0600)]
layers: Add return value to non-void function

9 years agolayers: Migrate Fence checks from ObjectTracker to MemTracker
Tobin Ehlis [Mon, 14 Sep 2015 19:25:57 +0000 (13:25 -0600)]
layers: Migrate Fence checks from ObjectTracker to MemTracker

9 years agolayers: Example vk_layer_settings.txt file
Tobin Ehlis [Tue, 15 Sep 2015 15:54:07 +0000 (09:54 -0600)]
layers: Example vk_layer_settings.txt file

9 years agolayers: Fix layer STDOUT logging
Tobin Ehlis [Tue, 15 Sep 2015 15:55:54 +0000 (09:55 -0600)]
layers: Fix layer STDOUT logging

9 years agolayers: Migrate MemTracker to allow log_msg callback to signal early return
Mark Lobodzinski [Mon, 14 Sep 2015 23:43:42 +0000 (17:43 -0600)]
layers: Migrate MemTracker to allow log_msg callback to signal early return

9 years agodemos/tests: Fix aspectMask updates in a few spots
Cody Northrop [Mon, 14 Sep 2015 19:48:12 +0000 (13:48 -0600)]
demos/tests: Fix aspectMask updates in a few spots

9 years agolayers: Another CreateDevice fix (was using WSI instance extension name)
Ian Elliott [Tue, 15 Sep 2015 18:14:41 +0000 (12:14 -0600)]
layers: Another CreateDevice fix (was using WSI instance extension name)

9 years agolayers: Check if CreateDevice enabling WSI device extension, not instance
Ian Elliott [Tue, 15 Sep 2015 17:55:46 +0000 (11:55 -0600)]
layers: Check if CreateDevice enabling WSI device extension, not instance

Some of the layers were checking whether VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME
(the WSI instance extension) is in the list of device extensions being enabled.
This is wrong.  They should be checking whether
VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME (the WSI device extension) is in the
list of device extensions being enabled.

9 years agovktrace: Really put vktrace_layer.json and vktrace_layer.dll in the correct output...
David Pinedo [Tue, 15 Sep 2015 16:58:27 +0000 (10:58 -0600)]
vktrace:  Really put vktrace_layer.json and vktrace_layer.dll in the correct output dirs

This time for sure!

9 years agovktrace: Put vktrace_layer.json and vktrace_layer.dll in the correct output dirs
David Pinedo [Tue, 15 Sep 2015 16:25:09 +0000 (10:25 -0600)]
vktrace: Put vktrace_layer.json and vktrace_layer.dll in the correct output dirs

9 years agobug-14583: Remove the unneeded vkBufferViewType
Courtney Goeltzenleuchter [Mon, 14 Sep 2015 22:36:13 +0000 (16:36 -0600)]
bug-14583: Remove the unneeded vkBufferViewType

No longer have viewType to distinguish the type, so pull
it internal and use for descriptor sets.

9 years agoBug 14583: Updates based on initial feedback
Courtney Goeltzenleuchter [Mon, 14 Sep 2015 20:14:21 +0000 (14:14 -0600)]
Bug 14583: Updates based on initial feedback

9 years agoBug 14583: Remove VkBufferView for UBO/SSBO descriptor types
Courtney Goeltzenleuchter [Fri, 11 Sep 2015 21:29:21 +0000 (15:29 -0600)]
Bug 14583: Remove VkBufferView for UBO/SSBO descriptor types

For descriptor types:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
No longer need to create a VkBufferView, instead can
put the buffer, offset and range directly into a descriptor.
Many places in the driver assumed it could point to a persistent
buffer view and that is no longer the case. Now cache the
view info rather than a pointer to deal with that.

9 years agovulkan: Add maxDescriptorSet*BuffersDynamic to limits
Courtney Goeltzenleuchter [Fri, 11 Sep 2015 17:47:05 +0000 (11:47 -0600)]
vulkan: Add maxDescriptorSet*BuffersDynamic to limits

9 years agovulkan: Add missing _BIT to some bitfield enums.
Courtney Goeltzenleuchter [Fri, 11 Sep 2015 17:40:48 +0000 (11:40 -0600)]
vulkan: Add missing _BIT to some bitfield enums.

Merge request #290 (https://gitlab.khronos.org/vulkan/vulkan/merge_requests/290)

9 years agovulkan: Bump version to 166
Courtney Goeltzenleuchter [Fri, 11 Sep 2015 17:31:32 +0000 (11:31 -0600)]
vulkan: Bump version to 166

9 years agoBug 12998: change ImageSubresourceRange's aspect to aspectMask
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 23:58:54 +0000 (17:58 -0600)]
Bug 12998: change ImageSubresourceRange's aspect to aspectMask

9 years agoBug 12998: change imageAspectMast to aspectMask
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 23:25:42 +0000 (17:25 -0600)]
Bug 12998: change imageAspectMast to aspectMask

change vkCmdClearDepthStencilAttachment imageAspectMast to aspectMask

9 years agobug 14313: Allow copies to do multi-layer copies
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 22:41:13 +0000 (16:41 -0600)]
bug 14313: Allow copies to do multi-layer copies

9 years agolayers: Migrate ObjectTracker to updated Validation error reporting
Tobin Ehlis [Fri, 11 Sep 2015 18:57:55 +0000 (12:57 -0600)]
layers: Migrate ObjectTracker to updated Validation error reporting

9 years agolayers: Fix spurious WSI memory binding error messages in MemTracker
Mark Lobodzinski [Fri, 11 Sep 2015 21:56:51 +0000 (15:56 -0600)]
layers: Fix spurious WSI memory binding error messages in MemTracker

Bug caused invalid errors in some games.

9 years agolayers: Migrate DrawState to new error reporting allowing for callback to signal...
Tobin Ehlis [Wed, 9 Sep 2015 17:31:10 +0000 (11:31 -0600)]
layers: Migrate DrawState to new error reporting allowing for callback to signal early return

9 years agoBug 12998: Document required depth formats and layouts in buffer memory
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 23:17:43 +0000 (17:17 -0600)]
Bug 12998: Document required depth formats and layouts in buffer memory

9 years agobug 14530: Remove IMAGE_CREATE_INVARIANT_DATA_BIT
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 23:06:03 +0000 (17:06 -0600)]
bug 14530: Remove IMAGE_CREATE_INVARIANT_DATA_BIT

9 years agoBug 14587: Rename flags: XXX_CREATE_SPARSE_BIT
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 23:00:22 +0000 (17:00 -0600)]
Bug 14587: Rename flags: XXX_CREATE_SPARSE_BIT

XXX_CREATE_SPARSE_BIT --> XXX_CREATE_SPARSE_BINDING_BIT

9 years agobug 14313: Rename ArraySlice to ArrayLayer
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 22:38:41 +0000 (16:38 -0600)]
bug 14313: Rename ArraySlice to ArrayLayer

9 years agoBug 14313: Remove VK_FORMAT_FEATURE_CONVERSION_BIT
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 22:25:49 +0000 (16:25 -0600)]
Bug 14313: Remove VK_FORMAT_FEATURE_CONVERSION_BIT

9 years agobug 14516: rename VK_IMAGE_USAGE_DEPTH_STENCIL_BIT
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 20:14:11 +0000 (14:14 -0600)]
bug 14516: rename VK_IMAGE_USAGE_DEPTH_STENCIL_BIT

into VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT

9 years agobug 14541: rename VkTexAddress to VkTexAddressMode
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 20:08:50 +0000 (14:08 -0600)]
bug 14541: rename VkTexAddress to VkTexAddressMode

9 years agobug 14537: Improve VkImageFormatProperties
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 19:44:12 +0000 (13:44 -0600)]
bug 14537: Improve VkImageFormatProperties

9 years agoBug 14537: Improve VkImageFormatProperties
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 19:28:52 +0000 (13:28 -0600)]
Bug 14537: Improve VkImageFormatProperties

Commit: e45df2e

9 years agobug-13139: refactor sparse properties
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 18:54:32 +0000 (12:54 -0600)]
bug-13139: refactor sparse properties

9 years agolayers: Reenable MemTracker reference tracking
Mark Lobodzinski [Thu, 10 Sep 2015 14:15:23 +0000 (08:15 -0600)]
layers: Reenable MemTracker reference tracking

Which was disabled during the type-safety dark times.

9 years agonulldrv: Fix compiler issues
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 17:23:57 +0000 (11:23 -0600)]
nulldrv: Fix compiler issues

9 years agovulkan.h: Change return types of some functions to void
Mark Lobodzinski [Mon, 7 Sep 2015 19:59:43 +0000 (13:59 -0600)]
vulkan.h: Change return types of some functions to void

Functions that should be thought of as "impossible to fail in the face
of valid parameters" have had their return types changed to void.
This includes all of the vkDestroy functions, vkFreeMemory, and vkUnmapMemory.
vkUpdateDescriptorSets is also included, because of the frequency the function
is expected to be called.

9 years agolayers: Add note about vkCreateDevice behavior
Courtney Goeltzenleuchter [Tue, 8 Sep 2015 23:42:57 +0000 (17:42 -0600)]
layers: Add note about vkCreateDevice behavior

9 years agovulkan: Add validation error result
Courtney Goeltzenleuchter [Tue, 8 Sep 2015 23:27:30 +0000 (17:27 -0600)]
vulkan: Add validation error result

When running with validation layers a validation layer
may abort an API call (due to app callback indicating so).
Since there are no validation error codes in vulkan.h
we need to define one here to return for such cases.
Details of the validation failure are available via the
DEBUG_REPORT callback.

9 years agodemos: Do not bail on validation error
Courtney Goeltzenleuchter [Tue, 8 Sep 2015 22:57:22 +0000 (16:57 -0600)]
demos: Do not bail on validation error

9 years agodraw_state: Implement bailout case for one test
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 21:03:52 +0000 (15:03 -0600)]
draw_state: Implement bailout case for one test

Proof out the bailout case. Fill in others in following
commit(s)

9 years agolayers: Add bailout flag to debug report callback
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:52:24 +0000 (13:52 -0600)]
layers: Add bailout flag to debug report callback

Layer validation tests will deliberately induce
errors that the validation layer should catch.
In these cases we don't really want the layer to call
down the chain once it's detected a failure. We can't
know that in the layer so changing the return value
on the callback from void to VkBool32 so that the
callback can indicate if the call should continue
or not. true = bail.
That allows the call chain to execute normally,
not segfault in the driver and allow the test
to clean things up.

9 years agomem_tracker: validation comment
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:47:07 +0000 (13:47 -0600)]
mem_tracker: validation comment

9 years agobug-14538: Remove driver validation checks
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:39:59 +0000 (13:39 -0600)]
bug-14538: Remove driver validation checks

Marked validation checks done in the driver with
TODOVV. Once we verify the check is covered in a
validation layer we can remove the driver code.

9 years agolayers: Remove unused functions
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:18:58 +0000 (13:18 -0600)]
layers: Remove unused functions

9 years agolayers: Add DeviceLimits json files
Cody Northrop [Thu, 10 Sep 2015 15:48:42 +0000 (09:48 -0600)]
layers: Add DeviceLimits json files

9 years agolayers: In DrawState only validate bound VBO index at the time of Draw
Tobin Ehlis [Wed, 9 Sep 2015 21:12:35 +0000 (15:12 -0600)]
layers: In DrawState only validate bound VBO index at the time of Draw

Previously validating this at the time of VBO bound and when PSO bound. This could result in checking against stale state, though, and thereby causing false positives.

9 years agolayers: DrawState fix to prevent false positives when matching PipelineLayouts
Tobin Ehlis [Wed, 9 Sep 2015 19:31:01 +0000 (13:31 -0600)]
layers: DrawState fix to prevent false positives when matching PipelineLayouts

Updated existing check where PipelineLayout found with vkBindDescriptorSets was always checked against PipelineLayout from PSO. Since there are cases when a Draw requires no Descriptors the check was modified for now to only occur when vkCmdBindDescriptorSets has been called. This is still not perfect but will prevent false positives.
Really need to identify when it's valid to not call vkCmdBindDescriptorSets and, if so, don't perform the PipelineLayout match check.

9 years agodemos: Fix demos to correctly query physicalDevice count
Tobin Ehlis [Mon, 7 Sep 2015 21:16:39 +0000 (15:16 -0600)]
demos: Fix demos to correctly query physicalDevice count

9 years agolayers: Fix ScreenShot layer to handle EnumeratePhysicalDevices query count case
Tobin Ehlis [Tue, 8 Sep 2015 14:59:48 +0000 (08:59 -0600)]
layers: Fix ScreenShot layer to handle EnumeratePhysicalDevices query count case

9 years agolayers: Initial framework for DeviceLimits layer
Tobin Ehlis [Thu, 3 Sep 2015 15:50:06 +0000 (09:50 -0600)]
layers: Initial framework for DeviceLimits layer

This includes many initial entrypoints and setting up function intercepts with only a few actual checks to begin. DeviceLimits layer is intended to capture two broad categories of errors:
1. Incorrect use of APIs to query device capabilities
2. Attempt to use API functionality beyond the capability of the underlying device

DeviceLimits stores its own internal record of underlying device capabilities and flag errors if requests are made beyond those limits.

Initial checks and documentation include verification of EnumeratePhysicalDevices call and some basic queue create/get validation.

9 years agoloader: Use GetProcAddr function names from layer manifest file
Jon Ashburn [Wed, 9 Sep 2015 17:29:24 +0000 (11:29 -0600)]
loader: Use GetProcAddr function names from layer manifest file

No longer assume vkGetInstanceProcAddr or <layerName>GetInstanceProcAddr to find
layer's instance GetProcAddrs. And similiar for device ProcAddr. Instead use
any value specified in manifest file. If none specified in manifest file then
assume vkGetInstanceProcAddr or vkGetDeviceProcAddr.

9 years agodemos: Prevent tri rendering during shutdown
Cody Northrop [Wed, 9 Sep 2015 16:21:49 +0000 (10:21 -0600)]
demos: Prevent tri rendering during shutdown

9 years agovulkan.h: Refactoring physical device sparse properties and limits, bug# 13139
Mark Lobodzinski [Mon, 7 Sep 2015 18:56:17 +0000 (12:56 -0600)]
vulkan.h: Refactoring physical device sparse properties and limits, bug# 13139

Part of changes for header revision V161.

9 years agovulkan.h: Add bufferFeatures to VkFormatProperties, bug #14546
Mark Lobodzinski [Thu, 3 Sep 2015 21:21:52 +0000 (15:21 -0600)]
vulkan.h: Add bufferFeatures to VkFormatProperties, bug #14546

9 years agoWindows build: rename vulkan.0.dll to vulkan-0.dll
David Pinedo [Tue, 8 Sep 2015 17:07:46 +0000 (11:07 -0600)]
Windows build: rename vulkan.0.dll to vulkan-0.dll

9 years agodocumentation: Detail DRI3 use on ubuntu 15.04
Mike Stroyan [Mon, 7 Sep 2015 14:58:10 +0000 (08:58 -0600)]
documentation: Detail DRI3 use on ubuntu 15.04

Updated DRI3 discussion in README.md and BUILD.md.

9 years agoloader: Fix Windows build for alloc stuff
Jon Ashburn [Fri, 28 Aug 2015 21:58:46 +0000 (14:58 -0700)]
loader: Fix Windows build for alloc stuff

9 years agoloader: make thirdparty code use allocation callbacks
Jon Ashburn [Fri, 28 Aug 2015 21:19:27 +0000 (15:19 -0600)]
loader: make thirdparty code use allocation callbacks

Use TLS to keep instance pointer and use this for cJSON alloc/free
callback.

9 years agodemos: Add allocation callback to tri test CreateInstance
Jon Ashburn [Fri, 28 Aug 2015 19:48:40 +0000 (13:48 -0600)]
demos: Add allocation callback to tri test CreateInstance

9 years agoloader: Make use of app provided allocation callbacks
Jon Ashburn [Fri, 28 Aug 2015 19:38:21 +0000 (13:38 -0600)]
loader: Make use of app provided allocation callbacks

Convert all heap allocs/frees to use loader_heap_alloc() or loader_heap_free().
Before CreateInstance this will use malloc/free. At (and after) CreateInstance
alloc callbacks are stored and used for any allocations.

Exceptions are thirdparty code (cJSON  and dirent_on_windows) still always use
malloc/free. Plan to address these in later patch if ti makes sense.

9 years agoloader: Add support for realloc using the app allocation callbacks.
Jon Ashburn [Thu, 27 Aug 2015 21:23:52 +0000 (15:23 -0600)]
loader: Add support for realloc using the app allocation callbacks.

9 years agoloader: convert to using loader_stack_alloc for consistency
Jon Ashburn [Thu, 27 Aug 2015 19:06:58 +0000 (13:06 -0600)]
loader: convert to using loader_stack_alloc for consistency

9 years agoWSI: Convert from VERSION to REVISION in nulldrv
David Pinedo [Fri, 4 Sep 2015 21:33:22 +0000 (15:33 -0600)]
WSI: Convert from VERSION to REVISION in nulldrv

9 years agoAll extensions single revision number instead of major.minor.patch
Ian Elliott [Fri, 4 Sep 2015 20:14:35 +0000 (14:14 -0600)]
All extensions single revision number instead of major.minor.patch

This was decided during the August face-to-face.  Originally, the WSI
extensions did it the normal OpenGL way (single revision number), and the debug
extensions did it the new major.minor.patch way.  When I tried to convert WSI,
an objection was raised.  We decided to go with the OpenGL way.

This commit also changes vulkaninfo to report the single revision number.

This commit also changes the extension "number" assigned to the 2 debug
extensions, basd on a "registration" email that Ian Elliott sent to Jon Leech
on 21 August, 2015.  The initial set of "registered" extensions are (with their
numbers):

1.VK_EXT_KHR_swapchain
2.VK_EXT_KHR_device_swapchain
3.VK_EXT_KHR_display
4.VK_EXT_KHR_display_swapchain
5.VK_EXT_LUNARG_debug_report
6.VK_EXT_LUNARG_debug_marker

9 years agoWSI: Convert from VERSION to REVISION
Ian Elliott [Fri, 4 Sep 2015 20:02:04 +0000 (14:02 -0600)]
WSI: Convert from VERSION to REVISION

9 years agoWSI: Update headers for WSI swapchain extensions (versions 51 & 17).
Ian Elliott [Fri, 4 Sep 2015 19:57:22 +0000 (13:57 -0600)]
WSI: Update headers for WSI swapchain extensions (versions 51 & 17).