| Age | Commit message (Collapse) | Author |
|
Previously just passed in report data, but need access to more stuff.
Change-Id: I2af7b2ae73d3e2ecd3409f32e8f1a42e5e736d8c
|
|
Modified PV code gen to insert and make calls to validate
extension dependencies.
Change-Id: I90103b16d36fb868b32df796b1dae7741dfcba34
|
|
Extend validate_flags to work in instances where a single Vk*FlagBits
enum value is valid instead of a bitmask with multiple values.
Change-Id: Ib8d34551923f7ecb2549500dfde674fa1094ac8b
|
|
Add loader emulation for VK_KHR_get_surface_capabilities2 commands
Change-Id: I1de99d1bc94d6ec1191601e75b79c5c32fa81fdc
|
|
Add conversion from VulkanObjectType internal enum to the
VkObjectType core enumeration.
Change-Id: I17158722faffaf088e07219a5bf596ee02d2338e
|
|
Change-Id: I310d6d356b5c9377ff8285ee123def989e95b142
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- build new verison of vulkan.hpp
- code fixups for deprecated DebugReportError enum
Note that this does NOT include any shader-checker support for the
VK_AMD_texture_gather_bias_lod extension, as this requires glslang
and SPIR-V updates.
Change-Id: Ie01aed143f2fad065c86e2a27e46fe32ccb9e1f7
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated vulkan.hpp -- NOTE: includes workaround for mishandled
extension API
- updated parameter validation layer with new APIs
Change-Id: I0b65065e1a0355c18c4a5eafdb0b3d218af6ff91
|
|
The unique_objects_wrappers.h header was generated with code that
caused several compilation warnings. This resolves those warnings.
Change-Id: I5ed3bdb6bbe7df48b3fe6fb6679916161b32fdfd
|
|
Add the ability for the loader to emulate the commands in
VK_KHR_get_physical_device_properties2. This will only be used when
using multiple physical devices where only one supportes the ext.
Change-Id: I596c8ee9eea5e5136e5b478508abb21c5d8ad5a1
|
|
Fix a bug whereby commands from physical device extensions were
not being written to the instance extension dispatch table,
preventing their terminators from ever being run.
Change-Id: I38dab0ae6463674f2a1f572bc0ee1eebe8d0dd13
|
|
In some situations, the loader wouldn't directly use the
GetInstanceProcAddr or GetDeviceProcAddr function overrides directly.
Instead, the loader would call vkGetInstanceProcAddr with an
argument of "vkGetInstanceProcAddr" and vkGetDeviceProcAddr with an
argument of "vkGetDeviceProcAddr". This short-cuts that.
NOTE: Layers still need to support these queries because if another
layer is above you, it may call "vkGetInstanceProcAddr" with
to get "vkGetDeviceProcAddr".
Change-Id: I810945f45121d42d23b69d0b3334d6bad3a8ed2f
|
|
No need for the cast, these types already line up.
|
|
|
|
|
|
Trims out some allocations; fixes leak of dispatch tables
|
|
|
|
Change-Id: I3b4208ca3777ac46b2c5ab2839c268ed4381a2ac
|
|
Prevents unused var warnings by changing to be a constant.
Change-Id: Ie8f6cc837dd589074ae2278de34d4bd0a3e66236
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated vulkan.hpp
Change-Id: I90407d181ad6a4652e1d1f210ee9b9d21c7857b0
|
|
VkPresentInfo::pResults is an /output/ array. The generated code makes a
copy on the way in (pointlessly, but other clients of safe_* might find
this reasonable), but neglects to copy it back on the way out.
Lift the current code generated for QueuePresentKHR back into the
special cases, and add the correct post-call copy.
Fixes #1670.
V3: Just open-code the loop. I don't want to turn off MSVC's fussy mode,
and it's convinced both std::copy and std::copy_n are unsafe with all
raw pointers.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
Since this was codegen'd, we can just create a static array for the
object type conversion and do away with all of the switch statement
mess.
Change-Id: I5fb20778d64f0675afa9c1563e2d44d22d5b4a02
|
|
Also fixed a bug with the object type names.
Change-Id: Iea3c89a2e53266704aff0727296cce0e460195ce
|
|
This was a special case, manually written as it contained a pnext
extension chain containing Vulkan handles. Codegen now covers this
case.
Change-Id: I086d4314aeb9968c3f151e4e7134de7846c1c8d0
|
|
Change-Id: I86f30aed8a35d91d4c08585210cc0571a27c7430
|
|
Unique-objects layer did not handle extension structs or chains of
extension structs. Automated generation and handling of unwrapped
struct chains.
Change-Id: I8cc813c9bf7290bbcec257245848e54e1ce8a0f7
|
|
Codegen created wrap/unwrap code on the fly as commands were processed
by the XML. Deferred codegen until all the data was complete and
collected.
Change-Id: I295ab59ad5dd24a5321e348cb18f96f2d0eed824
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated vulkan.hpp
Change-Id: I0da07ad3d623d0f249593fa2d7d8e336e6ee8ad7
|
|
Change-Id: Ib621d93069912bac6bbdc643c02fe6b711803c6f
|
|
Change-Id: I2e4a9be203f13daccc5674d0b8f66729046af46c
|
|
Extended the helper_file_generator to produce an object type enum
header file.
Change-Id: I8013091b34028522d8f50ef3941d7021b262613c
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- fixed include/vulkan/vulkan.hpp -- see Note
Note: The Vulkan.hpp generator asserted when processing the 1.0.46 header
files. Added a temporary workaround for this issue, but it may affect
use of the vulkan.hpp header file.
Change-Id: Iab296bf2004fbf6099baaab148994b15b0392381
|
|
Change-Id: Ia377c52e43442fec17b823c888df6685eff0aca5
|
|
VkWriteDescriptorSet::dstSet is ignored by vkCmdPushDescriptorSetsKHR,
so the 'must not be a null handle' validation for dstSet has been moved
from the code validating the VkWriteDescriptor struct members to the
code validating the vkUpdateDescriptorSets function parameters.
Change-Id: Ia6f11d33e4d57d4c848aab72cfd91da5d5a15a30
|
|
Fix code generation for extension functions receiving struct parameter
types defined by core Vulkan. Extensions are processed as separate
features by the code generator, and the type info required for structure
generation was not being shared across features. The code generator has
been modified to share type info across features so that the validation
code generated for extension functions includes validation for core
structures:
- Prevent unique objects and parameter validation code generators from
clearing struct type info data structures at the start of feature
processing.
- Remove unused data structures from unique objects code generator.
- Adds handle unwrapping and parameter validation for elements in the
vkCmdPushDescriptorSetKHR pDescriptorWrites parameter.
- Adds handle unwrapping and parameter validation for elements in the
vkCreateSharedSwapCHainsKHR pCreateInfos parameter.
- Adds VkAllocationCallback parameter validation to the WSI and
descriptor update template extensions functions.
Change-Id: I016aa6550681dbf7d6bda834272374ce63ed1940
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated include/vulkan/vulkan.hpp
- FIXED scripts/vk.xml (see note)
NOTE:
This commit also includes an unofficial change to vk.xml. The 1.0.45
header update broke the structure definition for device_features2. The
mangled line has been replaced in this update.
Change-Id: If646355a5b211ca90484d449a1c55412decc3de6
|
|
Codegen attempted to infer name definitions instead of pulling from
the source XML, causing errors in new header updates.
Change-Id: I04e03b45dacf7c943b91e47f6ecffc82354c6f1b
|
|
CodeGen ignored these APIs as they contain handles which are embedded
in a structure and aliased. Added manual coverage.
Change-Id: I81cf1945981a8e0b69966a9d0e190e49ff728ea8
|
|
- updated include/vulkan/vulkan.h
- updated scripts/generator.py
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated include/vulkan/vulkan.hpp
Change-Id: I1d18921f75ec74484918be6cfdba394fc397d2f5
|
|
vkEnumeratePhysicalDeviceGroupsKHX was not properly generating the
physical device information or groups. Several changes resolve
most of the issue, however, I'm still seeing issues when certain
layers enabled.
Change-Id: Id8d4553da25491a3d0a97e8d44e21340b41bc09c
|
|
- updated include/vulkan/vulkan.h
- updated scripts/cgenerator.py
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated loader SOVERSION
- updated include/vulkan/vulkan.hpp
- updated parameter_validation.cpp with new APIs
- updated object_tracker.cpp with new APIs
Change-Id: I1fd812cb376d5cddee5ab4acf2e4f8fe6d33b761
|
|
In unique_objects, moved these functions from being auto-generated to
being manually written.
Change-Id: Iae7ccac0ad51d57826104bd0532742a098c673ce
|
|
Deep copies are needed for some of the new extensions.
Change-Id: I7e77fe30a87129aa720225ae16eb87cdba8e626e
|
|
Merge a few if's together to make the code easier to follow.
Change-Id: I2453c8217da81befb4f44af19241c13c4aaef8af
|
|
The loader code generation scripts had a bug that
caused all the surface->ICD surface translation C
code to be placed inside a block that only ran if
the ICD didn't support the extension function,
making it effectively a no-op. ICDs that
supported the extension were instead called with
the un-translated surface handle, which could
cause a crash if they were expecting their local
surface handle.
Also, speculatively fix up return handling in this
same class of functions by handling the void
return type.
|
|
Updated all necessary files to 1.0.42. This includes the various
headers as well as the loader, and the parameter validation, object
tracking, and threading layers. Additionally, bump all layer JSON
files to 1.0.42.
Also, in this change:
- Enable loader extension automation so that the loader now
generates all extension entry-points automatically during build
to reduce likelihood of missing a critical piece on header
update.
- Enable layer dispatch table extension automation for the same
reason.
- Fixes from Mark Lobodzinski and Tony Barbour to resolve crash
in loader when working with Intel's Windows driver due to
GetInstanceProcAddr getting called on inappropriate command
names.
Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
|
|
This API is a special-case for the code-gen in that it sometimes
returns an array of images. These do not need to be counted by
start/finishReadObject and so were moved into the non-generated
part of the layer source.
Change-Id: Iaaab9143abadbf025b5f3c118aa26dae3c6f1bec
|
|
updated:
- include/vulkan/vk_platform.h
- include/vulkan/vulkan.h
- scripts/generator.py
- scripts/cgenerator.py
- scripts/lvl_genvk.py
- scripts/reg.py
- scripts/vk.xml
- include/vulkan/vulkan.hpp
- layers/tests json files
- loader SOVERSION
Change-Id: I1e7c3e39206be3c6d2c12b46c438a1fb9343945e
|
|
Needed to special case this routine to skip validating objects
before creation. Caught in CTS testing.
Change-Id: Ic1c1b69bd1d75a5742c8b709624153db6af71885
|
|
fixed:
- generators for latex math changes
updated:
- include/vulkan/vk_platform.h
- include/vulkan/vulkan.h
- scripts/generator.py
- scripts/lvl_genvk.py
- scripts/reg.py
- scripts/vk.xml
- include/vulkan/vulkan.hpp
- layers/tests json files
- loader SOVERSION
Change-Id: Id7d6f9dee73888877f2e7528f5701871f54ece79
|