File indexing completed on 2025-01-18 10:01:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #ifndef RADEON_BO_H
0031 #define RADEON_BO_H
0032
0033 #include <stdio.h>
0034 #include <stdint.h>
0035
0036
0037 #define RADEON_BO_FLAGS_MACRO_TILE 1
0038 #define RADEON_BO_FLAGS_MICRO_TILE 2
0039 #define RADEON_BO_FLAGS_MICRO_TILE_SQUARE 0x20
0040
0041 struct radeon_bo_manager;
0042 struct radeon_cs;
0043
0044 struct radeon_bo {
0045 void *ptr;
0046 uint32_t flags;
0047 uint32_t handle;
0048 uint32_t size;
0049 };
0050
0051
0052 void radeon_bo_debug(struct radeon_bo *bo, const char *op);
0053
0054 struct radeon_bo *radeon_bo_open(struct radeon_bo_manager *bom,
0055 uint32_t handle,
0056 uint32_t size,
0057 uint32_t alignment,
0058 uint32_t domains,
0059 uint32_t flags);
0060
0061 void radeon_bo_ref(struct radeon_bo *bo);
0062 struct radeon_bo *radeon_bo_unref(struct radeon_bo *bo);
0063 int radeon_bo_map(struct radeon_bo *bo, int write);
0064 int radeon_bo_unmap(struct radeon_bo *bo);
0065 int radeon_bo_wait(struct radeon_bo *bo);
0066 int radeon_bo_is_busy(struct radeon_bo *bo, uint32_t *domain);
0067 int radeon_bo_set_tiling(struct radeon_bo *bo, uint32_t tiling_flags, uint32_t pitch);
0068 int radeon_bo_get_tiling(struct radeon_bo *bo, uint32_t *tiling_flags, uint32_t *pitch);
0069 int radeon_bo_is_static(struct radeon_bo *bo);
0070 int radeon_bo_is_referenced_by_cs(struct radeon_bo *bo, struct radeon_cs *cs);
0071 uint32_t radeon_bo_get_handle(struct radeon_bo *bo);
0072 uint32_t radeon_bo_get_src_domain(struct radeon_bo *bo);
0073 #endif