Commit 6e89ee8f authored by Robert Foss's avatar Robert Foss Committed by Daniel Vetter

lib/stubs: Add stubs for intel_bufmgr

This patch provides stubs for functionality otherwise provided by intel_bufmgr.

The stubbed functions all fail with a call to igt_require_f(false,"").
Defines and enums have been copied from libdrm_intel.

Due to the stubbed tests failing with an igt_require_f() call, these stubs are
not well suited for non-tests, since tools/benchmarks/etc 'skipping'
execution is unhelpful.
Signed-off-by: Robert Foss's avatarRobert Foss <robert.foss@collabora.com>
Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent cd86866d
......@@ -14,6 +14,12 @@ if HAVE_LIBDRM_VC4
igt_vc4.h
endif
if !HAVE_LIBDRM_INTEL
libintel_tools_la_SOURCES += \
stubs/drm/intel_bufmgr.c \
stubs/drm/intel_bufmgr.h
endif
AM_CPPFLAGS = -I$(top_srcdir)
AM_CFLAGS = $(CWARNFLAGS) $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(LIBUNWIND_CFLAGS) $(DEBUG_CFLAGS) \
-DIGT_SRCDIR=\""$(abs_top_srcdir)/tests"\" \
......
intel_bufmgr.h is a local copy of the file provided by libdrm (intel/intel_bufmgr.h).
Before releasing i-g-t a current copy of intel_bufmgr.h should be copied into
this directory of i-g-t.
#include <stdbool.h>
#include "igt_core.h"
#include "intel_bufmgr.h"
const char * const missing_support_str = "Not compiled with libdrm_intel support\n";
drm_intel_bufmgr *drm_intel_bufmgr_gem_init(int fd, int batch_size)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bufmgr *) NULL;
}
void drm_intel_bo_unreference(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
}
drm_intel_bo *drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name,
unsigned long size, unsigned int alignment)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
int drm_intel_bo_subdata(drm_intel_bo *bo, unsigned long offset,
unsigned long size, const void *data)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_gem_bo_context_exec(drm_intel_bo *bo, drm_intel_context *ctx,
int used, unsigned int flags)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset,
drm_intel_bo *target_bo, uint32_t target_offset,
uint32_t read_domains, uint32_t write_domain)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_emit_reloc_fence(drm_intel_bo *bo, uint32_t offset,
drm_intel_bo *target_bo,
uint32_t target_offset,
uint32_t read_domains, uint32_t write_domain)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
uint32_t * swizzle_mode)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used,
struct drm_clip_rect *cliprects, int num_cliprects,
int DR4, unsigned int flags)
{
igt_require_f(false, missing_support_str);
return 0;
}
void drm_intel_bufmgr_gem_set_aub_annotations(drm_intel_bo *bo,
drm_intel_aub_annotation *annotations,
unsigned count)
{
igt_require_f(false, missing_support_str);
}
void drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_bo_exec(drm_intel_bo *bo, int used,
struct drm_clip_rect *cliprects, int num_cliprects, int DR4)
{
igt_require_f(false, missing_support_str);
return 0;
}
void drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr)
{
igt_require_f(false, missing_support_str);
}
void drm_intel_bo_wait_rendering(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset,
unsigned long size, void *data)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_map(drm_intel_bo *bo, int write_enable)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
return 0;
}
void drm_intel_bufmgr_gem_enable_fenced_relocs(drm_intel_bufmgr *bufmgr)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_bo_unmap(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_flink(drm_intel_bo *bo, uint32_t * name)
{
igt_require_f(false, missing_support_str);
return 0;
}
drm_intel_bo *drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr,
const char *name,
unsigned int handle)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
int drm_intel_bo_gem_export_to_prime(drm_intel_bo *bo, int *prime_fd)
{
igt_require_f(false, missing_support_str);
return 0;
}
drm_intel_bo *drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr,
int prime_fd, int size)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
void drm_intel_bufmgr_gem_set_vma_cache_size(drm_intel_bufmgr *bufmgr,
int limit)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
return 0;
}
drm_intel_context *drm_intel_gem_context_create(drm_intel_bufmgr *bufmgr)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
void drm_intel_gem_context_destroy(drm_intel_context *ctx)
{
igt_require_f(false, missing_support_str);
}
drm_intel_bo *drm_intel_bo_alloc_tiled(drm_intel_bufmgr *bufmgr,
const char *name,
int x, int y, int cpp,
uint32_t *tiling_mode,
unsigned long *pitch,
unsigned long flags)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
void drm_intel_bufmgr_gem_set_aub_filename(drm_intel_bufmgr *bufmgr,
const char *filename)
{
igt_require_f(false, missing_support_str);
}
void drm_intel_bufmgr_gem_set_aub_dump(drm_intel_bufmgr *bufmgr, int enable)
{
igt_require_f(false, missing_support_str);
}
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)
{
igt_require_f(false, missing_support_str);
}
void drm_intel_gem_bo_start_gtt_access(drm_intel_bo *bo, int write_enable)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
uint32_t stride)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_bo_disable_reuse(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
return 0;
}
void drm_intel_bo_reference(drm_intel_bo *bo)
{
igt_require_f(false, missing_support_str);
}
int drm_intel_bufmgr_gem_get_devid(drm_intel_bufmgr *bufmgr)
{
igt_require_f(false, missing_support_str);
return 0;
}
drm_intel_bo *drm_intel_bo_alloc_for_render(drm_intel_bufmgr *bufmgr,
const char *name,
unsigned long size,
unsigned int alignment)
{
igt_require_f(false, missing_support_str);
return (drm_intel_bo *) NULL;
}
int drm_intel_bo_references(drm_intel_bo *bo, drm_intel_bo *target_bo)
{
igt_require_f(false, missing_support_str);
return 0;
}
int drm_intel_gem_bo_wait(drm_intel_bo *bo, int64_t timeout_ns)
{
igt_require_f(false, missing_support_str);
return 0;
}
drm_intel_bo *drm_intel_bo_alloc_userptr(drm_intel_bufmgr *bufmgr,
const char *name,
void *addr, uint32_t tiling_mode,
uint32_t stride, unsigned long size,
unsigned long flags)
{
igt_require_f(false, missing_support_str);
return NULL;
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment