{"id":1127,"date":"2021-08-10T10:10:13","date_gmt":"2021-08-10T08:10:13","guid":{"rendered":"https:\/\/blogs.igalia.com\/itoral\/?p=1127"},"modified":"2021-08-10T10:10:13","modified_gmt":"2021-08-10T08:10:13","slug":"an-update-on-feature-progress-for-v3dv","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/itoral\/2021\/08\/10\/an-update-on-feature-progress-for-v3dv\/","title":{"rendered":"An update on feature progress for V3DV"},"content":{"rendered":"<p>I&#8217;ve been silent here for quite some time, so here is a quick summary of some of the new functionality we have been exposing in V3DV, the Vulkan driver for Raspberry PI 4, over the last few months:<\/p>\n<ul>\n<li>VK_KHR_bind_memory2<\/li>\n<li>VK_KHR_copy_commands2<\/li>\n<li>VK_KHR_dedicated_allocation<\/li>\n<li>VK_KHR_descriptor_update_template<\/li>\n<li>VK_KHR_device_group<\/li>\n<li>VK_KHR_device_group_creation<\/li>\n<li>VK_KHR_external_fence<\/li>\n<li>VK_KHR_external_fence_capabilities<\/li>\n<li>VK_KHR_external_fence_fd<\/li>\n<li>VK_KHR_external_semaphore<\/li>\n<li>VK_KHR_external_semaphore_capabilities<\/li>\n<li>VK_KHR_external_semaphore_fd<\/li>\n<li>VK_KHR_get_display_properties2<\/li>\n<li>VK_KHR_get_memory_requirements2<\/li>\n<li>VK_KHR_get_surface_capabilities2<\/li>\n<li>VK_KHR_image_format_list<\/li>\n<li>VK_KHR_incremental_present<\/li>\n<li>VK_KHR_maintenance2<\/li>\n<li>VK_KHR_maintenance3<\/li>\n<li>VK_KHR_multiview<\/li>\n<li>VK_KHR_relaxed_block_layout<\/li>\n<li>VK_KHR_sampler_mirror_clamp_to_edge<\/li>\n<li>VK_KHR_storage_buffer_storage_class<\/li>\n<li>VK_KHR_uniform_buffer_standard_layout<\/li>\n<li>VK_KHR_variable_pointers<\/li>\n<li>VK_EXT_custom_border_color<\/li>\n<li>VK_EXT_external_memory_dma_buf<\/li>\n<li>VK_EXT_index_type_uint8<\/li>\n<li>VK_EXT_physical_device_drm<\/li>\n<\/ul>\n<p>Besides that list of extensions, we have also added basic support for Vulkan subgroups (this is a Vulkan 1.1 feature) and Geometry Shaders (we use this to implement multiview).<\/p>\n<p>I think we now meet most (if not all) of the Vulkan 1.1 mandatory feature requirements, but we still need to check this properly and we also need to start doing Vulkan 1.1 CTS runs and fix test failures. In any case, the bottom line is that Vulkan 1.1 should be fairly close now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been silent here for quite some time, so here is a quick summary of some of the new functionality we have been exposing in V3DV, the Vulkan driver for Raspberry PI 4, over the last few months: VK_KHR_bind_memory2 VK_KHR_copy_commands2 VK_KHR_dedicated_allocation VK_KHR_descriptor_update_template VK_KHR_device_group VK_KHR_device_group_creation VK_KHR_external_fence VK_KHR_external_fence_capabilities VK_KHR_external_fence_fd VK_KHR_external_semaphore VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_fd VK_KHR_get_display_properties2 VK_KHR_get_memory_requirements2 VK_KHR_get_surface_capabilities2 VK_KHR_image_format_list VK_KHR_incremental_present &hellip; <a href=\"https:\/\/blogs.igalia.com\/itoral\/2021\/08\/10\/an-update-on-feature-progress-for-v3dv\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;An update on feature progress for V3DV&#8221;<\/span><\/a><\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1127","post","type-post","status-publish","format-standard","hentry","category-graphics"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/comments?post=1127"}],"version-history":[{"count":2,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1127\/revisions"}],"predecessor-version":[{"id":1129,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1127\/revisions\/1129"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/media?parent=1127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/categories?post=1127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/tags?post=1127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}