uint64_t offset64;
};
-enum aub_dump_bmp_format {
- AUB_DUMP_BMP_FORMAT_8BIT = 1,
- AUB_DUMP_BMP_FORMAT_ARGB_4444 = 4,
- AUB_DUMP_BMP_FORMAT_ARGB_0888 = 6,
- AUB_DUMP_BMP_FORMAT_ARGB_8888 = 7,
-};
-
-typedef struct _drm_intel_aub_annotation {
- uint32_t type;
- uint32_t subtype;
- uint32_t ending_offset;
-} drm_intel_aub_annotation;
-
#define BO_ALLOC_FOR_RENDER (1<<0)
drm_intel_bo *drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name,
void drm_intel_gem_bo_clear_relocs(drm_intel_bo *bo, int start);
void drm_intel_gem_bo_start_gtt_access(drm_intel_bo *bo, int write_enable);
-void
-drm_intel_bufmgr_gem_set_aub_filename(drm_intel_bufmgr *bufmgr,
- const char *filename);
-void drm_intel_bufmgr_gem_set_aub_dump(drm_intel_bufmgr *bufmgr, int enable);
-void drm_intel_gem_bo_aub_dump_bmp(drm_intel_bo *bo,
- int x1, int y1, int width, int height,
- enum aub_dump_bmp_format format,
- int pitch, int offset);
-void
-drm_intel_bufmgr_gem_set_aub_annotations(drm_intel_bo *bo,
- drm_intel_aub_annotation *annotations,
- unsigned count);
-
int drm_intel_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, int crtc_id);
int drm_intel_get_aperture_sizes(int fd, size_t *mappable, size_t *total);
drm_intel_bo *drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr,
int prime_fd, int size);
-/* drm_intel_bufmgr_fake.c */
-drm_intel_bufmgr *drm_intel_bufmgr_fake_init(int fd,
- unsigned long low_offset,
- void *low_virtual,
- unsigned long size,
- volatile unsigned int
- *last_dispatch);
-void drm_intel_bufmgr_fake_set_last_dispatch(drm_intel_bufmgr *bufmgr,
- volatile unsigned int
- *last_dispatch);
-void drm_intel_bufmgr_fake_set_exec_callback(drm_intel_bufmgr *bufmgr,
- int (*exec) (drm_intel_bo *bo,
- unsigned int used,
- void *priv),
- void *priv);
-void drm_intel_bufmgr_fake_set_fence_callback(drm_intel_bufmgr *bufmgr,
- unsigned int (*emit) (void *priv),
- void (*wait) (unsigned int fence,
- void *priv),
- void *priv);
-drm_intel_bo *drm_intel_bo_fake_alloc_static(drm_intel_bufmgr *bufmgr,
- const char *name,
- unsigned long offset,
- unsigned long size, void *virt);
-void drm_intel_bo_fake_disable_backing_store(drm_intel_bo *bo,
- void (*invalidate_cb) (drm_intel_bo
- * bo,
- void *ptr),
- void *ptr);
-
-void drm_intel_bufmgr_fake_contended_lock_take(drm_intel_bufmgr *bufmgr);
-void drm_intel_bufmgr_fake_evict_all(drm_intel_bufmgr *bufmgr);
-
-struct drm_intel_decode *drm_intel_decode_context_alloc(uint32_t devid);
-void drm_intel_decode_context_free(struct drm_intel_decode *ctx);
-void drm_intel_decode_set_batch_pointer(struct drm_intel_decode *ctx,
- void *data, uint32_t hw_offset,
- int count);
-void drm_intel_decode_set_dump_past_end(struct drm_intel_decode *ctx,
- int dump_past_end);
-void drm_intel_decode_set_head_tail(struct drm_intel_decode *ctx,
- uint32_t head, uint32_t tail);
-void drm_intel_decode_set_output_file(struct drm_intel_decode *ctx, FILE *out);
-void drm_intel_decode(struct drm_intel_decode *ctx);
-
int drm_intel_reg_read(drm_intel_bufmgr *bufmgr,
uint32_t offset,
uint64_t *result);
int drm_intel_get_pooled_eu(int fd);
int drm_intel_get_min_eu_in_pool(int fd);
-/** @{ Compatibility defines to keep old code building despite the symbol rename
- * from dri_* to drm_intel_*
- */
-#define dri_bo drm_intel_bo
-#define dri_bufmgr drm_intel_bufmgr
-#define dri_bo_alloc drm_intel_bo_alloc
-#define dri_bo_reference drm_intel_bo_reference
-#define dri_bo_unreference drm_intel_bo_unreference
-#define dri_bo_map drm_intel_bo_map
-#define dri_bo_unmap drm_intel_bo_unmap
-#define dri_bo_subdata drm_intel_bo_subdata
-#define dri_bo_get_subdata drm_intel_bo_get_subdata
-#define dri_bo_wait_rendering drm_intel_bo_wait_rendering
-#define dri_bufmgr_set_debug drm_intel_bufmgr_set_debug
-#define dri_bufmgr_destroy drm_intel_bufmgr_destroy
-#define dri_bo_exec drm_intel_bo_exec
-#define dri_bufmgr_check_aperture_space drm_intel_bufmgr_check_aperture_space
-#define dri_bo_emit_reloc(reloc_bo, read, write, target_offset, \
- reloc_offset, target_bo) \
- drm_intel_bo_emit_reloc(reloc_bo, reloc_offset, \
- target_bo, target_offset, \
- read, write);
-#define dri_bo_pin drm_intel_bo_pin
-#define dri_bo_unpin drm_intel_bo_unpin
-#define dri_bo_get_tiling drm_intel_bo_get_tiling
-#define dri_bo_set_tiling(bo, mode) drm_intel_bo_set_tiling(bo, mode, 0)
-#define dri_bo_flink drm_intel_bo_flink
-#define intel_bufmgr_gem_init drm_intel_bufmgr_gem_init
-#define intel_bo_gem_create_from_name drm_intel_bo_gem_create_from_name
-#define intel_bufmgr_gem_enable_reuse drm_intel_bufmgr_gem_enable_reuse
-#define intel_bufmgr_fake_init drm_intel_bufmgr_fake_init
-#define intel_bufmgr_fake_set_last_dispatch drm_intel_bufmgr_fake_set_last_dispatch
-#define intel_bufmgr_fake_set_exec_callback drm_intel_bufmgr_fake_set_exec_callback
-#define intel_bufmgr_fake_set_fence_callback drm_intel_bufmgr_fake_set_fence_callback
-#define intel_bo_fake_alloc_static drm_intel_bo_fake_alloc_static
-#define intel_bo_fake_disable_backing_store drm_intel_bo_fake_disable_backing_store
-#define intel_bufmgr_fake_contended_lock_take drm_intel_bufmgr_fake_contended_lock_take
-#define intel_bufmgr_fake_evict_all drm_intel_bufmgr_fake_evict_all
-
/** @{ */
#if defined(__cplusplus)
}
}
-void
-drm_intel_gem_bo_aub_dump_bmp(drm_intel_bo *bo,
- int x1, int y1, int width, int height,
- enum aub_dump_bmp_format format,
- int pitch, int offset)
-{
-}
-
static int
drm_intel_gem_bo_exec(drm_intel_bo *bo, int used,
drm_clip_rect_t * cliprects, int num_cliprects, int DR4)
return bufmgr_gem->pci_device;
}
-/**
- * Sets the AUB filename.
- *
- * This function has to be called before drm_intel_bufmgr_gem_set_aub_dump()
- * for it to have any effect.
- */
-void
-drm_intel_bufmgr_gem_set_aub_filename(drm_intel_bufmgr *bufmgr,
- const char *filename)
-{
-}
-
-/**
- * Sets up AUB dumping.
- *
- * This is a trace file format that can be used with the simulator.
- * Packets are emitted in a format somewhat like GPU command packets.
- * You can set up a GTT and upload your objects into the referenced
- * space, then send off batchbuffers and get BMPs out the other end.
- */
-void
-drm_intel_bufmgr_gem_set_aub_dump(drm_intel_bufmgr *bufmgr, int enable)
-{
- fprintf(stderr, "libdrm aub dumping is deprecated.\n\n"
- "Use intel_aubdump from intel-gpu-tools instead. Install intel-gpu-tools,\n"
- "then run (for example)\n\n"
- "\t$ intel_aubdump --output=trace.aub glxgears -geometry 500x500\n\n"
- "See the intel_aubdump man page for more details.\n");
-}
-
drm_intel_context *
drm_intel_gem_context_create(drm_intel_bufmgr *bufmgr)
{
return ret;
}
-/**
- * Annotate the given bo for use in aub dumping.
- *
- * \param annotations is an array of drm_intel_aub_annotation objects
- * describing the type of data in various sections of the bo. Each
- * element of the array specifies the type and subtype of a section of
- * the bo, and the past-the-end offset of that section. The elements
- * of \c annotations must be sorted so that ending_offset is
- * increasing.
- *
- * \param count is the number of elements in the \c annotations array.
- * If \c count is zero, then \c annotations will not be dereferenced.
- *
- * Annotations are copied into a private data structure, so caller may
- * re-use the memory pointed to by \c annotations after the call
- * returns.
- *
- * Annotations are stored for the lifetime of the bo; to reset to the
- * default state (no annotations), call this function with a \c count
- * of zero.
- */
-void
-drm_intel_bufmgr_gem_set_aub_annotations(drm_intel_bo *bo,
- drm_intel_aub_annotation *annotations,
- unsigned count)
-{
-}
-
static pthread_mutex_t bufmgr_list_mutex = PTHREAD_MUTEX_INITIALIZER;
static drmMMListHead bufmgr_list = { &bufmgr_list, &bufmgr_list };