1d722e3fbSopenharmony_ci/* 2d722e3fbSopenharmony_ci * Copyright © 2008-2012 Intel Corporation 3d722e3fbSopenharmony_ci * 4d722e3fbSopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a 5d722e3fbSopenharmony_ci * copy of this software and associated documentation files (the "Software"), 6d722e3fbSopenharmony_ci * to deal in the Software without restriction, including without limitation 7d722e3fbSopenharmony_ci * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8d722e3fbSopenharmony_ci * and/or sell copies of the Software, and to permit persons to whom the 9d722e3fbSopenharmony_ci * Software is furnished to do so, subject to the following conditions: 10d722e3fbSopenharmony_ci * 11d722e3fbSopenharmony_ci * The above copyright notice and this permission notice (including the next 12d722e3fbSopenharmony_ci * paragraph) shall be included in all copies or substantial portions of the 13d722e3fbSopenharmony_ci * Software. 14d722e3fbSopenharmony_ci * 15d722e3fbSopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16d722e3fbSopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17d722e3fbSopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18d722e3fbSopenharmony_ci * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19d722e3fbSopenharmony_ci * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20d722e3fbSopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21d722e3fbSopenharmony_ci * IN THE SOFTWARE. 22d722e3fbSopenharmony_ci * 23d722e3fbSopenharmony_ci * Authors: 24d722e3fbSopenharmony_ci * Eric Anholt <eric@anholt.net> 25d722e3fbSopenharmony_ci * 26d722e3fbSopenharmony_ci */ 27d722e3fbSopenharmony_ci 28d722e3fbSopenharmony_ci/** 29d722e3fbSopenharmony_ci * @file intel_bufmgr.h 30d722e3fbSopenharmony_ci * 31d722e3fbSopenharmony_ci * Public definitions of Intel-specific bufmgr functions. 32d722e3fbSopenharmony_ci */ 33d722e3fbSopenharmony_ci 34d722e3fbSopenharmony_ci#ifndef INTEL_BUFMGR_H 35d722e3fbSopenharmony_ci#define INTEL_BUFMGR_H 36d722e3fbSopenharmony_ci 37d722e3fbSopenharmony_ci#include <stdio.h> 38d722e3fbSopenharmony_ci#include <stdint.h> 39d722e3fbSopenharmony_ci#include <stdio.h> 40d722e3fbSopenharmony_ci 41d722e3fbSopenharmony_ci#if defined(__cplusplus) 42d722e3fbSopenharmony_ciextern "C" { 43d722e3fbSopenharmony_ci#endif 44d722e3fbSopenharmony_ci 45d722e3fbSopenharmony_cistruct drm_clip_rect; 46d722e3fbSopenharmony_ci 47d722e3fbSopenharmony_citypedef struct _drm_intel_bufmgr drm_intel_bufmgr; 48d722e3fbSopenharmony_citypedef struct _drm_intel_context drm_intel_context; 49d722e3fbSopenharmony_citypedef struct _drm_intel_bo drm_intel_bo; 50d722e3fbSopenharmony_ci 51d722e3fbSopenharmony_cistruct _drm_intel_bo { 52d722e3fbSopenharmony_ci /** 53d722e3fbSopenharmony_ci * Size in bytes of the buffer object. 54d722e3fbSopenharmony_ci * 55d722e3fbSopenharmony_ci * The size may be larger than the size originally requested for the 56d722e3fbSopenharmony_ci * allocation, such as being aligned to page size. 57d722e3fbSopenharmony_ci */ 58d722e3fbSopenharmony_ci unsigned long size; 59d722e3fbSopenharmony_ci 60d722e3fbSopenharmony_ci /** 61d722e3fbSopenharmony_ci * Alignment requirement for object 62d722e3fbSopenharmony_ci * 63d722e3fbSopenharmony_ci * Used for GTT mapping & pinning the object. 64d722e3fbSopenharmony_ci */ 65d722e3fbSopenharmony_ci unsigned long align; 66d722e3fbSopenharmony_ci 67d722e3fbSopenharmony_ci /** 68d722e3fbSopenharmony_ci * Deprecated field containing (possibly the low 32-bits of) the last 69d722e3fbSopenharmony_ci * seen virtual card address. Use offset64 instead. 70d722e3fbSopenharmony_ci */ 71d722e3fbSopenharmony_ci unsigned long offset; 72d722e3fbSopenharmony_ci 73d722e3fbSopenharmony_ci /** 74d722e3fbSopenharmony_ci * Virtual address for accessing the buffer data. Only valid while 75d722e3fbSopenharmony_ci * mapped. 76d722e3fbSopenharmony_ci */ 77d722e3fbSopenharmony_ci#ifdef __cplusplus 78d722e3fbSopenharmony_ci void *virt; 79d722e3fbSopenharmony_ci#else 80d722e3fbSopenharmony_ci void *virtual; 81d722e3fbSopenharmony_ci#endif 82d722e3fbSopenharmony_ci 83d722e3fbSopenharmony_ci /** Buffer manager context associated with this buffer object */ 84d722e3fbSopenharmony_ci drm_intel_bufmgr *bufmgr; 85d722e3fbSopenharmony_ci 86d722e3fbSopenharmony_ci /** 87d722e3fbSopenharmony_ci * MM-specific handle for accessing object 88d722e3fbSopenharmony_ci */ 89d722e3fbSopenharmony_ci int handle; 90d722e3fbSopenharmony_ci 91d722e3fbSopenharmony_ci /** 92d722e3fbSopenharmony_ci * Last seen card virtual address (offset from the beginning of the 93d722e3fbSopenharmony_ci * aperture) for the object. This should be used to fill relocation 94d722e3fbSopenharmony_ci * entries when calling drm_intel_bo_emit_reloc() 95d722e3fbSopenharmony_ci */ 96d722e3fbSopenharmony_ci uint64_t offset64; 97d722e3fbSopenharmony_ci}; 98d722e3fbSopenharmony_ci 99d722e3fbSopenharmony_cienum aub_dump_bmp_format { 100d722e3fbSopenharmony_ci AUB_DUMP_BMP_FORMAT_8BIT = 1, 101d722e3fbSopenharmony_ci AUB_DUMP_BMP_FORMAT_ARGB_4444 = 4, 102d722e3fbSopenharmony_ci AUB_DUMP_BMP_FORMAT_ARGB_0888 = 6, 103d722e3fbSopenharmony_ci AUB_DUMP_BMP_FORMAT_ARGB_8888 = 7, 104d722e3fbSopenharmony_ci}; 105d722e3fbSopenharmony_ci 106d722e3fbSopenharmony_citypedef struct _drm_intel_aub_annotation { 107d722e3fbSopenharmony_ci uint32_t type; 108d722e3fbSopenharmony_ci uint32_t subtype; 109d722e3fbSopenharmony_ci uint32_t ending_offset; 110d722e3fbSopenharmony_ci} drm_intel_aub_annotation; 111d722e3fbSopenharmony_ci 112d722e3fbSopenharmony_ci#define BO_ALLOC_FOR_RENDER (1<<0) 113d722e3fbSopenharmony_ci 114d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name, 115d722e3fbSopenharmony_ci unsigned long size, unsigned int alignment); 116d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_alloc_for_render(drm_intel_bufmgr *bufmgr, 117d722e3fbSopenharmony_ci const char *name, 118d722e3fbSopenharmony_ci unsigned long size, 119d722e3fbSopenharmony_ci unsigned int alignment); 120d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_alloc_userptr(drm_intel_bufmgr *bufmgr, 121d722e3fbSopenharmony_ci const char *name, 122d722e3fbSopenharmony_ci void *addr, uint32_t tiling_mode, 123d722e3fbSopenharmony_ci uint32_t stride, unsigned long size, 124d722e3fbSopenharmony_ci unsigned long flags); 125d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, 126d722e3fbSopenharmony_ci const char *name, 127d722e3fbSopenharmony_ci int x, int y, int cpp, 128d722e3fbSopenharmony_ci uint32_t *tiling_mode, 129d722e3fbSopenharmony_ci unsigned long *pitch, 130d722e3fbSopenharmony_ci unsigned long flags); 131d722e3fbSopenharmony_civoid drm_intel_bo_reference(drm_intel_bo *bo); 132d722e3fbSopenharmony_civoid drm_intel_bo_unreference(drm_intel_bo *bo); 133d722e3fbSopenharmony_ciint drm_intel_bo_map(drm_intel_bo *bo, int write_enable); 134d722e3fbSopenharmony_ciint drm_intel_bo_unmap(drm_intel_bo *bo); 135d722e3fbSopenharmony_ci 136d722e3fbSopenharmony_ciint drm_intel_bo_subdata(drm_intel_bo *bo, unsigned long offset, 137d722e3fbSopenharmony_ci unsigned long size, const void *data); 138d722e3fbSopenharmony_ciint drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset, 139d722e3fbSopenharmony_ci unsigned long size, void *data); 140d722e3fbSopenharmony_civoid drm_intel_bo_wait_rendering(drm_intel_bo *bo); 141d722e3fbSopenharmony_ci 142d722e3fbSopenharmony_civoid drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug); 143d722e3fbSopenharmony_civoid drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr); 144d722e3fbSopenharmony_ciint drm_intel_bo_exec(drm_intel_bo *bo, int used, 145d722e3fbSopenharmony_ci struct drm_clip_rect *cliprects, int num_cliprects, int DR4); 146d722e3fbSopenharmony_ciint drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used, 147d722e3fbSopenharmony_ci struct drm_clip_rect *cliprects, int num_cliprects, int DR4, 148d722e3fbSopenharmony_ci unsigned int flags); 149d722e3fbSopenharmony_ciint drm_intel_bufmgr_check_aperture_space(drm_intel_bo ** bo_array, int count); 150d722e3fbSopenharmony_ci 151d722e3fbSopenharmony_ciint drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, 152d722e3fbSopenharmony_ci drm_intel_bo *target_bo, uint32_t target_offset, 153d722e3fbSopenharmony_ci uint32_t read_domains, uint32_t write_domain); 154d722e3fbSopenharmony_ciint drm_intel_bo_emit_reloc_fence(drm_intel_bo *bo, uint32_t offset, 155d722e3fbSopenharmony_ci drm_intel_bo *target_bo, 156d722e3fbSopenharmony_ci uint32_t target_offset, 157d722e3fbSopenharmony_ci uint32_t read_domains, uint32_t write_domain); 158d722e3fbSopenharmony_ciint drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment); 159d722e3fbSopenharmony_ciint drm_intel_bo_unpin(drm_intel_bo *bo); 160d722e3fbSopenharmony_ciint drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode, 161d722e3fbSopenharmony_ci uint32_t stride); 162d722e3fbSopenharmony_ciint drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode, 163d722e3fbSopenharmony_ci uint32_t * swizzle_mode); 164d722e3fbSopenharmony_ciint drm_intel_bo_flink(drm_intel_bo *bo, uint32_t * name); 165d722e3fbSopenharmony_ciint drm_intel_bo_busy(drm_intel_bo *bo); 166d722e3fbSopenharmony_ciint drm_intel_bo_madvise(drm_intel_bo *bo, int madv); 167d722e3fbSopenharmony_ciint drm_intel_bo_use_48b_address_range(drm_intel_bo *bo, uint32_t enable); 168d722e3fbSopenharmony_ciint drm_intel_bo_set_softpin_offset(drm_intel_bo *bo, uint64_t offset); 169d722e3fbSopenharmony_ci 170d722e3fbSopenharmony_ciint drm_intel_bo_disable_reuse(drm_intel_bo *bo); 171d722e3fbSopenharmony_ciint drm_intel_bo_is_reusable(drm_intel_bo *bo); 172d722e3fbSopenharmony_ciint drm_intel_bo_references(drm_intel_bo *bo, drm_intel_bo *target_bo); 173d722e3fbSopenharmony_ci 174d722e3fbSopenharmony_ci/* drm_intel_bufmgr_gem.c */ 175d722e3fbSopenharmony_cidrm_intel_bufmgr *drm_intel_bufmgr_gem_init(int fd, int batch_size); 176d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr, 177d722e3fbSopenharmony_ci const char *name, 178d722e3fbSopenharmony_ci unsigned int handle); 179d722e3fbSopenharmony_civoid drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr); 180d722e3fbSopenharmony_civoid drm_intel_bufmgr_gem_enable_fenced_relocs(drm_intel_bufmgr *bufmgr); 181d722e3fbSopenharmony_civoid drm_intel_bufmgr_gem_set_vma_cache_size(drm_intel_bufmgr *bufmgr, 182d722e3fbSopenharmony_ci int limit); 183d722e3fbSopenharmony_ciint drm_intel_gem_bo_map_unsynchronized(drm_intel_bo *bo); 184d722e3fbSopenharmony_ciint drm_intel_gem_bo_map_gtt(drm_intel_bo *bo); 185d722e3fbSopenharmony_ciint drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo); 186d722e3fbSopenharmony_ci 187d722e3fbSopenharmony_ci#define HAVE_DRM_INTEL_GEM_BO_DISABLE_IMPLICIT_SYNC 1 188d722e3fbSopenharmony_ciint drm_intel_bufmgr_gem_can_disable_implicit_sync(drm_intel_bufmgr *bufmgr); 189d722e3fbSopenharmony_civoid drm_intel_gem_bo_disable_implicit_sync(drm_intel_bo *bo); 190d722e3fbSopenharmony_civoid drm_intel_gem_bo_enable_implicit_sync(drm_intel_bo *bo); 191d722e3fbSopenharmony_ci 192d722e3fbSopenharmony_civoid *drm_intel_gem_bo_map__cpu(drm_intel_bo *bo); 193d722e3fbSopenharmony_civoid *drm_intel_gem_bo_map__gtt(drm_intel_bo *bo); 194d722e3fbSopenharmony_civoid *drm_intel_gem_bo_map__wc(drm_intel_bo *bo); 195d722e3fbSopenharmony_ci 196d722e3fbSopenharmony_ciint drm_intel_gem_bo_get_reloc_count(drm_intel_bo *bo); 197d722e3fbSopenharmony_civoid drm_intel_gem_bo_clear_relocs(drm_intel_bo *bo, int start); 198d722e3fbSopenharmony_civoid drm_intel_gem_bo_start_gtt_access(drm_intel_bo *bo, int write_enable); 199d722e3fbSopenharmony_ci 200d722e3fbSopenharmony_civoid 201d722e3fbSopenharmony_cidrm_intel_bufmgr_gem_set_aub_filename(drm_intel_bufmgr *bufmgr, 202d722e3fbSopenharmony_ci const char *filename); 203d722e3fbSopenharmony_civoid drm_intel_bufmgr_gem_set_aub_dump(drm_intel_bufmgr *bufmgr, int enable); 204d722e3fbSopenharmony_civoid drm_intel_gem_bo_aub_dump_bmp(drm_intel_bo *bo, 205d722e3fbSopenharmony_ci int x1, int y1, int width, int height, 206d722e3fbSopenharmony_ci enum aub_dump_bmp_format format, 207d722e3fbSopenharmony_ci int pitch, int offset); 208d722e3fbSopenharmony_civoid 209d722e3fbSopenharmony_cidrm_intel_bufmgr_gem_set_aub_annotations(drm_intel_bo *bo, 210d722e3fbSopenharmony_ci drm_intel_aub_annotation *annotations, 211d722e3fbSopenharmony_ci unsigned count); 212d722e3fbSopenharmony_ci 213d722e3fbSopenharmony_ciint drm_intel_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, int crtc_id); 214d722e3fbSopenharmony_ci 215d722e3fbSopenharmony_ciint drm_intel_get_aperture_sizes(int fd, size_t *mappable, size_t *total); 216d722e3fbSopenharmony_ciint drm_intel_bufmgr_gem_get_devid(drm_intel_bufmgr *bufmgr); 217d722e3fbSopenharmony_ciint drm_intel_gem_bo_wait(drm_intel_bo *bo, int64_t timeout_ns); 218d722e3fbSopenharmony_ci 219d722e3fbSopenharmony_cidrm_intel_context *drm_intel_gem_context_create(drm_intel_bufmgr *bufmgr); 220d722e3fbSopenharmony_ciint drm_intel_gem_context_get_id(drm_intel_context *ctx, 221d722e3fbSopenharmony_ci uint32_t *ctx_id); 222d722e3fbSopenharmony_civoid drm_intel_gem_context_destroy(drm_intel_context *ctx); 223d722e3fbSopenharmony_ciint drm_intel_gem_bo_context_exec(drm_intel_bo *bo, drm_intel_context *ctx, 224d722e3fbSopenharmony_ci int used, unsigned int flags); 225d722e3fbSopenharmony_ciint drm_intel_gem_bo_fence_exec(drm_intel_bo *bo, 226d722e3fbSopenharmony_ci drm_intel_context *ctx, 227d722e3fbSopenharmony_ci int used, 228d722e3fbSopenharmony_ci int in_fence, 229d722e3fbSopenharmony_ci int *out_fence, 230d722e3fbSopenharmony_ci unsigned int flags); 231d722e3fbSopenharmony_ci 232d722e3fbSopenharmony_ciint drm_intel_bo_gem_export_to_prime(drm_intel_bo *bo, int *prime_fd); 233d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr, 234d722e3fbSopenharmony_ci int prime_fd, int size); 235d722e3fbSopenharmony_ci 236d722e3fbSopenharmony_ci/* drm_intel_bufmgr_fake.c */ 237d722e3fbSopenharmony_cidrm_intel_bufmgr *drm_intel_bufmgr_fake_init(int fd, 238d722e3fbSopenharmony_ci unsigned long low_offset, 239d722e3fbSopenharmony_ci void *low_virtual, 240d722e3fbSopenharmony_ci unsigned long size, 241d722e3fbSopenharmony_ci volatile unsigned int 242d722e3fbSopenharmony_ci *last_dispatch); 243d722e3fbSopenharmony_civoid drm_intel_bufmgr_fake_set_last_dispatch(drm_intel_bufmgr *bufmgr, 244d722e3fbSopenharmony_ci volatile unsigned int 245d722e3fbSopenharmony_ci *last_dispatch); 246d722e3fbSopenharmony_civoid drm_intel_bufmgr_fake_set_exec_callback(drm_intel_bufmgr *bufmgr, 247d722e3fbSopenharmony_ci int (*exec) (drm_intel_bo *bo, 248d722e3fbSopenharmony_ci unsigned int used, 249d722e3fbSopenharmony_ci void *priv), 250d722e3fbSopenharmony_ci void *priv); 251d722e3fbSopenharmony_civoid drm_intel_bufmgr_fake_set_fence_callback(drm_intel_bufmgr *bufmgr, 252d722e3fbSopenharmony_ci unsigned int (*emit) (void *priv), 253d722e3fbSopenharmony_ci void (*wait) (unsigned int fence, 254d722e3fbSopenharmony_ci void *priv), 255d722e3fbSopenharmony_ci void *priv); 256d722e3fbSopenharmony_cidrm_intel_bo *drm_intel_bo_fake_alloc_static(drm_intel_bufmgr *bufmgr, 257d722e3fbSopenharmony_ci const char *name, 258d722e3fbSopenharmony_ci unsigned long offset, 259d722e3fbSopenharmony_ci unsigned long size, void *virt); 260d722e3fbSopenharmony_civoid drm_intel_bo_fake_disable_backing_store(drm_intel_bo *bo, 261d722e3fbSopenharmony_ci void (*invalidate_cb) (drm_intel_bo 262d722e3fbSopenharmony_ci * bo, 263d722e3fbSopenharmony_ci void *ptr), 264d722e3fbSopenharmony_ci void *ptr); 265d722e3fbSopenharmony_ci 266d722e3fbSopenharmony_civoid drm_intel_bufmgr_fake_contended_lock_take(drm_intel_bufmgr *bufmgr); 267d722e3fbSopenharmony_civoid drm_intel_bufmgr_fake_evict_all(drm_intel_bufmgr *bufmgr); 268d722e3fbSopenharmony_ci 269d722e3fbSopenharmony_cistruct drm_intel_decode *drm_intel_decode_context_alloc(uint32_t devid); 270d722e3fbSopenharmony_civoid drm_intel_decode_context_free(struct drm_intel_decode *ctx); 271d722e3fbSopenharmony_civoid drm_intel_decode_set_batch_pointer(struct drm_intel_decode *ctx, 272d722e3fbSopenharmony_ci void *data, uint32_t hw_offset, 273d722e3fbSopenharmony_ci int count); 274d722e3fbSopenharmony_civoid drm_intel_decode_set_dump_past_end(struct drm_intel_decode *ctx, 275d722e3fbSopenharmony_ci int dump_past_end); 276d722e3fbSopenharmony_civoid drm_intel_decode_set_head_tail(struct drm_intel_decode *ctx, 277d722e3fbSopenharmony_ci uint32_t head, uint32_t tail); 278d722e3fbSopenharmony_civoid drm_intel_decode_set_output_file(struct drm_intel_decode *ctx, FILE *out); 279d722e3fbSopenharmony_civoid drm_intel_decode(struct drm_intel_decode *ctx); 280d722e3fbSopenharmony_ci 281d722e3fbSopenharmony_ciint drm_intel_reg_read(drm_intel_bufmgr *bufmgr, 282d722e3fbSopenharmony_ci uint32_t offset, 283d722e3fbSopenharmony_ci uint64_t *result); 284d722e3fbSopenharmony_ci 285d722e3fbSopenharmony_ciint drm_intel_get_reset_stats(drm_intel_context *ctx, 286d722e3fbSopenharmony_ci uint32_t *reset_count, 287d722e3fbSopenharmony_ci uint32_t *active, 288d722e3fbSopenharmony_ci uint32_t *pending); 289d722e3fbSopenharmony_ci 290d722e3fbSopenharmony_ciint drm_intel_get_subslice_total(int fd, unsigned int *subslice_total); 291d722e3fbSopenharmony_ciint drm_intel_get_eu_total(int fd, unsigned int *eu_total); 292d722e3fbSopenharmony_ci 293d722e3fbSopenharmony_ciint drm_intel_get_pooled_eu(int fd); 294d722e3fbSopenharmony_ciint drm_intel_get_min_eu_in_pool(int fd); 295d722e3fbSopenharmony_ci 296d722e3fbSopenharmony_ci/** @{ Compatibility defines to keep old code building despite the symbol rename 297d722e3fbSopenharmony_ci * from dri_* to drm_intel_* 298d722e3fbSopenharmony_ci */ 299d722e3fbSopenharmony_ci#define dri_bo drm_intel_bo 300d722e3fbSopenharmony_ci#define dri_bufmgr drm_intel_bufmgr 301d722e3fbSopenharmony_ci#define dri_bo_alloc drm_intel_bo_alloc 302d722e3fbSopenharmony_ci#define dri_bo_reference drm_intel_bo_reference 303d722e3fbSopenharmony_ci#define dri_bo_unreference drm_intel_bo_unreference 304d722e3fbSopenharmony_ci#define dri_bo_map drm_intel_bo_map 305d722e3fbSopenharmony_ci#define dri_bo_unmap drm_intel_bo_unmap 306d722e3fbSopenharmony_ci#define dri_bo_subdata drm_intel_bo_subdata 307d722e3fbSopenharmony_ci#define dri_bo_get_subdata drm_intel_bo_get_subdata 308d722e3fbSopenharmony_ci#define dri_bo_wait_rendering drm_intel_bo_wait_rendering 309d722e3fbSopenharmony_ci#define dri_bufmgr_set_debug drm_intel_bufmgr_set_debug 310d722e3fbSopenharmony_ci#define dri_bufmgr_destroy drm_intel_bufmgr_destroy 311d722e3fbSopenharmony_ci#define dri_bo_exec drm_intel_bo_exec 312d722e3fbSopenharmony_ci#define dri_bufmgr_check_aperture_space drm_intel_bufmgr_check_aperture_space 313d722e3fbSopenharmony_ci#define dri_bo_emit_reloc(reloc_bo, read, write, target_offset, \ 314d722e3fbSopenharmony_ci reloc_offset, target_bo) \ 315d722e3fbSopenharmony_ci drm_intel_bo_emit_reloc(reloc_bo, reloc_offset, \ 316d722e3fbSopenharmony_ci target_bo, target_offset, \ 317d722e3fbSopenharmony_ci read, write); 318d722e3fbSopenharmony_ci#define dri_bo_pin drm_intel_bo_pin 319d722e3fbSopenharmony_ci#define dri_bo_unpin drm_intel_bo_unpin 320d722e3fbSopenharmony_ci#define dri_bo_get_tiling drm_intel_bo_get_tiling 321d722e3fbSopenharmony_ci#define dri_bo_set_tiling(bo, mode) drm_intel_bo_set_tiling(bo, mode, 0) 322d722e3fbSopenharmony_ci#define dri_bo_flink drm_intel_bo_flink 323d722e3fbSopenharmony_ci#define intel_bufmgr_gem_init drm_intel_bufmgr_gem_init 324d722e3fbSopenharmony_ci#define intel_bo_gem_create_from_name drm_intel_bo_gem_create_from_name 325d722e3fbSopenharmony_ci#define intel_bufmgr_gem_enable_reuse drm_intel_bufmgr_gem_enable_reuse 326d722e3fbSopenharmony_ci#define intel_bufmgr_fake_init drm_intel_bufmgr_fake_init 327d722e3fbSopenharmony_ci#define intel_bufmgr_fake_set_last_dispatch drm_intel_bufmgr_fake_set_last_dispatch 328d722e3fbSopenharmony_ci#define intel_bufmgr_fake_set_exec_callback drm_intel_bufmgr_fake_set_exec_callback 329d722e3fbSopenharmony_ci#define intel_bufmgr_fake_set_fence_callback drm_intel_bufmgr_fake_set_fence_callback 330d722e3fbSopenharmony_ci#define intel_bo_fake_alloc_static drm_intel_bo_fake_alloc_static 331d722e3fbSopenharmony_ci#define intel_bo_fake_disable_backing_store drm_intel_bo_fake_disable_backing_store 332d722e3fbSopenharmony_ci#define intel_bufmgr_fake_contended_lock_take drm_intel_bufmgr_fake_contended_lock_take 333d722e3fbSopenharmony_ci#define intel_bufmgr_fake_evict_all drm_intel_bufmgr_fake_evict_all 334d722e3fbSopenharmony_ci 335d722e3fbSopenharmony_ci/** @{ */ 336d722e3fbSopenharmony_ci 337d722e3fbSopenharmony_ci#if defined(__cplusplus) 338d722e3fbSopenharmony_ci} 339d722e3fbSopenharmony_ci#endif 340d722e3fbSopenharmony_ci 341d722e3fbSopenharmony_ci#endif /* INTEL_BUFMGR_H */ 342