Chris Forbes [Fri, 6 May 2016 04:11:03 +0000 (16:11 +1200)]
layers: Trim down locked regions in CreateRenderPass
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 6 May 2016 03:54:55 +0000 (15:54 +1200)]
layers: Mark some layer_data const, remove unordered_map::operator[] use.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 11 May 2016 03:18:00 +0000 (15:18 +1200)]
layers: Fix get_descriptor_binding
Not sure where the `return` went... this worked by accidents of calling
conventions in debug, but was rightfully eaten by the optimizer in release.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 10 May 2016 04:47:02 +0000 (16:47 +1200)]
layers: Get rid of even more coupling between SC and rest of CV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 10 May 2016 04:02:49 +0000 (16:02 +1200)]
layers: have PIPELINE_LAYOUT_NODE hold ptrs to descriptor set layouts
Just holding the nondispatchable object handles forces
get_descriptor_binding to use layer_data, which we'd rather it didn't.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 10 May 2016 23:44:12 +0000 (11:44 +1200)]
layers: add some asserts to spirv_inst_iter
These allow us to more easily catch in debug:
- Bogus zero-length instructions
- Reads off the end of the instruction
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Tue, 10 May 2016 18:09:30 +0000 (12:09 -0600)]
layers: Update fence to track all queues associated with it
Semaphore's can create cross-queue dependencies between fences.
This change updates the FENCE_NODE object to have an unordered_set
of all queues that a fence is tied to instead of just tracking the
last queue on which a fence has been submitted.
Tobin Ehlis [Tue, 10 May 2016 16:16:23 +0000 (10:16 -0600)]
layers: GH458 Fix cleanup of queue lastFences
When waiting on fences, they were not being correctly removed from the
queue's lastFences vector. Updated the remove code and verified that
it's now working correctly.
Tony Barbour [Fri, 6 May 2016 20:23:44 +0000 (14:23 -0600)]
layers: Save swapchain image format for later validation compares
This fixes the cube resize with validation enabled bug
LunarEx issue #501, Github Issue #275
Change-Id: Ifc73be13f09f332a7b30e08d1f9fe4f3894d2b78
Karl Schultz [Tue, 10 May 2016 17:36:08 +0000 (11:36 -0600)]
build: GH316 include cinttypes instead of inttypes.h
Fixes compilation problems on CentOS.
Change-Id: I92c5ea0ebea8684c40e67e9b386732e55cb47cc8
Dustin Graves [Mon, 9 May 2016 23:36:57 +0000 (17:36 -0600)]
layers: Add missing parameter_validation functions
Add the following to address missing functionality in the
parameter_validation layer:
- Add parameter_validation_vkResetCommandBuffer call to
vkResetCommandBuffer
- Add missing vkGetPhysicalDevice.* exports to GetInstanceProcAddress
Change-Id: I73944933b0c318f691a14c305c192aa7a0bf8ded
Jon Ashburn [Tue, 10 May 2016 15:24:52 +0000 (09:24 -0600)]
loader: Update interface doc
The version 0 layer did not properly address the desktop loader requirements.
Split the layer interface into an Android section and a desktop section.
Change-Id: I782bdddd13da318274ad604ee0e48208bd1dc947
Chris Forbes [Tue, 10 May 2016 04:42:02 +0000 (16:42 +1200)]
Merge pull request #513 from chrisforbes/cv-tidy-more
layers: Start cutting needless deps between SC and layer_data
Chris Forbes [Tue, 10 May 2016 03:30:22 +0000 (15:30 +1200)]
layers: Start cutting needless deps between SC and layer_data
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tony Barbour [Thu, 5 May 2016 20:46:39 +0000 (14:46 -0600)]
tests: Add tests focussed on the Image validation layer
Change-Id: Ifa42ea77db06322157e54852f187d4d83579b51e
Tobin Ehlis [Mon, 9 May 2016 19:22:50 +0000 (13:22 -0600)]
layers: Update behavior for secondary cmdbuffers w/ *_SIMULTANEOUS_USE_BIT set
Spec clarification has been approved and secondary command buffers with
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT may be in flight in multiple primary
command buffers at the same time.
This changes updates the error concerning secondary command buffers to be in-flight
on multiple primary command buffers to only appli if
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT is not set.
Jon Ashburn [Mon, 9 May 2016 17:31:40 +0000 (11:31 -0600)]
loader: lvlgh204, Fix calls to secure_getenv on glibc < 2.17
Change-Id: I2f98d8de343cf3f6a30fdc223b37201b32571e99
Jon Ashburn [Mon, 9 May 2016 13:59:14 +0000 (07:59 -0600)]
header: update that includes debug_marker extension
Change-Id: Ifb8b7e2f66ac3dcb6e1889d59879caba39805d53
Jon Ashburn [Mon, 9 May 2016 14:51:17 +0000 (08:51 -0600)]
layers: Fix safe_struct gen to skip debug_marker struct
Safe structure doesn't work with static arrays; add an
exception so safe-struct is not generated for the strcuture in question.
Change-Id: I4605fdfb3dd840fb8e38371e7e59311fc6e1cb9f
Dustin Graves [Fri, 6 May 2016 17:20:38 +0000 (11:20 -0600)]
tests: Add required parameter tests
Add parameter_validation layer tests, to check the
parametert_validation::REQUIRED_PARAMETER error case.
Change-Id: I9ecb1ec914bdc093f007d5f61dbdc47ba0d5551c
Dustin Graves [Thu, 5 May 2016 19:44:21 +0000 (13:44 -0600)]
layers: Add error codes for parameter_validation
Add error codes to the parameter_validation layer:
- Add parameter_validation::ErrorCode enum defining common parameter
validation errors to parameter_validation_utils.h
- Replace the '1' in parameter_validation log_msg calls with the
appropriate error code
- Add parameter_validation error code documentation to
vk_validation_layer_details.md
- Remove 'typedef enum' declaration requirement for error code
enumerations from vk_layer_documentation_generate.py; It will
now recognize error code enmerations declared wihtout the typedef
Change-Id: Icf18b9124000159f7436f66e48a95d0c58047a07
Dustin Graves [Wed, 4 May 2016 18:56:08 +0000 (12:56 -0600)]
layers: Add parameter_validation namespace
Add parameter_validation namespace for utility functions. Namespace will
be extended to include core layer functions in a future update.
Change-Id: I0929f5caacbf3e1b4509f051ea020566cce44e3e
Tobin Ehlis [Wed, 4 May 2016 20:08:34 +0000 (14:08 -0600)]
tests: Add InvalidImageLayout tests
These hit 16/18 cases for INVALID_IMAGE_LAYOUT enum in core_validation.
The other 2 cases were already hit by object_tracker and another test.
Chia-I Wu [Fri, 6 May 2016 04:19:33 +0000 (12:19 +0800)]
core_validation: avoid invalid GIPA call in vkCreateDevice
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
Chia-I Wu [Fri, 6 May 2016 04:04:23 +0000 (12:04 +0800)]
core_validation: handle device commands in GetInstanceProcAddr
Per commit
5bf16c33b9c1f38fc467d94716f276620a265327, extension check is
bypassed in GetInstanceProcAddr for VK_KHR_swapchain functions.
Chia-I Wu [Fri, 6 May 2016 03:58:01 +0000 (11:58 +0800)]
core_validation: no interface functions in layer functions
Move handling of interface functions in
core_validation::GetInstanceProcAddr to v0's vkGetInstanceProcAddr.
Chia-I Wu [Fri, 6 May 2016 03:55:53 +0000 (11:55 +0800)]
core_validation: refactor GetInstanceProcAddr
Split command intercepting out to intercept_core_instance_command. Assert
that instance is valid if intercept_core_instance_command returns nullptr.
Chia-I Wu [Fri, 6 May 2016 03:51:11 +0000 (11:51 +0800)]
core_validation: add intercept_khr_swapchain_command
It returns the function pointers for all intercepted VK_KHR_swapchain
commands. Call intercept_khr_swapchain_command from GetDeviceProcAddr.
Chia-I Wu [Fri, 6 May 2016 03:44:32 +0000 (11:44 +0800)]
core_validation: add intercept_core_device_command
It returns the function pointers for all intercepted core device commands.
Call intercept_core_device_command from GetDeviceProcAddr. Assert that
device is valid in GetDeviceProcAddr.
Chia-I Wu [Fri, 6 May 2016 03:38:37 +0000 (11:38 +0800)]
core_validation: improve EnumerateDeviceExtensionProperties
Call down the next layer unless pLayerName is core_validation.
Chia-I Wu [Fri, 6 May 2016 03:36:52 +0000 (11:36 +0800)]
core_validation: add core_validation::global_layer
Replace cv_global_layers and cv_device_layers with global_layer. There is
no plan to define more than one layer in the same namespace.
Chia-I Wu [Fri, 6 May 2016 03:32:54 +0000 (11:32 +0800)]
core_validation: drop vk prefix for layer functions
Drop VK_LAYER_EXPORT as well.
Chia-I Wu [Fri, 6 May 2016 03:20:20 +0000 (11:20 +0800)]
core_validation: put layer functions into a namespace
Put all layer fucntions/data into core_validation namespace. I had to add
some wrappers to make everything work.
Chia-I Wu [Fri, 6 May 2016 03:17:16 +0000 (11:17 +0800)]
core_validation: move vkEnumerate*Properties around
Move them toward the end of the file.
Mark Young [Fri, 6 May 2016 19:48:26 +0000 (13:48 -0600)]
layers: Properly set secondary cmd buffer inherited items.
We failed to inherit the proper items in the secondary cmd buffer
in the core_validation layer when the
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT bit was set.
Change-Id: I01579d889dde8e0d331ed5a65eb48ce7185d3d82
Chris Forbes [Sat, 7 May 2016 22:19:14 +0000 (10:19 +1200)]
layers: Fix usage flags validation of CreateImageView
We need to validate the flags before calling down into the ICD. At least
one ICD (Anvil) asserts if it sees bad flags.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Chris Forbes [Fri, 6 May 2016 06:07:09 +0000 (18:07 +1200)]
layers: Fix logical negate to bitwise negate in access flags checking
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Mark Lobodzinski [Fri, 6 May 2016 21:40:49 +0000 (15:40 -0600)]
layers: Correct object_tracker section in validation details doc
Change-Id: If113a338674655b339e76d3bb14e50be3796f168
Mark Lobodzinski [Thu, 5 May 2016 17:45:57 +0000 (11:45 -0600)]
layers: Fix object_tracker warnings in Android and Win32 builds
Change-Id: If937c4c5aca0dc274aa67a9b52b99909723f082c
Mark Lobodzinski [Tue, 3 May 2016 14:39:24 +0000 (08:39 -0600)]
layers: Fix object_tracker handling of pool-related validation failures
Return codes weren't plumbed through, failures caused layer crashes.
Change-Id: If258d449a420d33b6c72dc5c289d77c7215f2c2f
Mark Lobodzinski [Mon, 2 May 2016 23:17:41 +0000 (17:17 -0600)]
tests: Round out object-tracker layer validation tests
Change-Id: I6aad451a44cf2053b078eca98adca6b72acbd0a0
Mark Lobodzinski [Mon, 2 May 2016 19:19:15 +0000 (13:19 -0600)]
layers: Correct and/or remove obsolete object_tracker error enums
Change-Id: I6f759890749fb17226e00d28ab8391dc7cc0e80c
Mark Lobodzinski [Mon, 2 May 2016 19:11:50 +0000 (13:11 -0600)]
layers: ObjectTracker dead code elimination
Change-Id: I3244f8da58a7f150ebfa772a7c131422f75d0d8b
Mark Lobodzinski [Mon, 2 May 2016 18:08:24 +0000 (12:08 -0600)]
layers: Remove 'using namespace std' in object_tracker
Change-Id: Ic1ab57e5b4192ed98df8c7e6fc8c225aff631fd8
Chia-I Wu [Fri, 6 May 2016 00:41:52 +0000 (08:41 +0800)]
doc: allow layers to ignore pAllocator
Tobin Ehlis [Fri, 6 May 2016 16:22:16 +0000 (10:22 -0600)]
layers: GH494 Add constructors for IMAGE and BUFFER nodes
Add proper constructors for IMAGE_NODE and BUFFER_NODE classes and
correctly initialize all of their data members.
Change-Id: I6c9d4a3ba6f3ef8e569de55793de9d6f7fd406b1
Dustin Graves [Fri, 6 May 2016 16:17:12 +0000 (10:17 -0600)]
layers: Fix param check debug report level
Change VkFlags and enumeration debug report levels from WARNING to
ERROR.
Change-Id: I06bf454c77dee2cd46db29cd1ffcb67febfba666
Dustin Graves [Fri, 6 May 2016 16:16:06 +0000 (10:16 -0600)]
layers: Add missing vkCmdSetStencil param checks
Add missing parameter validation for vkCmdSetStencil* functions.
Change-Id: Ib2d2527341815412bc441427ba1dbf6d3826f3c6
Mark Young [Wed, 4 May 2016 20:38:51 +0000 (14:38 -0600)]
layers: Fix core_validation issues GH103 and GH240
Perform pipeline sample and attachment count validation at draw
time instead of vkCmdNextSubpass() time. Also validate that
an active renderpass exists.
Change-Id: I912947287eef29d532519220750c3a93a3554565
Tobin Ehlis [Thu, 5 May 2016 21:09:11 +0000 (15:09 -0600)]
layers: Further descriptorSet cleanup fixes
Clear the pools list of sets when pool is reset.
Also make sure to remove sets from pool as they are freed.
Added a related fix to testing to correctly free descriptorSets
in DescriptorSetCompatibility test.
Tobin Ehlis [Thu, 5 May 2016 19:49:42 +0000 (13:49 -0600)]
layers: Correctly invalidate cmd buffers when descriptor pool cleared/freed
When a DescriptorSet pool is Destroyed or Reset we destroy all underlying
descriptorSets, but we weren't invalidating cmd buffers bound to those sets
in these cases. This adds a common function, freeDescriptorSet(), to make
sure anytime a descriptor set is destroyed, any bound cmd buffers get
invalidated and the set is removed from setMap and then destroyed.
Tobin Ehlis [Thu, 5 May 2016 19:18:20 +0000 (13:18 -0600)]
layers: Fix descriptorSet cleanup bugs
When we deleted DescriptorSet* objects we weren't removing them
from the setMap.
Tobin Ehlis [Thu, 5 May 2016 18:03:44 +0000 (12:03 -0600)]
layers: Migrate VerifyUpdateConsistency to DescriptorSetLayout class
This was in the DescriptorSet class, but really belonged in the Layer.
There was also a bug where it did not correctly handle the case of an
initial offset that oversteps the size of the first binding being updated.
That is legal according to the spec so added code to handle that case by
walking the bindings until we get to the actual binding on which the first
update will occur.
Tobin Ehlis [Thu, 5 May 2016 17:04:44 +0000 (11:04 -0600)]
layers: Store layout bindings_ by value instead of ptr
Kill the ptr to safe_VkDescriptorSetLayoutBinding in DescriptorSetLayout
class. This saves us the "new" and the need for a custom destructor.
Couldn't do this initially but I've since added copy constructors
to all of the safe_* struct types.
Tobin Ehlis [Thu, 5 May 2016 16:50:58 +0000 (10:50 -0600)]
layers: Kill unused shadowUpdateNode()
No longer needed with migration to DescriptorSet class.
Tobin Ehlis [Thu, 5 May 2016 16:43:30 +0000 (10:43 -0600)]
layers: Fix stale comments in core_validation
Tobin Ehlis [Thu, 5 May 2016 16:36:24 +0000 (10:36 -0600)]
layers: Remove unused IsUpdated(uint32_t) from DescriptorSet class
All of the functionality that I thought I would need this for is contained
in the ValidateDrawState() function.
Tobin Ehlis [Thu, 5 May 2016 16:30:46 +0000 (10:30 -0600)]
layers: Removed unused full_update_ from DescriptorSet class
I originally added this thinking it would be useful but currently
unused and not correctly tracked so just killing it.
Tobin Ehlis [Thu, 5 May 2016 16:16:02 +0000 (10:16 -0600)]
layers: Remove use of map at() function from descriptor_set class
Tobin Ehlis [Thu, 5 May 2016 15:04:33 +0000 (09:04 -0600)]
layers: Clean up access to descriptors_ vector
Migrate a number of unneccessary .at() calls to just use [] operator.
Also replace push_back() calls at descriptor creation time with emplace_back().
Tobin Ehlis [Thu, 5 May 2016 14:25:02 +0000 (08:25 -0600)]
layers: Kill SET_NODE construct and just use DescriptorSet class
Migrated setMap to just use DescriptorSet class natively. SET_NODE was
just wrapping that class but that's not necessary so killing extra indirection.
Tobin Ehlis [Tue, 3 May 2016 14:31:08 +0000 (08:31 -0600)]
layers: Rearchitect Descriptor Set validation code
This change pulls all of the DescriptorSet code out of core_validation.cpp and into
its own files/classes in descriptor_set.h/cpp.
See header file for complete class documentation.
These changes pass tri/cube/smoketest --validate.
All related layer validation tests are also updated and passing.
Finally, I ran it through mustpass CTS and did not hit any issues related to these changes.
These changes not only update the descriptor interface but fix some known lingering
bugs with how descriptor updates occurred. This includes now correctly handling
updates that cross binding boundaries and updates that write a subset of a binding.
Going forward this is a general outline for how we would like to evolve core_validation.
That is, we'd like to move the functionality of the checks into reasonable classes and
just have core_validation call into those classes to do the majority of the work.
Michael Lentine [Thu, 5 May 2016 21:20:16 +0000 (16:20 -0500)]
layers: Clear cmdbufs and prior fences after processed in decrement.
Karl Schultz [Thu, 5 May 2016 21:16:56 +0000 (15:16 -0600)]
docs: Add contrib info and link
Karl Schultz [Thu, 5 May 2016 21:14:59 +0000 (15:14 -0600)]
docs: Elevate contrib info, add link
Ian Elliott [Thu, 5 May 2016 20:10:49 +0000 (14:10 -0600)]
layers: #471 swapchin layer to use find() for map lookups
This fixes a long-standing (day-1) defect in the swapchain layer (perhaps
cloned from another layer at the time?). Several unordered maps are used to
keep track of things. The layer was using the [] operator for both adding a
new entry to a map, and for looking up entries that should already be in a map.
This latter usage is where the bug is. If a handle is passed in that hasn't
been seen before, the use of the [] operator will add a new entry to the
map--one that hasn't been initialized. The new EnableWsiBeforeUse test caused
a crash in the swapchain layer when it used VK_NULL_HANDLE.
The new code uses the find() element-lookup function of the unordere map class,
and compares this to end(). If the found value is equal to end() (i.e. it
currently isn't in the map), NULL is used for the pointer (the desired behavior
in the swapchain layer).
Two new macros were used in order to keep the code minimal and consistent in
its use of find()/end().
Ian Elliott [Thu, 5 May 2016 20:06:53 +0000 (14:06 -0600)]
layers: Fix "count" tests in swapchain layer.
The swapchain layer was attempting to test if the application gave a value for
a *Count variable (e.g. pSurfaceFormatCount for the
vkGetPhysicalDeviceSurfaceFormatsKHR() function) that was larger than what that
function returned previously (i.e. when the non-count variable was NULL).
However, the test was made after calling down the call-chain, which may modify
the value given by the application. This test is now made before calling down
the chain.
In addition, a new test is made that tries to ensure that the application did
call the function with the non-Count variable equal to NULL **before** calling
the function with a non-NULL non-Count variable.
David Pinedo [Thu, 5 May 2016 19:52:37 +0000 (13:52 -0600)]
loader: added Windows resource file for vulkan-1.dll
Properties->Details on vulkan-1.dll will display valid
version and build information
Address:
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/473
Tony Barbour [Thu, 5 May 2016 16:50:21 +0000 (10:50 -0600)]
layers: Skip actual call on validation error in vkCmdBlitImage
Change-Id: Ia59e796dd6b7dd6acebb1e3e6b7dbbcbb4b23fed
Jamie Madill [Wed, 4 May 2016 15:17:33 +0000 (08:17 -0700)]
Add an output directory option to genvk.py.
Currently for the threading utils and parameter checker generator,
the script is hard-coded to write to the current directory. Add
an option to add a custom output directory.
Change-Id: Id1b72a934ead74d2f6c01ad4e581af83067d3f49
baldurk [Thu, 5 May 2016 14:31:05 +0000 (16:31 +0200)]
layers: #486 Add some missing spaces where needed ...
Original commit message:
Add some missing spaces where needed, hidden by string concatenation
Mark Young [Wed, 4 May 2016 22:44:10 +0000 (16:44 -0600)]
loader: Fix issue when ICD DestroyDebugReportCallbackEXT not found.
Change-Id: Ic1d0f67ec2f8ca438c4bd546e6beb4d565daf89a
Jamie Madill [Wed, 4 May 2016 19:20:15 +0000 (12:20 -0700)]
layers: #484 Remove stray newline in swapchain validation message.
Mark Mueller [Mon, 18 Apr 2016 17:04:36 +0000 (11:04 -0600)]
CMakeLists.txt and doc changes for
1) Ninja build and QTCreator IDE support
2) Out of tree builds that aren't based on using update_external_sources and build_windows_target scripts
3) Allowing the developer to use non-default locations for glslang and SPIRV-Tools binaries and sources
4) Fix linux build when developer chooses not to rename SPIRV-Tools to spirv-tools
Change-Id: Ib6118c47dc780e6721ec0538aae1a6ee444eed78
Cody Northrop [Tue, 3 May 2016 21:38:05 +0000 (15:38 -0600)]
android: Move external deps into project dir
Mirroring commit
d288cb9a, stop using directories outside
of our project location to host external files. Small
changes to update_external_sources_android.sh/bat to find
glslang, spirv-tool, shaderc in "external" instead of ".."
Karl Schultz [Thu, 5 May 2016 14:30:53 +0000 (08:30 -0600)]
docs: Update CONTRIBUTING to reflect CLA status
Also add info about need for layer work.
Tobin Ehlis [Thu, 5 May 2016 14:29:41 +0000 (08:29 -0600)]
layers: Kill unused var that was breaking android build
Chris Forbes [Fri, 29 Apr 2016 05:33:03 +0000 (17:33 +1200)]
layers: Consider missing color attachments in validation
Previously we'd assumed these were dense. It is however valid to provide
VK_ATTACHMENT_UNUSED for a color attachment reference.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 29 Apr 2016 05:32:16 +0000 (17:32 +1200)]
layers: Avoid dereferencing outside array for missing color attachment
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chia-I Wu [Thu, 28 Apr 2016 08:04:15 +0000 (16:04 +0800)]
device_limits: avoid invalid GIPA call in vkCreateDevice
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
Chia-I Wu [Thu, 28 Apr 2016 07:16:59 +0000 (15:16 +0800)]
device_limits: improve GetInstanceProcAddr
Handle device commands as well. Move handling of interface functions to
v0's vkGetInstanceProcAddr.
Chia-I Wu [Thu, 28 Apr 2016 07:17:27 +0000 (15:17 +0800)]
device_limits: fix a typo in intercept_core_instance_command
s/vkEnumerateInstanceDeviceProperties/vkEnumerateDeviceExtensionProperties/.
Chia-I Wu [Thu, 28 Apr 2016 06:38:57 +0000 (14:38 +0800)]
device_limits: refactor GetInstanceProcAddr
Split command intercepting out to intercept_core_instance_command.
Chia-I Wu [Thu, 28 Apr 2016 06:44:08 +0000 (14:44 +0800)]
device_limits: intercept CmdSetScissor and CmdSetViepwort
They are defined but unused.
Chia-I Wu [Thu, 28 Apr 2016 06:38:57 +0000 (14:38 +0800)]
device_limits: add intercept_core_device_command
It returns the function pointers for all intercepted core device commands.
Call intercept_core_device_command from GetDeviceProcAddr. Assert that
device is valid in GetDeviceProcAddr.
Chia-I Wu [Thu, 28 Apr 2016 06:21:13 +0000 (14:21 +0800)]
device_limits: improve EnumerateDeviceExtensionProperties
Call down the next layer unless pLayerName is device_limits.
Chia-I Wu [Thu, 28 Apr 2016 06:12:27 +0000 (14:12 +0800)]
device_limits: add device_limits::global_layer
Replace dl_global_layers with global_layer. There is no plan to define
more than one layer in the same namespace.
Chia-I Wu [Thu, 28 Apr 2016 06:01:30 +0000 (14:01 +0800)]
device_limits: drop vk prefix for layer functions
Drop VK_LAYER_EXPORT as well.
Chia-I Wu [Thu, 28 Apr 2016 03:27:46 +0000 (11:27 +0800)]
device_limits: put layer functions into a namespace
Put all layer fucntions/data into device_limits namespace. I had to add
some wrappers to make everything work.
Chia-I Wu [Thu, 28 Apr 2016 03:21:49 +0000 (11:21 +0800)]
device_limits: move vkEnumerate*Properties around
Move them toward the end of the file.
Chia-I Wu [Thu, 28 Apr 2016 08:04:15 +0000 (16:04 +0800)]
image: avoid invalid GIPA call in vkCreateDevice
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
Chia-I Wu [Thu, 28 Apr 2016 07:16:59 +0000 (15:16 +0800)]
image: improve GetInstanceProcAddr
Handle device commands as well. Move handling of interface functions to
v0's vkGetInstanceProcAddr.
Chia-I Wu [Thu, 28 Apr 2016 06:38:57 +0000 (14:38 +0800)]
image: refactor GetInstanceProcAddr
Split command intercepting out to intercept_core_instance_command.
Chia-I Wu [Thu, 28 Apr 2016 06:38:57 +0000 (14:38 +0800)]
image: add intercept_core_device_command
It returns the function pointers for all intercepted core device commands.
Call intercept_core_device_command from GetDeviceProcAddr. Assert that
device is valid in GetDeviceProcAddr.
Chia-I Wu [Thu, 28 Apr 2016 06:21:13 +0000 (14:21 +0800)]
image: improve EnumerateDeviceExtensionProperties
Call down the next layer unless pLayerName is image.
Chia-I Wu [Thu, 28 Apr 2016 06:12:27 +0000 (14:12 +0800)]
image: add image::global_layer
Replace pc_global_layers with global_layer. There is no plan to define
more than one layer in the same namespace.
Chia-I Wu [Thu, 28 Apr 2016 06:01:30 +0000 (14:01 +0800)]
image: drop vk prefix for layer functions
Drop VK_LAYER_EXPORT as well.
Chia-I Wu [Thu, 28 Apr 2016 03:27:46 +0000 (11:27 +0800)]
image: put layer functions into a namespace
Put all layer fucntions/data into image namespace. I had to add some
wrappers to make everything work.
Chia-I Wu [Thu, 28 Apr 2016 03:21:49 +0000 (11:21 +0800)]
image: move vkEnumerate*Properties around
Move them toward the end of the file.
Mark Lobodzinski [Tue, 3 May 2016 21:31:26 +0000 (15:31 -0600)]
layers: Fix memory aliasing false positives in core_validation
Change-Id: I889a00132af4c6f8db944ed21f03290ee8f14063