mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-24 16:26:13 +00:00
lib: remove kmstest_create_fb
Use the new-style function using drm fourcc codes instead everywhere. To easily use thew fourcc based interface also expose bpp_depth_to_drm_format from the library. Finally include drm_fourcc.h from the igt_kms.h header since pretty much everyone needs this now. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
288e80f278
commit
70182167d6
@ -47,8 +47,6 @@
|
||||
#include "drmtest.h"
|
||||
#include "igt_kms.h"
|
||||
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "ioctl_wrappers.h"
|
||||
|
||||
/*
|
||||
|
@ -34,8 +34,6 @@
|
||||
#include <linux/kd.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "igt_kms.h"
|
||||
#include "igt_aux.h"
|
||||
@ -278,7 +276,7 @@ static struct format_desc_struct {
|
||||
#define for_each_format(f) \
|
||||
for (f = format_desc; f - format_desc < ARRAY_SIZE(format_desc); f++)
|
||||
|
||||
static uint32_t bpp_depth_to_drm_format(int bpp, int depth)
|
||||
uint32_t bpp_depth_to_drm_format(int bpp, int depth)
|
||||
{
|
||||
struct format_desc_struct *f;
|
||||
|
||||
@ -290,30 +288,6 @@ static uint32_t bpp_depth_to_drm_format(int bpp, int depth)
|
||||
}
|
||||
|
||||
/* Return fb_id on success, 0 on error */
|
||||
unsigned int kmstest_create_fb(int fd, int width, int height, int bpp,
|
||||
int depth, bool tiled, struct kmstest_fb *fb)
|
||||
{
|
||||
memset(fb, 0, sizeof(*fb));
|
||||
|
||||
if (create_bo_for_fb(fd, width, height, bpp, tiled, &fb->gem_handle,
|
||||
&fb->size, &fb->stride) < 0)
|
||||
return 0;
|
||||
|
||||
if (drmModeAddFB(fd, width, height, depth, bpp, fb->stride,
|
||||
fb->gem_handle, &fb->fb_id) < 0) {
|
||||
gem_close(fd, fb->gem_handle);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
fb->width = width;
|
||||
fb->height = height;
|
||||
fb->tiling = tiled;
|
||||
fb->drm_format = bpp_depth_to_drm_format(bpp, depth);
|
||||
|
||||
return fb->fb_id;
|
||||
}
|
||||
|
||||
uint32_t drm_format_to_bpp(uint32_t drm_format)
|
||||
{
|
||||
struct format_desc_struct *f;
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <cairo.h>
|
||||
|
||||
#include <xf86drmMode.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "igt_display.h"
|
||||
|
||||
@ -76,9 +77,6 @@ int kmstest_cairo_printf_line(cairo_t *cr, enum kmstest_text_align align,
|
||||
double yspacing, const char *fmt, ...)
|
||||
__attribute__((format (printf, 4, 5)));
|
||||
|
||||
unsigned int kmstest_create_fb(int fd, int width, int height, int bpp,
|
||||
int depth, bool tiled,
|
||||
struct kmstest_fb *fb_info);
|
||||
unsigned int kmstest_create_fb2(int fd, int width, int height, uint32_t format,
|
||||
bool tiled, struct kmstest_fb *fb);
|
||||
unsigned int kmstest_create_color_fb(int fd, int width, int height,
|
||||
@ -107,6 +105,7 @@ const char *kmstest_encoder_type_str(int type);
|
||||
const char *kmstest_connector_status_str(int type);
|
||||
const char *kmstest_connector_type_str(int type);
|
||||
|
||||
uint32_t bpp_depth_to_drm_format(int bpp, int depth);
|
||||
uint32_t drm_format_to_bpp(uint32_t drm_format);
|
||||
|
||||
/*
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "igt_debugfs.h"
|
||||
|
@ -27,8 +27,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "igt_debugfs.h"
|
||||
#include "igt_kms.h"
|
||||
|
@ -1290,12 +1290,15 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
|
||||
if (o->flags & TEST_FENCE_STRESS)
|
||||
tiled = true;
|
||||
|
||||
o->fb_ids[0] = kmstest_create_fb(drm_fd, o->fb_width, o->fb_height,
|
||||
o->bpp, o->depth, tiled, &o->fb_info[0]);
|
||||
o->fb_ids[1] = kmstest_create_fb(drm_fd, o->fb_width, o->fb_height,
|
||||
o->bpp, o->depth, tiled, &o->fb_info[1]);
|
||||
o->fb_ids[2] = kmstest_create_fb(drm_fd, o->fb_width, o->fb_height,
|
||||
o->bpp, o->depth, true, &o->fb_info[2]);
|
||||
o->fb_ids[0] = kmstest_create_fb2(drm_fd, o->fb_width, o->fb_height,
|
||||
bpp_depth_to_drm_format(o->bpp, o->depth),
|
||||
tiled, &o->fb_info[0]);
|
||||
o->fb_ids[1] = kmstest_create_fb2(drm_fd, o->fb_width, o->fb_height,
|
||||
bpp_depth_to_drm_format(o->bpp, o->depth),
|
||||
tiled, &o->fb_info[1]);
|
||||
o->fb_ids[2] = kmstest_create_fb2(drm_fd, o->fb_width, o->fb_height,
|
||||
bpp_depth_to_drm_format(o->bpp, o->depth),
|
||||
true, &o->fb_info[2]);
|
||||
igt_assert(o->fb_ids[0]);
|
||||
igt_assert(o->fb_ids[1]);
|
||||
igt_assert(o->fb_ids[2]);
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "igt_debugfs.h"
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "igt_debugfs.h"
|
||||
@ -69,9 +68,9 @@ create_fb_for_mode__position(data_t *data, drmModeModeInfo *mode,
|
||||
unsigned int fb_id;
|
||||
cairo_t *cr;
|
||||
|
||||
fb_id = kmstest_create_fb(data->drm_fd,
|
||||
fb_id = kmstest_create_fb2(data->drm_fd,
|
||||
mode->hdisplay, mode->vdisplay,
|
||||
32 /* bpp */, 24 /* depth */,
|
||||
DRM_FORMAT_XRGB8888,
|
||||
false /* tiling */,
|
||||
fb);
|
||||
igt_assert(fb_id);
|
||||
|
@ -30,8 +30,6 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "testdisplay.h"
|
||||
#include "intel_bufmgr.h"
|
||||
|
@ -32,7 +32,6 @@
|
||||
#include <getopt.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "drm_fourcc.h"
|
||||
#include "drmtest.h"
|
||||
#include "intel_bufmgr.h"
|
||||
#include "intel_batchbuffer.h"
|
||||
@ -189,8 +188,9 @@ static void create_fb_for_crtc(struct crtc_config *crtc,
|
||||
bpp = 32;
|
||||
depth = 24;
|
||||
enable_tiling = false;
|
||||
fb_id = kmstest_create_fb(drm_fd, crtc->mode.hdisplay,
|
||||
crtc->mode.vdisplay, bpp, depth,
|
||||
fb_id = kmstest_create_fb2(drm_fd, crtc->mode.hdisplay,
|
||||
crtc->mode.vdisplay,
|
||||
bpp_depth_to_drm_format(bpp, depth),
|
||||
enable_tiling, fb_info);
|
||||
igt_assert(fb_id > 0);
|
||||
}
|
||||
|
@ -95,8 +95,9 @@ static uint32_t create_fb(int drm_fd, int width, int height)
|
||||
cairo_t *cr;
|
||||
uint32_t buffer_id;
|
||||
|
||||
buffer_id = kmstest_create_fb(drm_fd, width, height, 32, 24, false,
|
||||
&fb);
|
||||
buffer_id = kmstest_create_fb2(drm_fd, width, height,
|
||||
DRM_FORMAT_XRGB8888,
|
||||
false, &fb);
|
||||
cr = kmstest_get_cairo_ctx(drm_fd, &fb);
|
||||
kmstest_paint_test_pattern(cr, width, height);
|
||||
cairo_destroy(cr);
|
||||
|
@ -40,7 +40,8 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/i2c-dev.h>
|
||||
|
||||
#include "drm.h"
|
||||
#include <drm.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "intel_batchbuffer.h"
|
||||
#include "intel_io.h"
|
||||
@ -274,7 +275,8 @@ static struct scanout_fb *create_fb(struct mode_set_data *data, int width,
|
||||
fb_info = malloc(sizeof(struct scanout_fb));
|
||||
igt_assert(fb_info);
|
||||
|
||||
fb_info->handle = kmstest_create_fb(drm_fd, width, height, 32, 24,
|
||||
fb_info->handle = kmstest_create_fb2(drm_fd, width, height,
|
||||
DRM_FORMAT_XRGB8888,
|
||||
false, &fb);
|
||||
fb_info->width = width;
|
||||
fb_info->height = height;
|
||||
|
@ -405,7 +405,8 @@ set_mode(struct connector *c)
|
||||
width = c->mode.hdisplay;
|
||||
height = c->mode.vdisplay;
|
||||
|
||||
fb_id = kmstest_create_fb(drm_fd, width, height, bpp, depth,
|
||||
fb_id = kmstest_create_fb2(drm_fd, width, height,
|
||||
bpp_depth_to_drm_format(bpp, depth),
|
||||
enable_tiling, &fb_info[current_fb]);
|
||||
paint_output_info(c, &fb_info[current_fb]);
|
||||
paint_color_key(&fb_info[current_fb]);
|
||||
@ -531,8 +532,9 @@ static uint32_t create_stereo_fb(drmModeModeInfo *mode, struct kmstest_fb *fb)
|
||||
uint32_t fb_id;
|
||||
|
||||
stereo_fb_layout_from_mode(&layout, mode);
|
||||
fb_id = kmstest_create_fb(drm_fd, layout.fb_width, layout.fb_height,
|
||||
bpp, depth, enable_tiling, fb);
|
||||
fb_id = kmstest_create_fb2(drm_fd, layout.fb_width, layout.fb_height,
|
||||
bpp_depth_to_drm_format(bpp, depth),
|
||||
enable_tiling, fb);
|
||||
cr = kmstest_get_cairo_ctx(drm_fd, fb);
|
||||
|
||||
kmstest_paint_image(cr, IGT_DATADIR"/1080p-left.png",
|
||||
|
Loading…
x
Reference in New Issue
Block a user