Age | Commit message (Collapse) | Author | Files | Lines |
|
This allows the application to provide an existing DRM device file
descriptor into the vulkan drivers instead of having the driver open
the device itself. There is additional information provided about the
desired mode to set on the device; that will be used to apply a mode
set on the first presentation request and to restore the mode after a
VT switch has occurred.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
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
|
|
This will be needed for genvk.py updates.
Change-Id: I48e28b3051b367cb883d86f7fc5b217cadecb495
|
|
These lists were hard-coded in the generator. Added on-the-fly
detection of handles to reduce maintenance.
Change-Id: I8a897da731d96c2f70f00e479a17c355f03a7486
|
|
These were skipped due to problems in codegen. Added support for new
objects into the layer, fixed codegen.
Change-Id: Iaf4fcaa229664f7d3118da4db35649fbdf36e2eb
|
|
These lists are now generated from vk.xml.
Change-Id: Id7571d8b18b272c7d7ead905d53e5ff778afcb6e
|
|
Added the display control and indirect count extensions.
Support is now included for all 1.0.39 extensions.
Change-Id: I299ffd939da0571920c401fb298bc3b8773a394b
|
|
Change-Id: Idcacab581775ce95cf11965b417b625df8e12176
|
|
Change-Id: Iefcf43af57fe42f3df7d5f2e37eb826c2764f1bd
|
|
Change utility function get_my_data_ptr() to be named GetLayerDataPtr()
which is more descriptive and capital camel case in-line with coding
standard.
|
|
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
|
|
Change-Id: I158a86639ec802e47f3a87a95af8cf20d1cffbf5
|
|
Change-Id: I95b1c346d3611c6d6b3a22f108b4b5ff9c313e0c
|
|
This functionality is now generated entirely from vk.xml.
Change-Id: Ie3385f924b6ec9a8d74f2ad6fed7064ab0dc0534
|
|
Change-Id: I6adc6a8ac07f2ac11814a6f8cd06b7d5b0c49797
|
|
Change-Id: I1f3c28b7737e58731206e93af50fb1d18cd4f937
|
|
Change-Id: Ie4171bb18ff499e54bdbd8ff7237e7026e6cf3e9
|
|
Change-Id: I87de80173ff414202f6e876db3da688466f3598d
|