17ec681f3Smrg/* 27ec681f3Smrg * Copyright 2019 Google LLC 37ec681f3Smrg * SPDX-License-Identifier: MIT 47ec681f3Smrg * 57ec681f3Smrg * based in part on anv and radv which are: 67ec681f3Smrg * Copyright © 2015 Intel Corporation 77ec681f3Smrg * Copyright © 2016 Red Hat. 87ec681f3Smrg * Copyright © 2016 Bas Nieuwenhuizen 97ec681f3Smrg */ 107ec681f3Smrg 117ec681f3Smrg#ifndef VN_DEVICE_H 127ec681f3Smrg#define VN_DEVICE_H 137ec681f3Smrg 147ec681f3Smrg#include "vn_common.h" 157ec681f3Smrg 167ec681f3Smrg#include "vn_device_memory.h" 177ec681f3Smrg 187ec681f3Smrgstruct vn_device { 197ec681f3Smrg struct vn_device_base base; 207ec681f3Smrg 217ec681f3Smrg struct vn_instance *instance; 227ec681f3Smrg struct vn_physical_device *physical_device; 237ec681f3Smrg struct vn_renderer *renderer; 247ec681f3Smrg 257ec681f3Smrg struct vn_queue *queues; 267ec681f3Smrg uint32_t queue_count; 277ec681f3Smrg 287ec681f3Smrg struct vn_device_memory_pool memory_pools[VK_MAX_MEMORY_TYPES]; 297ec681f3Smrg 307ec681f3Smrg /* cache memory type requirement for AHB backed VkBuffer */ 317ec681f3Smrg uint32_t ahb_buffer_memory_type_bits; 327ec681f3Smrg}; 337ec681f3SmrgVK_DEFINE_HANDLE_CASTS(vn_device, 347ec681f3Smrg base.base.base, 357ec681f3Smrg VkDevice, 367ec681f3Smrg VK_OBJECT_TYPE_DEVICE) 377ec681f3Smrg 387ec681f3Smrg#endif /* VN_DEVICE_H */ 39