1*bbecb9d1SAndroid Build Coastguard Worker /* 2*bbecb9d1SAndroid Build Coastguard Worker * Copyright 2020 Google LLC 3*bbecb9d1SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*bbecb9d1SAndroid Build Coastguard Worker */ 5*bbecb9d1SAndroid Build Coastguard Worker 6*bbecb9d1SAndroid Build Coastguard Worker #ifndef VKR_PHYSICAL_DEVICE_H 7*bbecb9d1SAndroid Build Coastguard Worker #define VKR_PHYSICAL_DEVICE_H 8*bbecb9d1SAndroid Build Coastguard Worker 9*bbecb9d1SAndroid Build Coastguard Worker #include "vkr_common.h" 10*bbecb9d1SAndroid Build Coastguard Worker 11*bbecb9d1SAndroid Build Coastguard Worker #include "venus-protocol/vn_protocol_renderer_util.h" 12*bbecb9d1SAndroid Build Coastguard Worker 13*bbecb9d1SAndroid Build Coastguard Worker struct gbm_device; 14*bbecb9d1SAndroid Build Coastguard Worker 15*bbecb9d1SAndroid Build Coastguard Worker struct vkr_physical_device { 16*bbecb9d1SAndroid Build Coastguard Worker struct vkr_object base; 17*bbecb9d1SAndroid Build Coastguard Worker 18*bbecb9d1SAndroid Build Coastguard Worker struct vn_physical_device_proc_table proc_table; 19*bbecb9d1SAndroid Build Coastguard Worker 20*bbecb9d1SAndroid Build Coastguard Worker VkPhysicalDeviceProperties properties; 21*bbecb9d1SAndroid Build Coastguard Worker uint32_t api_version; 22*bbecb9d1SAndroid Build Coastguard Worker 23*bbecb9d1SAndroid Build Coastguard Worker VkExtensionProperties *extensions; 24*bbecb9d1SAndroid Build Coastguard Worker uint32_t extension_count; 25*bbecb9d1SAndroid Build Coastguard Worker 26*bbecb9d1SAndroid Build Coastguard Worker bool KHR_external_memory_fd; 27*bbecb9d1SAndroid Build Coastguard Worker bool EXT_external_memory_dma_buf; 28*bbecb9d1SAndroid Build Coastguard Worker 29*bbecb9d1SAndroid Build Coastguard Worker bool KHR_external_fence_fd; 30*bbecb9d1SAndroid Build Coastguard Worker bool KHR_external_semaphore_fd; 31*bbecb9d1SAndroid Build Coastguard Worker 32*bbecb9d1SAndroid Build Coastguard Worker VkPhysicalDeviceMemoryProperties memory_properties; 33*bbecb9d1SAndroid Build Coastguard Worker VkPhysicalDeviceIDProperties id_properties; 34*bbecb9d1SAndroid Build Coastguard Worker bool is_dma_buf_fd_export_supported; 35*bbecb9d1SAndroid Build Coastguard Worker bool is_opaque_fd_export_supported; 36*bbecb9d1SAndroid Build Coastguard Worker struct gbm_device *gbm_device; 37*bbecb9d1SAndroid Build Coastguard Worker 38*bbecb9d1SAndroid Build Coastguard Worker struct list_head devices; 39*bbecb9d1SAndroid Build Coastguard Worker }; 40*bbecb9d1SAndroid Build Coastguard Worker VKR_DEFINE_OBJECT_CAST(physical_device, VK_OBJECT_TYPE_PHYSICAL_DEVICE, VkPhysicalDevice) 41*bbecb9d1SAndroid Build Coastguard Worker 42*bbecb9d1SAndroid Build Coastguard Worker void 43*bbecb9d1SAndroid Build Coastguard Worker vkr_context_init_physical_device_dispatch(struct vkr_context *ctx); 44*bbecb9d1SAndroid Build Coastguard Worker 45*bbecb9d1SAndroid Build Coastguard Worker void 46*bbecb9d1SAndroid Build Coastguard Worker vkr_physical_device_destroy(struct vkr_context *ctx, 47*bbecb9d1SAndroid Build Coastguard Worker struct vkr_physical_device *physical_dev); 48*bbecb9d1SAndroid Build Coastguard Worker 49*bbecb9d1SAndroid Build Coastguard Worker #endif /* VKR_PHYSICAL_DEVICE_H */ 50