| Age | Commit message (Collapse) | Author |
|
Add buffer usage bit validation for descriptor copy updates.
Pass down known descriptor type to copy validate function to
avoid having to look it up again.
Fix various incorrect "write" references in the copy update
error messages.
|
|
The "if" case returns so no need for this else block or the indentation
that it includes.
|
|
Verify that buffer used to update all buffer descriptor types (texel or
general) has the correct usage bits set.
descriptor
|
|
Verify that images used in imageView that's passed to various image
descriptor types have the correct usage bits set.
|
|
|
|
Create PreValidate/PostRecord functions for FreeDescriptorSets().
Currently the validation and state updates are handled in-line
in these functions, but this change makes it easy to migrate the
code to descriptor pool class without affecting top-level
intercept function.
|
|
Remove "[]" map operator and use iterator from find instead
to return pool ptr so that layer_data param can be const.
This will allow this function to be used from "PreValidate" calls
where no state is changed.
|
|
Doesn't win us anything to use emplace_back to invoke a copy
constructor. Construct the unique_ptr from raw ptr in-place instead.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
It can be used to validate the introspection functions or generate the
manifest file for a layer library.
$ ./vk-layer-introspect build/layers/libVkLayer_core_validation.so
{
"file_format_version": "1.0.0",
"layer": {
"api_version": "1.0.13",
"description": "LunarG Validation Layer",
"implementation_version": "1",
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
"spec_version": "2"
}
],
"library_path": "./libVkLayer_core_validation.so",
"name": "VK_LAYER_LUNARG_core_validation",
"type": "GLOBAL"
}
}
|
|
We do it properly now.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
|
|
Add more error detection logic to the install config Powershell
script to help track down recent failures.
|
|
VC++ doesn't support this particular corner of C++11.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Update safe_struct codegen to handle the case of a static array
in a struct. This removes exceptions for VkDebugMarkerMarkerInfoEXT
and VkPipelineColorBlendStateCreateInfo so they can be treated
as all other structs.
|
|
Was missing IsImmutableSampler() override function for the
ImageSamplerDescriptor class.
|
|
Swapchain layer was making a couple of calls directly to
debug_report_log_msg instead of going through log_msg.
Change-Id: I206210bb0d109778c90283144075a77fc459210b
|
|
Use false/true instead of 0/1 in recently-added std::bind calls.
|
|
Change-Id: Iaba3990d2f417375cfa84a295d7184cedb491da6
|
|
Clear priorFences on reset and remove waited on fences from other lists.
|
|
|
|
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
|
|
Call layer_intercept_proc in GetInstanceProcAddr.
|
|
Move handling of interface functions in threading::GetInstanceProcAddr to
v0's vkGetInstanceProcAddr.
|
|
device is always valid in vkGetDeviceProcAddr. instance is valid if pName
is not intercepted in layer_intercept_instance_proc.
|
|
Call down the next layer unless pLayerName is threading.
|
|
Replace globalLayerProps and deviceLayerProps with layerProps. There is
no plan to define more than one layer in the same namespace.
|
|
Drop VK_LAYER_EXPORT as well.
|
|
Put all layer fucntions/data into threading namespace. I had to add some
wrappers to make everything work.
This also removes vkEnumerateInstance*Properties from procmap. procmap is
used in vkGetDeviceProcAddr and it should not contain
vkEnumerateInstance*Properties in the first place.
|
|
|
|
Move them toward the end of the file.
|
|
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
|
|
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
|
|
Per commit 5bf16c33b9c1f38fc467d94716f276620a265327, extension check is
bypassed in GetInstanceProcAddr for VK_KHR_swapchain functions.
|
|
"device" should be always valid in vkGetDeviceProcAddr. "instance" should
be valid in vkGetInstanceProcAddr when the command is not intercepted by
intercept_core_instance_command.
|
|
Drop VK_LAYER_EXPORT as well.
|
|
Move handling of interface functions out of layers' GetInstanceProcAddr to
v0's vkGetInstanceProcAddr.
|
|
Move everything into namespace object_tracker and unique_objects
respectively. I had to add some wrappers to make everything work.
|
|
Add _gen_layer_interface_v0_functions to generate all of them in one
place. Get rid of deviceLayerProps as it is always the same as
globalLayerProps.
|
|
Add intercept_<ext>_command to return intercepted extension commands.
Invoke them from vkGet*ProcAddr.
|
|
Replace layer_intercept_instance_proc with
intercept_core_instance_command, which returns all intercepted core
instance commands.
Replace layer_intercept_device_proc with intercept_core_device_command,
which returns all intercepted core device commands.
The only user visible difference should be that vkGetDeviceProcAddr now
returns NULL for instance commands.
|
|
|
|
|
|
Display appropriate VkPhysicalDeviceLimits items in decimal or hex.
Display Memory Property flags by their enum names, instead of integers.
Add some missing properties and enums.
|
|
|
|
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|