| Age | Commit message (Collapse) | Author |
|
Was ignoring VK_WHOLE_SIZE. Moved validation cases for Update/FillBuffer
to Parameter Validation layer (as they were stateless) and added the
remaining additional stateless valid usage checks.
Change-Id: I0f41c6ba55f218a6db9fb34736a2abc52f856edf
|
|
Replace call sequence errors with warnings for
vkEnumeratePhysicalDevices and GetPhysicalDeviceQueueFamilyProperties.
Change-Id: I1505f4a2b339ac7ef435da8b3ec2f85612026a42
|
|
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.
|
|
1) Introduce convention of explicitly placing "0x" before hex
format requests for clarity (don't use "%#")
2) All lower case in hex output (except w/stringstream which refuses
to do anything but uppercase, possibly only on windows).
3) Decorated pointers are printed for all Vulkan structure types.
3) Some intelligence in generators based on Vulkan variable name:
if the Vulkan variable name contains ("flag", "bit", "offset",
"handle", "buffer", "object", "mask") it will be output in
hexadecimal format
4) Remove "using namespace std;" from global scope of vk_struct_string_helper_cpp.h
Change-Id: Idbae73bfdaa3bc059543d43b209373cd0bcbc099
|
|
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
|
|
Handle device commands as well. Move handling of interface functions to
v0's vkGetInstanceProcAddr.
|
|
s/vkEnumerateInstanceDeviceProperties/vkEnumerateDeviceExtensionProperties/.
|
|
Split command intercepting out to intercept_core_instance_command.
|
|
They are defined but unused.
|
|
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.
|
|
Call down the next layer unless pLayerName is device_limits.
|
|
Replace dl_global_layers with global_layer. 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 device_limits namespace. I had to add
some wrappers to make everything work.
|
|
Move them toward the end of the file.
|
|
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
|
|
Previously this used '1'.
Also clean up the enum, and description of device_limits checks.
Found by inspection while reviewing #290.
Change-Id: I710d9b8fad0ca027eb3de67b6c2c70b5628af5a5
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
|
|
Fixes the MSVS warnings regarding unsafe mix of VkBool32 and bool for the
device_limits, image, parameter_validation, and threading layers.
Converts all Boolean usage internal to the layers to bool/true/false. The
VK_TRUE and VK_FALSE values continue to be used with the Vulkan API
components.
Change-Id: I612d3f26050fadcd77ffca4d8723a7c734613816
|
|
Fix buffer/descriptor offset alignment checks in device_limits:
- vkUpdateDescriptorSets offset check was not performed with
the correct physical device alignments.
- vkBindBufferMemory offset check was always performed with the
UBO alignment. This check has been moved to core_validation,
where the offset is checked against the alignment associated
with its usage type and the alignment retrieved from
vkGetBufferMemoryRequirements.
Change-Id: I4f64e06c44972a224d1930cb0798a9f472b768f2
|
|
Change-Id: I6f9c045d6154d2c08aa2516caf8e250dcef22e84
|
|
Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec
|
|
Also removed dead code from the layer generation script.
Change-Id: I64fdcaaf1aed8152de62079568c8e247333d8c61
|
|
Change-Id: I318e3759829f33441e57aafedec1e9ec06d658c4
|
|
Change-Id: Ib527e646aabbd0aecbadf9071ca9e271a8729735
|
|
This device extensions was not completely supported in any layer. It had partial
support (intercept) in draw_state and device_limits. This extension is being
changed and has a formal proposal in Khronos as debug_marker_ext. Removing
the existing extension since it is deprecated; once the debug_marker_ext gets
registered by Khronos, layers might want to start using the ObjectTag/ObjectName
commands to supplement error report messages in debug_report_ext. Since
debug_report_ext might get changed as part of Khronos review, don't add it yet.
|
|
|
|
Android queries information about layers and extensions
from the layers via the Enumerate*Properties calls so
need them to function correctly. This patch adds missing
functions.
---------------------------
|
|
|
|
|
|
|
|
Removed vk_ext_debug_report.h (contents moved into vulkan.h)
Renamed debug report message enums
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit e260acfb96ea20945149ede6a250ef622ca7fd03.
The clang-format changes need to be postponed until just prior
to public release to facilitate MRs.
|
|
|
|
|
|
Had to fix more 32-bit build issues caused by recent commits.
|
|
Conflicts:
include/vulkan/vk_ext_debug_report.h
Conflicts:
include/vulkan/vk_ext_debug_report.h
|
|
New layer init method requires the construction of
Link information for CreateInstance and CreateDevice
that is accessible to layers via the CreateInfo.pNext pointer.
The layer can then use the Get*ProcAddr from the Link
structure to initialize their dispatch table if the
call down the chain returns successfully.
This removes the need to do special initialization work
at Get*ProcAddr time.
Layer Get*ProcAddr now return their internal function
pointers regardless of the value of instance or device.
Only need to have valid instance & device when looking
up extensions or when passing the request down the chain.
This mechanism allows us to remove object wrapping used
by the loader previously. Also simplifies the dispatch table
setup.
Conflicts:
layers/device_limits.cpp
layers/draw_state.cpp
loader/loader.c
loader/trampoline.c
|
|
|
|
|
|
|
|
Header file changes going to 213 version
|
|
Conflicts:
layers/draw_state.cpp
layers/image.cpp
layers/mem_tracker.cpp
|
|
|