1#pragma once
 2
 3#include "virtgpu-utils.h"
 4
 5#include <sys/mman.h>
 6
 7#include <atomic>
 8#include <cassert>
 9#include <cstddef>
10#include <cstdint>
11
12struct virtgpu;
13
14struct virtgpu_shmem {
15    uint32_t res_id;
16    size_t   mmap_size;
17    void *   mmap_ptr;
18
19    uint32_t gem_handle;
20};
21
22int  virtgpu_shmem_create(virtgpu * gpu, size_t size, virtgpu_shmem * shmem);
23void virtgpu_shmem_destroy(virtgpu * gpu, virtgpu_shmem * shmem);