| Age | Commit message (Collapse) | Author |
|
Allows layers to output error messages even if no vk_layer_settings.txt
config file is present. Sets defaults to LOG_MSG, error, stdout.
A layer settings file will override any default values. If no settings
file is present and an app creates a debug callback, the default
callbacks will be removed and unregistered.
Change-Id: I49f37189665816df58c258b9e9629f2bf76751c8
|
|
Since each of the layer library contains only a layer, we can simplify v0
functions by making them wrappers to the contained layer's corresponding
commands.
While we have to make changes to each layer individually, all the changes
should be the same in spirit. The exception is vk-layer-generate.py where
the missing vkEnumerateDeviceExtensionProperties is also added.
|
|
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.
|
|
This is implements some relatively-new functionality of the VK_EXT_debug_report
extension. An application can pass VkDebugReportCallbackCreateInfoEXT structs
on the pNext chain given to vkCreateInstance(), in order to setup one or more
callbacks that can be used during vk{Create|Destroy}Instance(). These special,
"temporary callbacks" allow messages (e.g. errors) to be logged during the time
when the debug_report extension is normally not setup.
A set of utilities copy VkDebugReportCallbackCreateInfoEXT structs from the
pNext chain given to vkCreateInstance(). These utilities are used by the
validation layers that may have messages (e.g. errors) during
vk{Create|Destroy}Instance().
|
|
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
|
|
Change-Id: I773ea148807e5b634ad021ea58b001cd3d1bad87
|
|
|
|
Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec
|
|
Also removed dead code from the layer generation script.
Change-Id: I64fdcaaf1aed8152de62079568c8e247333d8c61
|
|
Change-Id: I318e3759829f33441e57aafedec1e9ec06d658c4
|
|
|
|
The threading validation layer has been basically
re-written, so updating the vendor name accordingly
|
|
Android does not use json files to store layer and
extension information and needs to query it directly
from the layer.
|
|
|
|
Access to command_pool_map data structure in threading validation layer
needs a mutex.
|
|
This problem showed up when running cube --validate and the order
of the layers was arranged so that the threading layer is NOT first.
It can also show up when running vktrace and the threading layer
is in any position, because the vktrace layer becomes first.
The symptom is generally a failure to create an instance when the
threading layer is enabled.
The fix is to check for the non-instance-based procs first by
calling layer_intercept_instance_proc before bailing if the instance
is NULL.
|
|
Reorder includes to avoid conflicts between the VkLayerDispatchTable_
CreateSemaphore/CreateEvent fields and the WIN32 API.
|
|
Add instance write to vkDestroyInstance.
Add device write to vkDestroyDevice.
|
|
Change to std::unordered_map instead of "using namespace std".
|
|
Use threading validation layer generated from vk.xml for android.
|
|
Generate threading layer wrappers in thread_check.h.
Change path for generated vulkan.h.
|