aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-31layers: Improve descriptor copy update validationTobin Ehlis
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.
2016-05-31layers: Remove unneeded else blockTobin Ehlis
The "if" case returns so no need for this else block or the indentation that it includes.
2016-05-31layers: Add usage bit validation for buffer descriptorsTobin Ehlis
Verify that buffer used to update all buffer descriptor types (texel or general) has the correct usage bits set. descriptor
2016-05-31layers: Add usage bit validation for image descriptorsTobin Ehlis
Verify that images used in imageView that's passed to various image descriptor types have the correct usage bits set.
2016-05-31layers: Update freeDescriptorSet() commentTobin Ehlis
2016-05-31layers: Refactor FreeDescriptorSets()Tobin Ehlis
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.
2016-05-31layers: Make layer_data const in getPoolNode()Tobin Ehlis
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.
2016-05-31layers: take better advantage of emplace_back in descriptor setsChris Forbes
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>
2016-05-31add vk-layer-introspectChia-I Wu
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" } }
2016-05-31layers: Remove old hacks for imprecise descriptor tracking for computeChris Forbes
We do it properly now. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-31layers: Do accurate draw-time validation of descriptors used by computeChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-31layers: Make precise DS validation work for both bind pointsChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-31layers: Wire up validation of compute pipelinesChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-31tests: Update doc for dynamic state testsTobin Ehlis
2016-05-30winrt: Add more error logic to Powershell scriptMark Young
Add more error detection logic to the install config Powershell script to help track down recent failures.
2016-05-27layers: Fix safe struct codegen of static arraysChris Forbes
VC++ doesn't support this particular corner of C++11. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-25layers: Handle static arrays in codegenTobin Ehlis
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.
2016-05-24layers: Fix ImageSampler immut sampler checkTobin Ehlis
Was missing IsImmutableSampler() override function for the ImageSamplerDescriptor class.
2016-05-24layers: Use correct log_msg calls in swapchainMark Lobodzinski
Swapchain layer was making a couple of calls directly to debug_report_log_msg instead of going through log_msg. Change-Id: I206210bb0d109778c90283144075a77fc459210b
2016-05-24build: Fix Windows compilation warningsKarl Schultz
Use false/true instead of 0/1 in recently-added std::bind calls.
2016-05-24layers: lvlgh 548, remove obsolete RPATHJon Ashburn
Change-Id: Iaba3990d2f417375cfa84a295d7184cedb491da6
2016-05-24Merge pull request #583 from lentinem/mlentine-clearpriorfencesMichael Lentine
Clear priorFences on reset and remove waited on fences from other lists.
2016-05-24Clear priorFences on reset.Michael Lentine
2016-05-24threading: avoid invalid GIPA call in vkCreateDeviceChia-I Wu
Save VkInstance in layer_data so that we query vkCreateDevice with a valid instance.
2016-05-24threading: handle device commands in GetInstanceProcAddrChia-I Wu
Call layer_intercept_proc in GetInstanceProcAddr.
2016-05-24threading: no interface functions in layer functionsChia-I Wu
Move handling of interface functions in threading::GetInstanceProcAddr to v0's vkGetInstanceProcAddr.
2016-05-24threading: assert valid instance/device in vkGet*ProcAddrChia-I Wu
device is always valid in vkGetDeviceProcAddr. instance is valid if pName is not intercepted in layer_intercept_instance_proc.
2016-05-24threading: improve EnumerateDeviceExtensionPropertiesChia-I Wu
Call down the next layer unless pLayerName is threading.
2016-05-24threading: add threading::layerPropsChia-I Wu
Replace globalLayerProps and deviceLayerProps with layerProps. There is no plan to define more than one layer in the same namespace.
2016-05-24threading: drop vk prefix for layer functionsChia-I Wu
Drop VK_LAYER_EXPORT as well.
2016-05-24threading: put layer functions into a namespaceChia-I Wu
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.
2016-05-24threading: decorate Vulkan commands with VKAPI_ATTRChia-I Wu
2016-05-24threading: move vkEnumerate*Properties aroundChia-I Wu
Move them toward the end of the file.
2016-05-24unique_objects: avoid invalid GIPA call in vkCreateDeviceChia-I Wu
Save VkInstance in layer_data so that we query vkCreateDevice with a valid instance.
2016-05-24object_tracker: avoid invalid GIPA call in vkCreateDeviceChia-I Wu
Save VkInstance in layer_data so that we query vkCreateDevice with a valid instance.
2016-05-24vk-layer-generate.py: handle device commands in GetInstanceProcAddrChia-I Wu
Per commit 5bf16c33b9c1f38fc467d94716f276620a265327, extension check is bypassed in GetInstanceProcAddr for VK_KHR_swapchain functions.
2016-05-24vk-layer-generate.py: assert valid instance/device in vkGet*ProcAddrChia-I Wu
"device" should be always valid in vkGetDeviceProcAddr. "instance" should be valid in vkGetInstanceProcAddr when the command is not intercepted by intercept_core_instance_command.
2016-05-24vk-layer-generate.py: drop vk prefix for layer functionsChia-I Wu
Drop VK_LAYER_EXPORT as well.
2016-05-24vk-layer-generate.py: no interface functions in layer functionsChia-I Wu
Move handling of interface functions out of layers' GetInstanceProcAddr to v0's vkGetInstanceProcAddr.
2016-05-24vk-layer-generate.py: put layer functions into a namespaceChia-I Wu
Move everything into namespace object_tracker and unique_objects respectively. I had to add some wrappers to make everything work.
2016-05-24vk-layer-generate.py: simplify vkEnumerate*Properties generationChia-I Wu
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.
2016-05-24vk-layer-generate.py: add intercept_<ext>_commandChia-I Wu
Add intercept_<ext>_command to return intercepted extension commands. Invoke them from vkGet*ProcAddr.
2016-05-24vk-layer-generate.py: add intercept_core_*_commandChia-I Wu
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.
2016-05-23layers: Display accessMask in HEXTobin Ehlis
2016-05-23Mark fence in use after the check.Michael Lentine
2016-05-23vulkaninfo: Display apiVersion and driverVersion in a more readable format.Rene Lindsay
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.
2016-05-23layers: Fix query tracking across multiple command buffers on the same queueMichael Lentine
2016-05-23layers: Fix event tracking to differentiate reading and writingMichael Lentine
2016-05-23layers: Move and rename validate_descriptor_availability_in_poolChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-05-23layers: Add getPipelineLayout helper, use itChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>