Courtney Goeltzenleuchter [Thu, 10 Sep 2015 22:38:41 +0000 (16:38 -0600)]
bug 14313: Rename ArraySlice to ArrayLayer
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 22:25:49 +0000 (16:25 -0600)]
Bug 14313: Remove VK_FORMAT_FEATURE_CONVERSION_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
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 20:08:50 +0000 (14:08 -0600)]
bug 14541: rename VkTexAddress to VkTexAddressMode
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 19:44:12 +0000 (13:44 -0600)]
bug 14537: Improve VkImageFormatProperties
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 19:28:52 +0000 (13:28 -0600)]
Bug 14537: Improve VkImageFormatProperties
Commit:
e45df2e
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 18:54:32 +0000 (12:54 -0600)]
bug-13139: refactor sparse properties
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.
Courtney Goeltzenleuchter [Thu, 10 Sep 2015 17:23:57 +0000 (11:23 -0600)]
nulldrv: Fix compiler issues
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.
Courtney Goeltzenleuchter [Tue, 8 Sep 2015 23:42:57 +0000 (17:42 -0600)]
layers: Add note about vkCreateDevice behavior
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.
Courtney Goeltzenleuchter [Tue, 8 Sep 2015 22:57:22 +0000 (16:57 -0600)]
demos: Do not bail on validation error
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)
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.
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:47:07 +0000 (13:47 -0600)]
mem_tracker: validation comment
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.
Courtney Goeltzenleuchter [Fri, 4 Sep 2015 19:18:58 +0000 (13:18 -0600)]
layers: Remove unused functions
Cody Northrop [Thu, 10 Sep 2015 15:48:42 +0000 (09:48 -0600)]
layers: Add DeviceLimits json files
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.
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.
Tobin Ehlis [Mon, 7 Sep 2015 21:16:39 +0000 (15:16 -0600)]
demos: Fix demos to correctly query physicalDevice count
Tobin Ehlis [Tue, 8 Sep 2015 14:59:48 +0000 (08:59 -0600)]
layers: Fix ScreenShot layer to handle EnumeratePhysicalDevices query count case
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.
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.
Cody Northrop [Wed, 9 Sep 2015 16:21:49 +0000 (10:21 -0600)]
demos: Prevent tri rendering during shutdown
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.
Mark Lobodzinski [Thu, 3 Sep 2015 21:21:52 +0000 (15:21 -0600)]
vulkan.h: Add bufferFeatures to VkFormatProperties, bug #14546
David Pinedo [Tue, 8 Sep 2015 17:07:46 +0000 (11:07 -0600)]
Windows build: rename vulkan.0.dll to vulkan-0.dll
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.
Jon Ashburn [Fri, 28 Aug 2015 21:58:46 +0000 (14:58 -0700)]
loader: Fix Windows build for alloc stuff
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.
Jon Ashburn [Fri, 28 Aug 2015 19:48:40 +0000 (13:48 -0600)]
demos: Add allocation callback to tri test CreateInstance
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.
Jon Ashburn [Thu, 27 Aug 2015 21:23:52 +0000 (15:23 -0600)]
loader: Add support for realloc using the app allocation callbacks.
Jon Ashburn [Thu, 27 Aug 2015 19:06:58 +0000 (13:06 -0600)]
loader: convert to using loader_stack_alloc for consistency
David Pinedo [Fri, 4 Sep 2015 21:33:22 +0000 (15:33 -0600)]
WSI: Convert from VERSION to REVISION in nulldrv
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
Ian Elliott [Fri, 4 Sep 2015 20:02:04 +0000 (14:02 -0600)]
WSI: Convert from VERSION to REVISION
Ian Elliott [Fri, 4 Sep 2015 19:57:22 +0000 (13:57 -0600)]
WSI: Update headers for WSI swapchain extensions (versions 51 & 17).
Ian Elliott [Fri, 21 Aug 2015 21:09:33 +0000 (15:09 -0600)]
WSI: Convert WSI swapchain extension usage to new KHR style
Ian Elliott [Fri, 21 Aug 2015 19:43:31 +0000 (13:43 -0600)]
WSI: Update headers for WSI swapchain extensions (versions 47 & 15).
BIG RENAME: The names change for the extensions, header files, enums,
functions, etc.
Ian Elliott [Fri, 21 Aug 2015 20:27:04 +0000 (14:27 -0600)]
WSI: Remove old loader code for the VK_WSI_LunarG extension.
Cody Northrop [Thu, 3 Sep 2015 22:09:28 +0000 (16:09 -0600)]
demos: Set depth image aspect correctly
Tobin Ehlis [Tue, 1 Sep 2015 17:59:36 +0000 (11:59 -0600)]
layers: If layers receive bad filename for output log, report ERROR and fallback to stdout
Tobin Ehlis [Tue, 1 Sep 2015 17:46:36 +0000 (11:46 -0600)]
layers: Update some layers to avoid repeated call to get_dispatch_key()
Mark Lobodzinski [Tue, 1 Sep 2015 21:42:56 +0000 (15:42 -0600)]
vulkan.h: Bug-14476: Rename texelCoords to unnormalizedCoordinates
Courtney Goeltzenleuchter [Wed, 2 Sep 2015 19:07:51 +0000 (13:07 -0600)]
bug 14517: Rename cs parameter to stage
Courtney Goeltzenleuchter [Wed, 2 Sep 2015 17:04:44 +0000 (11:04 -0600)]
bug-14537: Improve VkImageFormatProperties
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14537
* Add VkSampleCountFlags that describes set of power-of-two sample
counts (VK_SAMPLE_COUNT_N = (1<<N))
* Use VkSampleCountFlags to describe exact supported sample count set
in VkImageFormatProperties
Mark Lobodzinski [Tue, 1 Sep 2015 17:19:08 +0000 (11:19 -0600)]
layers: MemTracker fixes for image usage flag validation.
Courtney Goeltzenleuchter [Tue, 1 Sep 2015 23:30:39 +0000 (17:30 -0600)]
Bug 14522: Remove VkAttachmentView
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14522
Several parts of the driver really want an attachment view
so I've included the attachment information in the
intel_img_view structure and initialize both when the
view is created.
Parts of the meta path only need intel_att_view and
I kept that in place.
Courtney Goeltzenleuchter [Wed, 2 Sep 2015 16:41:55 +0000 (10:41 -0600)]
bug-14515: Add occlusionQueryNonConservative feature
Cody Northrop [Tue, 1 Sep 2015 17:48:13 +0000 (11:48 -0600)]
windows: Fix a couple signed/unsigned warnings
Cody Northrop [Tue, 1 Sep 2015 17:47:50 +0000 (11:47 -0600)]
layers: Modify ScreenShot usage and layout flags to work cross vendor
Cody Northrop [Tue, 1 Sep 2015 16:18:45 +0000 (10:18 -0600)]
layers: Port screenshot fixes to master
Sourced from sdk-0.2 branch commit
c98372f1
Mark Lobodzinski [Tue, 1 Sep 2015 15:00:16 +0000 (09:00 -0600)]
headers: Add vk_sdk_platform.h for Win/Linux differences
Mark Lobodzinski [Tue, 1 Sep 2015 14:52:55 +0000 (08:52 -0600)]
headers: Moved utility routine out of to-be-upstreamed header file
Moved string_VkDbgObjectType function into object_track.h -- helps
resolve some windows build issues.
Tobin Ehlis [Mon, 31 Aug 2015 18:42:38 +0000 (12:42 -0600)]
layers: Automated checking of validation layer documentation
Addition of vk_layer_documentation_generate.py script to check hand-written vk_validation_layer_details.md doc against the layer source code.
Currently this will verify documented validation checks against checks declared in source headers and verify that API calls in document are actual API calls.
This includes many documentation and layer updates to get everything in synch and allow the script to pass.
Tobin Ehlis [Thu, 27 Aug 2015 23:43:11 +0000 (17:43 -0600)]
layers: Various corrections to vk_validation_layer_details.md
A number of API functions were incorrectly named so I fixed those.
Updated DynamicState binding function names.
Removed old references to VkObject APIs.
Update Threading table to have final 2 columns of other tables for easier automated parsing.
Added TODO for WSI validation layer(s)
Mike Stroyan [Mon, 31 Aug 2015 20:03:38 +0000 (14:03 -0600)]
vktrace: Add vktrace codegen dirs to .gitignore
These directories contain only generated files.
Courtney Goeltzenleuchter [Fri, 28 Aug 2015 22:47:15 +0000 (16:47 -0600)]
bug-14532: Rename VK_LAST_* to VK_REMAINING_*
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14532
Courtney Goeltzenleuchter [Fri, 28 Aug 2015 22:36:35 +0000 (16:36 -0600)]
misc: tool updates, no functional change
Courtney Goeltzenleuchter [Fri, 28 Aug 2015 22:31:15 +0000 (16:31 -0600)]
Bug-14177: Remove Float16 feature.
Due to the fact that this isn't currently well-specified and there is expected
implementation variability on current HW, this is removed from
the current API.
Courtney Goeltzenleuchter [Fri, 28 Aug 2015 22:27:33 +0000 (16:27 -0600)]
bug-13970: Sparse Texture VA Size
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=13970
Cody Northrop [Fri, 28 Aug 2015 22:22:48 +0000 (16:22 -0600)]
wsi: Fix image usage flags in tests and demos
Mark Lobodzinski [Thu, 27 Aug 2015 21:30:29 +0000 (15:30 -0600)]
vktrace: Glave renaming -- removed all references to *glave* and *glv*
Mike Stroyan [Fri, 28 Aug 2015 17:33:32 +0000 (11:33 -0600)]
layers: Add todo flagging destroy while on queue
This starts with the case of early VkDestroySemaphore seen in demos.
It is a much larger general case of objects that are active on queues.
Mike Stroyan [Fri, 28 Aug 2015 16:58:06 +0000 (10:58 -0600)]
demos: vkDestroySemaphore only after it is unused.
Semaphores should not be destroyed when in use.
Call vkQueueWaitIdle before calling vkDestroySemaphore.
Tobin Ehlis [Fri, 28 Aug 2015 15:57:53 +0000 (09:57 -0600)]
layers: Handle bad filename in APIDump settings file
If APIDumpLogFilename requested in vk_layer_settings.txt file has a bad path or cannot be opened for some other reason, then APIDump will write out an ERROR message w/ the bad filename and notify user that STDOUT will be used instead.
Tobin Ehlis [Thu, 27 Aug 2015 23:41:42 +0000 (17:41 -0600)]
vktrace: Add support for debug_marker_lunarg extension
Tobin Ehlis [Wed, 26 Aug 2015 17:22:09 +0000 (11:22 -0600)]
layers: Fix ObjectTracker to handle dyanamic array params
ObjectTracker will now check for valid objects across all entries of arrays that are passed as params. This includes all objects embedded in arrays of structs such as the pCreateInfos array in vkCreateGraphicsPipelines().
Courtney Goeltzenleuchter [Wed, 26 Aug 2015 21:09:25 +0000 (15:09 -0600)]
vk_platform: Update to upstream vk_platform.h
Gitlab bug #9: https://gitlab.khronos.org/vulkan/LoaderAndTools/issues/9
noted that the SDK's vk_platform.h did not match the upstream vk_platform.h.
This patch makes them identical updates impacted code.
Courtney Goeltzenleuchter [Wed, 26 Aug 2015 20:48:00 +0000 (14:48 -0600)]
demos: Fix compile warning setting renderPass
Jon Ashburn [Thu, 27 Aug 2015 21:02:23 +0000 (14:02 -0700)]
nulldrv: Make build work on Windows with destroydynamiclinewidth
Jon Ashburn [Thu, 27 Aug 2015 14:30:50 +0000 (08:30 -0600)]
loader: Fix SegFault if ICD JSON file doesn't exist to return gracefully
Mark Lobodzinski [Fri, 14 Aug 2015 20:24:50 +0000 (14:24 -0600)]
vktrace: GLAVE file/directory renaming
Glave/glv files and directories renamed. Default trace files now named
*.trace.
Cody Northrop [Thu, 27 Aug 2015 16:21:00 +0000 (10:21 -0600)]
Remove extraneous temp file
Tobin Ehlis [Wed, 26 Aug 2015 22:18:52 +0000 (16:18 -0600)]
layers: Fix APIDump to correctly set output file name from settings file
Tobin Ehlis [Thu, 27 Aug 2015 14:00:41 +0000 (10:00 -0400)]
Merge branch 'check-cube-arrays-complete' into 'master'
check that cube array views are complete cubes
See merge request !29
Cass Everitt [Thu, 27 Aug 2015 10:17:57 +0000 (05:17 -0500)]
check that cube array views are complete cubes
Cody Northrop [Wed, 26 Aug 2015 16:39:01 +0000 (10:39 -0600)]
v156: Bump API minor version
Cody Northrop [Wed, 26 Aug 2015 16:01:32 +0000 (10:01 -0600)]
v156: Bug 14451 - Rename dynamic state objects
Cody Northrop [Tue, 25 Aug 2015 21:39:48 +0000 (15:39 -0600)]
Bug 14474: Remove *_USAGE_GENERAL
Cody Northrop [Tue, 25 Aug 2015 21:26:38 +0000 (15:26 -0600)]
v155: Bug 14435 - Remove abbreviations in VkClearColor
Cody Northrop [Mon, 24 Aug 2015 21:11:10 +0000 (15:11 -0600)]
v154: Bug 14417 - Added VkShaderStage to VkShaderCreateInfo
Cody Northrop [Tue, 25 Aug 2015 16:12:18 +0000 (10:12 -0600)]
v153: Minor version bump for bugs 14323, 14400, 14339, 14406
Cody Northrop [Tue, 18 Aug 2015 21:21:16 +0000 (15:21 -0600)]
Bug 14406: Add support for front/back stencil reference dynamic state
Cody Northrop [Tue, 18 Aug 2015 21:16:50 +0000 (15:16 -0600)]
Bug 14339: Add the missing alphaToOneEnable to VkPipelineColorBlendStateCreateInfo
Cody Northrop [Tue, 18 Aug 2015 20:58:29 +0000 (14:58 -0600)]
Bug 14400: Add FORMAT_FEATURES for blits
Cody Northrop [Mon, 17 Aug 2015 17:10:49 +0000 (11:10 -0600)]
Bug 14323: RasterLine and RasterDepthBias changes
Jon Ashburn [Tue, 25 Aug 2015 22:48:24 +0000 (16:48 -0600)]
loader: Add support for relative pathnames in the ICD manifest file lib_path
Jens Owen [Tue, 25 Aug 2015 16:29:34 +0000 (12:29 -0400)]
Fix formatting for GitLab web interface
Tobin Ehlis [Tue, 25 Aug 2015 15:56:38 +0000 (09:56 -0600)]
layers: Initial commit of Validation Details md file
This is intended to be a comprehensive list of validation checks in the Vulkan validation layers. For each layer, a table is included that describes the checks performed by that layer, the relevant API calls, the associated ERROR/WARNING code, any tests that exercise that check, and further notes or TODOs. Also each layer has a "pending work" section so that checks to be added in the future can be documented here.
This is intended to be a working document where the document stays in synch with the code. Also, if missing validation checks are identified, but cannot be immediately implemented, they should be added to an appropriate "pending" section. Finally, if someone wants to contribute to the validation efforts, they can identify existing "pending" work to implement.
Jon Ashburn [Thu, 20 Aug 2015 22:35:30 +0000 (16:35 -0600)]
loader: Make so layer manifest files are retained at CreateInstance
layer manifest files were rescanned after CreateInstance as needed for
CreateDevice and GetPhysicalDeviceXXXProperties. Now stored the device
and instance layer list in instance object.
Also fix mem leak of extension list in some cases.
Also fix bug where deep copy of instance to device layer properties was
not being done. Only a shallow copy was being done.
Also remove the lib_info struct from layer properties structure as only the
lib name field was being used. Other layer library info is stored in the
layer_library_list once the layer libraries are opened.
Jon Ashburn [Wed, 19 Aug 2015 00:04:47 +0000 (18:04 -0600)]
loader: Make the ICD library scan happen as needed rather than once
Add a one time loader init routine also since this was done by ICD scan.
Add icd library struct to instance object.
Jon Ashburn [Fri, 14 Aug 2015 20:55:23 +0000 (14:55 -0600)]
loader: Remove the device_extension list from from scanned icds, unused
Jon Ashburn [Fri, 14 Aug 2015 20:49:22 +0000 (14:49 -0600)]
loader: Remove the global extension list from scanned_icds struct
This list is regenerated as needed and stored in the instance object.
Jon Ashburn [Fri, 14 Aug 2015 18:51:47 +0000 (12:51 -0600)]
loader: Make the global/instance ext list once for each instance
Also fix some bugs in the heap_alloc/heap_free.
Also fix some memory leaks.
Jon Ashburn [Fri, 14 Aug 2015 17:57:54 +0000 (11:57 -0600)]
loader: Remove global instance extension list and rebuild it as needed
This will be necessary once ICDs are rescanned at CreateInstance and prior.
Tobin Ehlis [Tue, 18 Aug 2015 20:24:32 +0000 (14:24 -0600)]
tests: Fix tests that re-submit Cmd Buffers w/ ONE_TIME_SUBMIT flag
Added a way to pass VkCmdBufferBeginInfo through test framework.
For tests that do multiple submits, update BeginCommandBuffer() calls to not set ONE_TIME_SUBMIT flag.