| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Test: Build
Change-Id: I72f16b883f1a538454fa55ff50bde972db39da4e
|
| |
|
|
|
| |
Bug: 191881132
Test: build
Change-Id: I1c9ca806c810cda1dca8d2f7a39d888c4ebdd976
|
| |
|
|
|
|
| |
Bug: 191881132
Test: build
Change-Id: Ie9e13d64a438d895f92e826e693477d508200054
|
| |
|
|
|
|
| |
Bug: 192288751
Test: build
Change-Id: Icee2374114f14285c6e522c0ccfbf106390a8fa3
|
| |
|
|
|
|
|
|
|
|
|
| |
1. Fixed a false assumption on max api version in gen script
2. Updated thae gens via ./vulkan/scripts/code_generator.py
3. Added the new entry points to null_driver.
4. Updated the llndk symbol map
Bug: 171402955
Test: build
Change-Id: Ifa0b9dce7f4138ca0c72c1c17ca3af8eed538abf
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vkGetInstanceProcAddr(nullptr, ...) is valid and is effectively a
globally dispatched function, so it's consistent to support querying
vkGetInstanceProcAddr from itself without an instance.
This is required in Vulkan 1.2 and is supported for all Vulkan versions
by the loader on other platforms. To maximize app compatibility and
minimize surprises, this makes it work on Android also, even for pre-1.2
versions where the result is undefined by the spec.
Bug: 157173922
Test: dEQP-VK.api.version_check.entry_points with
https://gerrit.khronos.org/#/c/5490/ applied and modified to
check even on pre-1.2 implementations.
Change-Id: I820dd1239df54a415b7ff5db47cf2c2b349f6155
|
| |
|
|
|
|
|
|
|
|
| |
Instead of using the manually created vulkan.api file for generating the
Vulkan driver framework, we generate it directly from the vulkan
registry (vk.xml)
Bug: 134711355
Test: Build and flash, dEQP tests
Change-Id: Ie38d93c51ff16d2108cbe9a9a717a0bea24947df
|
| |
|
|
|
|
|
|
|
|
| |
Update code-generator.tmpl to match the result from doing `$ apic
template ../api/vulkan.api code-generator.tmpl`.
Update null_driver.tmpl to match the result from doing `$ apic template
../api/vulkan.api null_driver.tmpl`.
Test: build
Change-Id: Idcf6c148fd0d49bb1b6a31e657e82970f52923c0
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Key changes since 1.1.87:
* Added VK_KHR_vulkan_memory_model
* Added VK_EXT_transform_feedback
* Added VK_EXT_image_drm_format_modifier
* Added VK_EXT_calibrated_timestamps
* Added VK_EXT_pci_bus_info
Test: build
Change-Id: I66c41101ca97ca5e5a7bc0e2855fa07d0aab430d
|
| |
|
|
|
|
|
|
|
| |
Key changes since 1.1.72:
* Added VK_KHR_draw_indirect_count
* Added VK_KHR_display_properties2
Test: build
Change-Id: I658cb86096d2fecc3b24f6e1b2febb6ce88bdf5b
|
| |
|
|
|
| |
Test: build
Change-Id: Ice6ec464e91aaf42d56afaf9b11fb514076f64e9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Key changes from 1.1.61:
* Introduced split headers:
* vulkan_core.h provides all declarations that don't depend on
platform-specific headers
* vulkan_android.h provides Android-specific declarations
* vulkan.h is retained for source compatibility, and includes both
of the above; vulkan_android.h is conditional on
VK_USE_PLATFORM_ANDROID_KHR
* Re-defined symbols for extensions that were merged into Vk1.1 as
typedefs/aliases for the new core symbols.
* New extensions:
* VK_EXT_conservative_rasterization
* VK_EXT_debug_utils
* VK_EXT_external_memory_dma_buf
* VK_EXT_external_memory_host
* VK_EXT_global_priority
* VK_EXT_queue_family_foreign
* VK_AMD_shader_image_load_store_lod
* VK_AMD_shader_info
Test: build
Change-Id: I84cdb4c24eed27ead99047951f795ccafa0bfc9a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit includes the following:
- Make new/Vulkan 1.1 core commands be optional in codegen. Before this
change, the loader crashed when starting with a 1.0 app, and using a 1.0 ICD.
That's because the loader couldn't find "required" 1.1 entrypoints. This
change makes those entrypoints "optional" with a new annotation in the api
file.
- Changes from internal reviews, including a fix for the algorithm of
EnumeratePhysicalDeviceGroups.
Test: Run with a 1.0 app with a 1.0 driver and make sure the loader works
Change-Id: I55914b680a1601cb9f3f2cc0257091a0a34ae7f2
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import Vulkan 1.1 header from
khronos master@5b2d66c0e6906388385ed7adfd015d80ec0d846a
with the following modifications:
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES 10006300 -> 1000063000
- remove VK_KHR_get_display_properties2 (which is not ratified)
- device_group interactions from KHR_surface to KHR_swapchain (per MR 2409)
Summary of changes since 1.0.61:
* VK_KHR_surface -> v26 (subsumed interactions with VK_KHR_device_group)
* VK_KHR_swapchain -> v69 (subsumed interactions with VK_KHR_device_group)
* VK_EXT_debug_report -> v9 (no api changes)
* VK_KHX_multiview -> VK_KHR_multiview
* VK_KHX_device_group -> VK_KHR_device_group
* VK_KHX_device_group_creation -> VK_KHR_device_group_creation
* VK_KHR_push_descriptor -> v2
* Added VK_KHR_maintenance3
* Added 1.1 core enums, structs, and functions (kept KHR suffixed ones too)
Implemented the following in libvulkan:
* EnumerateInstanceVersion
* GetDeviceGroupPresentCapabilitiesKHR (minimal support for 1 device)
* GetDeviceGroupSurfacePresentModesKHR (minimal support for local present modes only)
* GetPhysicalDevicePresentRectanglesKHR (assumes whole window)
* AcquireNextImage2KHR (minimal thunk to AcquireNextImageKHR)
* GetDeviceQueue2
* added support for VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR
* support for 1.1 core device_groups functionality (no VK_KHR_device_group_creation)
- EnumeratePhysicalDeviceGroups
* added trampolines for 1.1 core entry points
* disabled apiVersion >= 1.1 check
Implemented in nulldrv (but largely untested beyond build/link)
* EnumerateInstanceVersion
* enough empty thunks for VK 1.1 core functions that it links
Test: Build Android
Change-Id: I247cd670543867bdf80877156d941cf3bfcf6303
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary of changes since 1.0.54:
* Added VK_KHR_relaxed_block_layout
* Added VK_EXT_post_depth_coverage
* Added VK_EXT_shader_viewport_index_layer
* Added VK_EXT_sample_locations
* Added VK_EXT_validation_cache
* Added VK_EXT_shader_stencil_export
* Added VK_AMD_mixed_attachment_samples
* Added VK_AMD_shader_fragment_mask
* VK_EXT_swapchain_colorspace added new enum VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
* Added const to some VK_EXT_debug_report function parameters
Test: build
Change-Id: Ibfbf84a50ab927e6e37cd4044d00b7375cd005e4
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Key changes since 1.0.53:
* Updated several KHX extensions and promoted to KHR:
* VK_KHR_external_memory_capabilities
* VK_KHR_external_memory_win32
* VK_KHR_external_memory_fd
* VK_KHR_external_semaphore_capabilities
* VK_KHR_external_semaphore
* VK_KHR_external_semaphore_win32
* VK_KHR_external_semaphore_fd
* VK_KHR_win32_keyed_mutex
* Added new extensions:
* VK_KHR_external_fence_capabilities
* VK_KHR_external_fence
* VK_KHR_external_fence_win32
* VK_KHR_external_fence_fd
* VK_KHR_storage_buffer_storage_class
* VK_KHR_variable_pointers
* VK_KHR_dedicated_allocation
* VK_KHR_get_memory_requirements2
Test: build
Change-Id: I790143b0d5160c02a016f1e67720edbf6bc45636
|
| |
|
|
|
|
|
|
| |
.. and new struct added to latest version of
KHR_shared_presentable_image.
Test: build
Change-Id: I653d0d8ad384c256e9a5c4cb79554360a5b2606e
|
| |
|
|
|
| |
Test: de.saschawillems.vulkanGears
Change-Id: Ib4fb6c279349c821384f73991105218e14dd6a79
|
| |
|
|
|
| |
Test: mmm frameworks/native/vulkan
Change-Id: I9c41b483fbf48a7404b54bfe405c40b58422ea74
|
| |
|
|
|
|
|
|
|
|
| |
Various problems: uint32_t vs u32, a dropped }, function body with
semantics that crash the generator, etc ...
V2: don't export Ian's extensions from libvulkan.
Change-Id: I1dceb4d4fc21ad5d38255c4979d9ef372ea2a28b
Test: build
|
| |\
| |
| |
| |
| |
| |
| | |
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I84d0ffa430df3beca0dcc6ed205ce220d7be1f87
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if possible
- add system includes that are assumed as side effects
- define LOG_TAG first
Test: compile
Bug: 31289077
Bug: 30465923
Change-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This provides the header changes and most of the "boilerplate" changes to add
the VK_GOOGLE_display_timing extension to Vulkan. Future changes will modify
and integrate with the Surface, FrameEvents, and SurfaceFlinger code.
Test: Manually tested that existing apps won't tickle the new-extension paths.
Change-Id: Iec46b1cab4b2561702ebac9a4ae7587584793192
|
| | |
| |
| |
| |
| | |
Change-Id: I60881a66dba693cf8d16fe0d3a19e517b6bdcf24
Test: build, run cube demo
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Catches up with the current upstream header. Preserves the local changes
for incremental present.
V2: Fix indentation issues
V3: Add missing struct and defines for EXT_validation_flags
Change-Id: I6e4f44e0eba8de00b010a6918ec2ba92614cc6bc
Test: Ensured cube demo still works
|
| |\|
| |
| |
| |
| | |
Test: build
Change-Id: Id1c6d3d9dd158fb086b0d8ab74f7838ef0a51af1
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if required
- add system includes that are assumed as side effects of log.h
- modules that use SLOG should use SLOG for all logging (installd)
- define LOG_TAG first
- remove logging infrastructure if not used
Test: build
Bug: 31289077
Change-Id: Iea147a0104c7ab7f12451304131d6500f42141e7
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When a function is added by a later revision of an extension, and the
loader expects to deal with drivers written against revisions before and
after that point, we need to not fail hard on missing that function.
Change-Id: Iac6383f6a424afe6e7f83acc86b674669a118c51
Test: Run Vulkan-LoaderAndValidationLayers Cube demo
|
| |/
|
|
|
|
|
|
|
|
|
| |
Meaningful changes to platform code:
* VKAPI_ATTR is now defined properly when building for 32-bit ARMv8a.
* The pData parameter to vkCmdUpdateBuffer changed from uint32_t* to
void*. Alignment is still required to be four bytes (by spec), and
the size parameter was always supposed to be bytes, not words.
Bug: 29460769
Change-Id: I224c53cb08427bea1b0e8ac74802c2f1eed10496
|
| |
|
|
|
|
|
| |
We never use it. Since it is also deprecated, we will never need it.
Bug: 27910383
Change-Id: If4e556bb69890153be2987b165482e43ab06a890
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our vkGet*ProcAddr uses the exported functions. They will break when any
of the exported functions are overridden (e.g., through LD_PRELOAD).
Unexport and move all exported functions to vulkan::api namespace.
Re-export them by having vkFoo as a wrapper to vulkan::api::Foo.
Another option is to re-export vulkan::api::Foo by having vkFoo as an
alias using __attribute__((alias)). That results in smaller binaries.
But we will not be able to catch mismatches between vulkan.h and
vulkan.api.
To avoid future breakage, define VK_NO_PROTOTYPES for all files except
api_gen.cpp.
Bug: 28886971
Change-Id: I08fde7ebb247f8c7e040ccf812b40b02094d3c7f
|
| |
|
|
|
|
|
| |
Except for INIT_PROC, where ALOGE is still used for layer/HAL bugs.
Bug: 28120066
Change-Id: Icd9ce99b6bfb77816b11c05f6c8b197a6782b7cd
|
| |
|
|
|
|
|
|
|
| |
Initialize dispatch table entries for non-enabled WSI functions to stubs.
We do not want to initialize them to NULL because they may still be
invoked through the exported WSI entrypoints.
Bug: 25850852
Change-Id: I25b715700990ad7432740f031764d70396024d32
|
| |
|
|
|
|
|
| |
This allows vulkan::api::DestroyDevice to properly unreference layers.
Bug: 28077754
Change-Id: I194925d29dee3489b63f4a44669c791d378afa39
|
|
|
The top is responsible for layer discovery and chaining, and the bottom is
like a regular layer that is always enabled and is inserted just before
the driver. Make the separation clear by rewriting the top and stripping
the layer managment code from loader.cpp.
Change-Id: I64e525e27bd4c297bccd94a1eb9b88e28088e85d
|