hk: Advertise VK_KHR_pipeline_binary
Signed-off-by: Mary Guillemard <mary@mary.zone> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39095>
This commit is contained in:
@@ -561,7 +561,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||||||
VK_KHR_maintenance9 DONE (anv, hk, lvp, nvk, panvk, radv)
|
VK_KHR_maintenance9 DONE (anv, hk, lvp, nvk, panvk, radv)
|
||||||
VK_KHR_maintenance10 DONE (anv, nvk, radv)
|
VK_KHR_maintenance10 DONE (anv, nvk, radv)
|
||||||
VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv)
|
VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv)
|
||||||
VK_KHR_pipeline_binary DONE (anv, nvk, panvk, radv)
|
VK_KHR_pipeline_binary DONE (anv, hk, nvk, panvk, radv)
|
||||||
VK_KHR_pipeline_executable_properties DONE (anv, hk, nvk, panvk, hasvk, radv, tu, v3dv)
|
VK_KHR_pipeline_executable_properties DONE (anv, hk, nvk, panvk, hasvk, radv, tu, v3dv)
|
||||||
VK_KHR_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
VK_KHR_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
||||||
VK_KHR_present_id DONE (anv, hk, nvk, radv, tu, vn)
|
VK_KHR_present_id DONE (anv, hk, nvk, radv, tu, vn)
|
||||||
|
|||||||
@@ -20,3 +20,4 @@ VK_KHR_surface_maintenance1 promotion everywhere EXT is exposed
|
|||||||
VK_KHR_swapchain_maintenance1 promotion everywhere EXT is exposed
|
VK_KHR_swapchain_maintenance1 promotion everywhere EXT is exposed
|
||||||
VK_KHR_dynamic_rendering on PowerVR
|
VK_KHR_dynamic_rendering on PowerVR
|
||||||
VK_EXT_multisampled_render_to_single_sampled on panvk
|
VK_EXT_multisampled_render_to_single_sampled on panvk
|
||||||
|
VK_KHR_pipeline_binary on HoneyKrisp
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ hk_get_device_extensions(const struct hk_instance *instance,
|
|||||||
.KHR_maintenance9 = true,
|
.KHR_maintenance9 = true,
|
||||||
.KHR_map_memory2 = true,
|
.KHR_map_memory2 = true,
|
||||||
.KHR_multiview = true,
|
.KHR_multiview = true,
|
||||||
|
.KHR_pipeline_binary = true,
|
||||||
.KHR_pipeline_executable_properties = true,
|
.KHR_pipeline_executable_properties = true,
|
||||||
.KHR_pipeline_library = true,
|
.KHR_pipeline_library = true,
|
||||||
#ifdef HK_USE_WSI_PLATFORM
|
#ifdef HK_USE_WSI_PLATFORM
|
||||||
@@ -405,6 +406,9 @@ hk_get_device_features(
|
|||||||
/* VK_KHR_maintenance9 */
|
/* VK_KHR_maintenance9 */
|
||||||
.maintenance9 = true,
|
.maintenance9 = true,
|
||||||
|
|
||||||
|
/* VK_KHR_pipeline_binary */
|
||||||
|
.pipelineBinaries = true,
|
||||||
|
|
||||||
/* VK_KHR_pipeline_executable_properties */
|
/* VK_KHR_pipeline_executable_properties */
|
||||||
.pipelineExecutableInfo = true,
|
.pipelineExecutableInfo = true,
|
||||||
|
|
||||||
@@ -951,6 +955,13 @@ hk_get_device_properties(const struct agx_device *dev,
|
|||||||
/* VK_EXT_multi_draw */
|
/* VK_EXT_multi_draw */
|
||||||
.maxMultiDrawCount = UINT16_MAX,
|
.maxMultiDrawCount = UINT16_MAX,
|
||||||
|
|
||||||
|
/* VK_KHR_pipeline_binary
|
||||||
|
*
|
||||||
|
* InternalCache properties are set by
|
||||||
|
* hk_physical_device_init_pipeline_cache()
|
||||||
|
*/
|
||||||
|
.pipelineBinaryCompressedData = false,
|
||||||
|
|
||||||
/* VK_EXT_pipeline_robustness */
|
/* VK_EXT_pipeline_robustness */
|
||||||
.defaultRobustnessStorageBuffers =
|
.defaultRobustnessStorageBuffers =
|
||||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT,
|
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT,
|
||||||
@@ -1102,6 +1113,12 @@ hk_physical_device_init_pipeline_cache(struct hk_physical_device *pdev)
|
|||||||
|
|
||||||
const uint64_t driver_flags = hk_physical_device_compiler_flags(pdev);
|
const uint64_t driver_flags = hk_physical_device_compiler_flags(pdev);
|
||||||
pdev->vk.disk_cache = disk_cache_create(renderer, timestamp, driver_flags);
|
pdev->vk.disk_cache = disk_cache_create(renderer, timestamp, driver_flags);
|
||||||
|
if (pdev->vk.disk_cache != NULL) {
|
||||||
|
pdev->vk.properties.pipelineBinaryInternalCache = true;
|
||||||
|
pdev->vk.properties.pipelineBinaryInternalCacheControl = true;
|
||||||
|
pdev->vk.properties.pipelineBinaryPrefersInternalCache = true;
|
||||||
|
pdev->vk.properties.pipelineBinaryPrecompiledInternalCache = true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user