aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_extensions.py
Commit message (Collapse)AuthorAgeFilesLines
* anv: report latest extension spec versionsLionel Landwerlin2020-10-251-13/+13
| | | | | | | | | In many cases those revision happened every before the first public release of the spec and we just forgot to update our numbers. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7136>
* anv: Advertise VK_KHR_shader_terminate_invocationCaio Marcelo de Oliveira Filho2020-10-191-0/+1
| | | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7221>
* anv: Implement VK_EXT_transform_feedback on Gen7Jason Ekstrand2020-10-051-1/+1
| | | | | | | | | | | | | | | Things work a little different on Gen7 than they do on Gen8+. In particular, SOBufferEnable lives in 3DSTATE_STREAMOUT but BufferPitch lives in 3DSTATE_SO_BUFFER. This leaves us having to marshal data around a bit more than we did on Gen8. Still, it's not too bad. Normally, I don't spend much time on Gen7 but XFB just became a hard requirement for DXVK so it stopped working for all our Haswell users. Let's get them happily playing their games again. 😸 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3532 Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6997>
* anv: implement VK_KHR_copy_commands2Lionel Landwerlin2020-09-221-0/+1
| | | | | | Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6801>
* anv: Implement VK_EXT_4444_formatsJason Ekstrand2020-08-031-0/+1
| | | | | | | | | We only support the ARGB format, not the ABGR one. Fortunately, the ARGB is the one required by D3D11. Reviewed-by: Joshua Ashton <joshua@froggi.es> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6158>
* anv: toggle on VK_EXT_extended_dynamic_stateTapani Pälli2020-08-021-1/+1
| | | | | | Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604>
* anv: add VK_EXT_extended_dynamic_state but leave it disabledTapani Pälli2020-08-021-0/+1
| | | | | | | | | | This is needed to ensure the function prototypes are declared. v2: tweak commit message (Jason) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604>
* anv: Advertise support for VK_EXT_shader_atomic_floatJason Ekstrand2020-07-211-0/+1
| | | | | | | We already have all of the shader code for load/store/exchange. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992>
* anv: Advertise VK_EXT_image_robustnessJason Ekstrand2020-07-201-0/+1
| | | | | | | | We already support a superset of VK_EXT_image_robustness via VK_EXT_robustness2. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5985>
* anv: Bump the advertised patch version to 145Jason Ekstrand2020-06-221-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5597>
* anv: enable VK_EXT_pipeline_creation_cache_controlIván Briano2020-06-171-0/+1
| | | | | Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5136>
* anv: add an option to disable secondary command buffer callsLionel Landwerlin2020-06-161-1/+4
| | | | | | | | | | | | | Those are currently hurting Felix' ability to look at the batches. We can probably detect this in the aubinator but that's a bit more work than falling back to the previous behavior. v2: Condition VK_KHR_performance_query to not using this variable (Jason) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5391>
* spirv,radv,anv: implement no-op VK_GOOGLE_user_typeSamuel Pitoiset2020-05-281-0/+1
| | | | | | | | | | | | | | This extension only allows HLSL shader compilers to optionally embed unambiguous type information which can be safely ignored by the driver. This fixes a crash with the recent Vulkan backend of Path Of Exile (it uses the extension without checking if it's supported). Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5237>
* anv: disable VK_EXT_calibrated_timestamps when the timestamp register is ↵Eric Engestrom2020-05-201-1/+1
| | | | | | | | | | | | | | | unreadable When running in a virtual context, the timestamp register is unreadable on Gen12+. While we could work around this, that would result in very inaccurate results for an extension where the whole point is accuracy, so let's just disable the extension. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2797>
* anv: Implement VK_KHR_performance_queryLionel Landwerlin2020-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the same kernel requirements are VK_INTEL_performance_query v2: Fix empty queue submit (Lionel) v3: Fix autotool build issue (Piotr Byszewski) v4: Fix Reset & Begin/End in same command buffer, using soft-pin & relocation on the same buffer won't work currently. This version uses a somewhat dirty trick in anv_execbuf_add_bo (Piotr Byszewski) v5: Fix enumeration with null pointers for either pCounters or pCounterDescriptions (Piotr) Fix return condition on enumeration (Lionel) Set counter uuid using sha1 hashes (Lionel) v6: Fix counters scope, should be COMMAND_KHR not COMMAND_BUFFER_KHR (Lionel) v7: Rebase (Lionel) v8: Rework checking for loaded queries (Lionel) v9: Use new i915-perf interface v10: Use anv_multialloc (Jason) v11: Implement perf query passes using self modifying batches (Lionel) Limit support to softpin/gen8 v12: Remove spurious changes (Jason) v13: Drop relocs (Jason) v14: Avoid overwritting .sType in VkPerformanceCounterKHR/VkPerformanceCounterDescriptionKHR (Lionel) v15: Don't copy the entire VkPerformanceCounterKHR/VkPerformanceCounterDescriptionKHR (Jason) Reuse anv_batch rather than custom packing (Jason) v16: Fix missing MI_BB_END in reconfiguration batch Only report the extension with kernel support (perf_version >= 3) v17: Some cleanup of unused stuff Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775>
* anv: Implement VK_EXT_custom_border_colorIván Briano2020-05-131-0/+1
| | | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4898>
* anv: use the common code for generating extensions and dispatch tablesSamuel Pitoiset2020-05-131-151/+5
| | | | | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4987>
* anv,vulkan: Implement VK_EXT_private_dataJason Ekstrand2020-05-121-0/+1
| | | | | Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4882>
* anv: don't expose VK_INTEL_performance_query without kernel supportLionel Landwerlin2020-05-071-1/+1
| | | | | | | | Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 2b5f30b1d91b ("anv: implement VK_INTEL_performance_query") Acked-by: Timothy Strelchun <timothy.strelchun@intel.com> Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4937>
* anv: Disable extensions based on Android versionsNataraj Deshpande2020-05-011-0/+89
| | | | | | | | | | | | | | | | | | | | This extends commit 2243f0cd for anv with additional extensions for Pie and Q versions. Fixes tests with 9_R11 CTS: dEQP-VK.api.info.android#no_unknown_extensions dEQP-VK.api.info.device#extensions. v2: Use snake_case function name (Jason Ekstrand) Drop Change-Id in commit (Kristian H. Kristensen) v3: Resolve meson-clang error for ANDROID_API_LEVEL. Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4827>
* anv: Limit vulkan version to 1.1 for AndroidNataraj Deshpande2020-05-011-1/+1
| | | | | | | | | | | | | | | | Current Android dessert versions such as Pie, Q reject vulkan version > 1.1. Clamp the vulkan versions to 1.1 for platforms running these Android desserts. Fixes android.graphics.cts.VulkanFeaturesTest and dEQP-VK.api.info.device#properties. v2: Limit version with '!ANDROID' (Eric Engestrom and Tapani Pälli) Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4781>
* Revert "anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)"Jason Ekstrand2020-04-301-4/+2
| | | | | | | | | This reverts commit c61ad77cd260ce7666b257ce411e512e0ca12ec8. We now no longer have a problem with these. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4819>
* anv: Claim VK_EXT_robustness2 supportJason Ekstrand2020-04-281-0/+1
| | | | | | Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4767>
* anv: Advertise VK_KHR_shader_non_semantic_infoCaio Marcelo de Oliveira Filho2020-02-181-0/+1
| | | | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3856>
* anv: Enable SPV_INTEL_shader_integer_functions2 and ↵Ian Romanick2020-01-231-0/+1
| | | | | | | | | | | VK_INTEL_shader_integer_functions2 Currently only implemented in the scalar backend, so only enable for Gen8+. If support for the other opcodes is added to the vec4 backend, Gen7 could be supported. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/767>
* anv: enable VK_KHR_swapchain_mutable_formatLionel Landwerlin2020-01-171-0/+1
| | | | | | | | | Enable new tests in dEQP-VK.image.swapchain_mutable.* Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434>
* vulkan/wsi: Use the interface from the real modifiers extensionJason Ekstrand2020-01-171-0/+1
| | | | | | | | | | | The anv implementation still isn't quite complete, but we can at least start using the structs from the real extension. v2: Fix circular pNext list (Lionel) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434>
* anv: Enable Vulkan 1.2 supportIván Briano2020-01-151-0/+1
| | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Bump the patch version to 131Jason Ekstrand2020-01-151-1/+1
|
* anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)Caio Marcelo de Oliveira Filho2019-12-171-2/+4
| | | | | | | | For the sake of our testing infrastructure, disable this extension for TGL until we can sort out a hang in Vulkan CTS. Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: Export VK_KHR_buffer_device_address only when really supportedIván Briano2019-12-161-1/+1
| | | | | | | | Fixes: 1b6991ba1d8 ("anv: Implement VK_KHR_buffer_device_address") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3071> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3071>
* anv: Bump the advertised patch version to 129Jason Ekstrand2019-12-111-1/+1
| | | | | | We've been keeping up with the spec updates. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: Unconditionally advertise Vulkan 1.1Jason Ekstrand2019-12-111-4/+1
| | | | | | | | | Vulkan 1.1 requires VK_KHR_external_fence which requires syncobj support to be actually usable. However, it doesn't strictly require that we support any external handle types. We should be able to advertise 1.1 even on old kernels that don't have syncobj support. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: Implement VK_KHR_buffer_device_addressJason Ekstrand2019-12-051-0/+1
| | | | | | | | | The primary difference between the KHR and EXT versions of the extension is that the KHR provides the address at AllocateMemory time for replay so we can replay it safely without moving to a sparse address model. Reviewed-by: Ivan Briano <ivan.briano@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: implement VK_KHR_timeline_semaphoreLionel Landwerlin2019-11-111-0/+1
| | | | | | | | | | | | | | | | | v2: Fix inverted condition in vkGetPhysicalDeviceExternalSemaphoreProperties() v3: Add anv_timeline_* helpers (Jason) v4: Avoid variable shadowing (Jason) Split timeline wait/signal device operations (Jason/Lionel) v5: s/point/signal_value/ (Jason) Drop piece of drm-syncobj timeline code (Jason) v6: Add missing sync_fd semaphore signaling (Jason) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: implement VK_KHR_separate_depth_stencil_layoutsLionel Landwerlin2019-11-061-0/+1
| | | | | | | | | | | | | | | | | | | v2: Use ternary to simplify code (Jason) v3: Reorder switch cases to follow existing section ordering (Nanley) Add missing comment in cmd_buffer_end_subpass() about new layout (Nanley) v4: Fix layout comparison for stencil case (Nanley) Update a few more comments (Nanley) Move VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR in color attachment case for future stencil-CCS support (Nanley) v5: Missed comments update (Nanley) Updated relnotes.txt (Lionel) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
* anv: Implement VK_KHR_vulkan_memory_modelCaio Marcelo de Oliveira Filho2019-10-241-0/+1
| | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: implement VK_INTEL_performance_queryLionel Landwerlin2019-10-231-0/+1
| | | | | | | | | | | | | | | | | | | | | v2: Introduce the appropriate pipe controls Properly deal with changes in metric sets (using execbuf parameter) Record marker at query end v3: Fill out PerfCntr1&2 v4: Introduce vkUninitializePerformanceApiINTEL v5: Use new execbuf extension mechanism v6: Fix comments in genX_query.c (Rafael) Use PIPE_CONTROL workarounds (Rafael) Refactor on the last kernel series update (Lionel) v7: Only I915_PERF_IOCTL_CONFIG when perf stream is already opened (Lionel) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
* anv: Advertise VK_KHR_spirv_1_4Caio Marcelo de Oliveira Filho2019-10-141-0/+1
| | | | Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Enable VK_EXT_shader_subgroup_{ballot,vote}Caio Marcelo de Oliveira Filho2019-10-081-0/+2
| | | | | | | | | | | | | | Anvil now supports and passes Vulkan CTS tests matching dEQP-VK.subgroups.*.ext_shader_subgroup_ballot.* dEQP-VK.subgroups.*.ext_shader_subgroup_vote.* and crucible tests matching func.shader-ballot.* func.shader-subgroup-vote.* Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Implement VK_KHR_shader_clockCaio Marcelo de Oliveira Filho2019-10-071-0/+1
| | | | Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: Advertise VK_KHR_shader_subgroup_extended_typesJason Ekstrand2019-09-201-0/+1
| | | | Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
* anv: enable VK_KHR_shader_float_controls and SPV_KHR_float_controlsSamuel Iglesias Gonsálvez2019-09-171-0/+1
| | | | | | | | | | | | | | This adds support for VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR and enables de Vulkan and SPIR-V extensions. Also, notice that this includes the updates applied to the VkPhysicalDeviceFloatControlsPropertiesKHR structure in the extension VK_KHR_shader_float_controls v4 and Vulkan 1.1.116. Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
* anv: Implement VK_KHR_pipeline_executable_propertiesJason Ekstrand2019-08-121-0/+1
| | | | Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: Implement VK_EXT_subgroup_size_control version 2Jason Ekstrand2019-08-121-1/+1
| | | | | | | The version bump adds a proper features struct. Fixes: d10de253097 "anv: Implement VK_EXT_subgroup_size_control" Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* anv: support GetSwapchainGrallocUsage2ANDROID for AndroidTapani Pälli2019-08-081-1/+1
| | | | | | | | | | | | | | New function supports gralloc1 usage flags that get set separately for producer and consumer. As we still need to support old method too, let's share common code and use android_convertGralloc0To1Usage helper. Bump the VK_ANDROID_native_buffer version to indicate support for the new call. Changes were tested on Android Celadon P with Basemark GPU and various Sascha Willems Vulkan demos. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Implement VK_EXT_line_rasterizationJason Ekstrand2019-08-061-0/+1
| | | | Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
* anv: implement VK_EXT_index_type_uint8Lionel Landwerlin2019-07-291-0/+1
| | | | | Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Disable transform feedback on gen7Jason Ekstrand2019-07-251-1/+1
| | | | | | | It's totally implementable, it's just that the plumbing is a bit different and we never hooked it up. Don't advertise a broken feature. Fixes: 36ee2fd61c8 "anv: Implement the basic form of VK_EXT_transform_feedback"
* anv: Implement VK_EXT_subgroup_size_controlJason Ekstrand2019-07-241-0/+1
| | | | Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>