lib/igt_fb: switch to igt_ prefix from kmstest_

Shorter and more in line with our general igt_ prefix for everything
which isn't somehow intel or i915-gem or otherwise hw specific - these
helpers here are all fully generic framebuffer handling functions
based on kms + cairo.

Well, the actual buffer alloc is done with i915 gem, but meh ;-)

Two special cases:
- bpp_depth_to_drm_format and drm_format_to_bpp completely lacked
  prefixes, so just add igt_.
- write_fb was a bit misleading given that we have gem_write for
  uploading to buffers. Rename that to write_fb_to_png to make it
  crystal clear what this thing does even without looking at docs.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2014-03-26 09:18:11 +01:00
parent 57d7db8cf8
commit 9aea7ae541
14 changed files with 153 additions and 151 deletions

View File

@ -100,7 +100,7 @@ static int create_bo_for_fb(int fd, int width, int height, int bpp,
return 0;
}
void kmstest_paint_color(cairo_t *cr, int x, int y, int w, int h,
void igt_paint_color(cairo_t *cr, int x, int y, int w, int h,
double r, double g, double b)
{
cairo_rectangle(cr, x, y, w, h);
@ -108,7 +108,7 @@ void kmstest_paint_color(cairo_t *cr, int x, int y, int w, int h,
cairo_fill(cr);
}
void kmstest_paint_color_alpha(cairo_t *cr, int x, int y, int w, int h,
void igt_paint_color_alpha(cairo_t *cr, int x, int y, int w, int h,
double r, double g, double b, double a)
{
cairo_rectangle(cr, x, y, w, h);
@ -117,7 +117,7 @@ void kmstest_paint_color_alpha(cairo_t *cr, int x, int y, int w, int h,
}
void
kmstest_paint_color_gradient(cairo_t *cr, int x, int y, int w, int h,
igt_paint_color_gradient(cairo_t *cr, int x, int y, int w, int h,
int r, int g, int b)
{
cairo_pattern_t *pat;
@ -143,19 +143,19 @@ paint_test_patterns(cairo_t *cr, int width, int height)
gr_height = height * 0.08;
x = (width / 2) - (gr_width / 2);
kmstest_paint_color_gradient(cr, x, y, gr_width, gr_height, 1, 0, 0);
igt_paint_color_gradient(cr, x, y, gr_width, gr_height, 1, 0, 0);
y += gr_height;
kmstest_paint_color_gradient(cr, x, y, gr_width, gr_height, 0, 1, 0);
igt_paint_color_gradient(cr, x, y, gr_width, gr_height, 0, 1, 0);
y += gr_height;
kmstest_paint_color_gradient(cr, x, y, gr_width, gr_height, 0, 0, 1);
igt_paint_color_gradient(cr, x, y, gr_width, gr_height, 0, 0, 1);
y += gr_height;
kmstest_paint_color_gradient(cr, x, y, gr_width, gr_height, 1, 1, 1);
igt_paint_color_gradient(cr, x, y, gr_width, gr_height, 1, 1, 1);
}
int kmstest_cairo_printf_line(cairo_t *cr, enum kmstest_text_align align,
int igt_cairo_printf_line(cairo_t *cr, enum igt_text_align align,
double yspacing, const char *fmt, ...)
{
double x, y, xofs, yofs;
@ -202,7 +202,7 @@ int kmstest_cairo_printf_line(cairo_t *cr, enum kmstest_text_align align,
static void
paint_marker(cairo_t *cr, int x, int y)
{
enum kmstest_text_align align;
enum igt_text_align align;
int xoff, yoff;
cairo_move_to(cr, x, y - 20);
@ -226,10 +226,10 @@ paint_marker(cairo_t *cr, int x, int y)
cairo_move_to(cr, x + xoff, y + yoff);
cairo_set_font_size(cr, 18);
kmstest_cairo_printf_line(cr, align, 0, "(%d, %d)", x, y);
igt_cairo_printf_line(cr, align, 0, "(%d, %d)", x, y);
}
void kmstest_paint_test_pattern(cairo_t *cr, int width, int height)
void igt_paint_test_pattern(cairo_t *cr, int width, int height)
{
paint_test_patterns(cr, width, height);
@ -244,7 +244,7 @@ void kmstest_paint_test_pattern(cairo_t *cr, int width, int height)
igt_assert(!cairo_status(cr));
}
void kmstest_paint_image(cairo_t *cr, const char *filename,
void igt_paint_image(cairo_t *cr, const char *filename,
int dst_x, int dst_y, int dst_width, int dst_height)
{
cairo_surface_t *image;
@ -272,8 +272,8 @@ void kmstest_paint_image(cairo_t *cr, const char *filename,
cairo_restore(cr);
}
unsigned int kmstest_create_fb(int fd, int width, int height, uint32_t format,
bool tiled, struct kmstest_fb *fb)
unsigned int igt_create_fb(int fd, int width, int height, uint32_t format,
bool tiled, struct igt_fb *fb)
{
uint32_t handles[4];
uint32_t pitches[4];
@ -284,7 +284,7 @@ unsigned int kmstest_create_fb(int fd, int width, int height, uint32_t format,
memset(fb, 0, sizeof(*fb));
bpp = drm_format_to_bpp(format);
bpp = igt_drm_format_to_bpp(format);
ret = create_bo_for_fb(fd, width, height, bpp, tiled, &fb->gem_handle,
&fb->size, &fb->stride);
if (ret < 0)
@ -311,19 +311,19 @@ unsigned int kmstest_create_fb(int fd, int width, int height, uint32_t format,
return fb_id;
}
unsigned int kmstest_create_color_fb(int fd, int width, int height,
unsigned int igt_create_color_fb(int fd, int width, int height,
uint32_t format, bool tiled,
double r, double g, double b,
struct kmstest_fb *fb /* out */)
struct igt_fb *fb /* out */)
{
unsigned int fb_id;
cairo_t *cr;
fb_id = kmstest_create_fb(fd, width, height, format, tiled, fb);
fb_id = igt_create_fb(fd, width, height, format, tiled, fb);
igt_assert(fb_id);
cr = kmstest_get_cairo_ctx(fd, fb);
kmstest_paint_color(cr, 0, 0, width, height, r, g, b);
cr = igt_get_cairo_ctx(fd, fb);
igt_paint_color(cr, 0, 0, width, height, r, g, b);
igt_assert(cairo_status(cr) == 0);
cairo_destroy(cr);
@ -343,11 +343,11 @@ static cairo_format_t drm_format_to_cairo(uint32_t drm_format)
static void __kmstest_destroy_cairo_surface(void *arg)
{
struct kmstest_fb *fb = arg;
struct igt_fb *fb = arg;
munmap(cairo_image_surface_get_data(fb->cairo_surface), fb->size);
}
static cairo_surface_t *kmstest_get_cairo_surface(int fd, struct kmstest_fb *fb)
static cairo_surface_t *kmstest_get_cairo_surface(int fd, struct igt_fb *fb)
{
if (fb->cairo_surface == NULL) {
fb->cairo_surface =
@ -367,7 +367,7 @@ static cairo_surface_t *kmstest_get_cairo_surface(int fd, struct kmstest_fb *fb)
return cairo_surface_reference(fb->cairo_surface);
}
cairo_t *kmstest_get_cairo_ctx(int fd, struct kmstest_fb *fb)
cairo_t *igt_get_cairo_ctx(int fd, struct igt_fb *fb)
{
cairo_surface_t *surface;
cairo_t *cr;
@ -381,7 +381,7 @@ cairo_t *kmstest_get_cairo_ctx(int fd, struct kmstest_fb *fb)
return cr;
}
void kmstest_write_fb(int fd, struct kmstest_fb *fb, const char *filename)
void igt_write_fb_to_png(int fd, struct igt_fb *fb, const char *filename)
{
cairo_surface_t *surface;
cairo_status_t status;
@ -393,7 +393,7 @@ void kmstest_write_fb(int fd, struct kmstest_fb *fb, const char *filename)
igt_assert(status == CAIRO_STATUS_SUCCESS);
}
void kmstest_remove_fb(int fd, struct kmstest_fb *fb)
void igt_remove_fb(int fd, struct igt_fb *fb)
{
cairo_surface_destroy(fb->cairo_surface);
do_or_die(drmModeRmFB(fd, fb->fb_id));
@ -401,7 +401,7 @@ void kmstest_remove_fb(int fd, struct kmstest_fb *fb)
}
/* helpers to handle drm fourcc codes */
uint32_t bpp_depth_to_drm_format(int bpp, int depth)
uint32_t igt_bpp_depth_to_drm_format(int bpp, int depth)
{
struct format_desc_struct *f;
@ -413,7 +413,7 @@ uint32_t bpp_depth_to_drm_format(int bpp, int depth)
}
/* Return fb_id on success, 0 on error */
uint32_t drm_format_to_bpp(uint32_t drm_format)
uint32_t igt_drm_format_to_bpp(uint32_t drm_format)
{
struct format_desc_struct *f;
@ -424,7 +424,7 @@ uint32_t drm_format_to_bpp(uint32_t drm_format)
abort();
}
const char *kmstest_format_str(uint32_t drm_format)
const char *igt_format_str(uint32_t drm_format)
{
struct format_desc_struct *f;
@ -435,7 +435,7 @@ const char *kmstest_format_str(uint32_t drm_format)
return "invalid";
}
void kmstest_get_all_formats(const uint32_t **formats, int *format_count)
void igt_get_all_formats(const uint32_t **formats, int *format_count)
{
static uint32_t *drm_formats;

View File

@ -34,7 +34,7 @@
#include <xf86drmMode.h>
/* helpers to create nice-looking framebuffers */
struct kmstest_fb {
struct igt_fb {
uint32_t fb_id;
uint32_t gem_handle;
uint32_t drm_format;
@ -47,7 +47,7 @@ struct kmstest_fb {
cairo_surface_t *cairo_surface;
};
enum kmstest_text_align {
enum igt_text_align {
align_left,
align_bottom = align_left,
align_right = 0x01,
@ -56,34 +56,36 @@ enum kmstest_text_align {
align_hcenter = 0x08,
};
int kmstest_cairo_printf_line(cairo_t *cr, enum kmstest_text_align align,
int igt_cairo_printf_line(cairo_t *cr, enum igt_text_align align,
double yspacing, const char *fmt, ...)
__attribute__((format (printf, 4, 5)));
unsigned int kmstest_create_fb(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,
unsigned int igt_create_fb(int fd, int width, int height, uint32_t format,
bool tiled, struct igt_fb *fb);
unsigned int igt_create_color_fb(int fd, int width, int height,
uint32_t format, bool tiled,
double r, double g, double b,
struct kmstest_fb *fb /* out */);
void kmstest_remove_fb(int fd, struct kmstest_fb *fb_info);
cairo_t *kmstest_get_cairo_ctx(int fd, struct kmstest_fb *fb);
void kmstest_paint_color(cairo_t *cr, int x, int y, int w, int h,
struct igt_fb *fb /* out */);
void igt_remove_fb(int fd, struct igt_fb *fb_info);
/* cairo-based painting */
cairo_t *igt_get_cairo_ctx(int fd, struct igt_fb *fb);
void igt_paint_color(cairo_t *cr, int x, int y, int w, int h,
double r, double g, double b);
void kmstest_paint_color_alpha(cairo_t *cr, int x, int y, int w, int h,
void igt_paint_color_alpha(cairo_t *cr, int x, int y, int w, int h,
double r, double g, double b, double a);
void kmstest_paint_color_gradient(cairo_t *cr, int x, int y, int w, int h,
void igt_paint_color_gradient(cairo_t *cr, int x, int y, int w, int h,
int r, int g, int b);
void kmstest_paint_test_pattern(cairo_t *cr, int width, int height);
void kmstest_paint_image(cairo_t *cr, const char *filename,
void igt_paint_test_pattern(cairo_t *cr, int width, int height);
void igt_paint_image(cairo_t *cr, const char *filename,
int dst_x, int dst_y, int dst_width, int dst_height);
void kmstest_write_fb(int fd, struct kmstest_fb *fb, const char *filename);
void igt_write_fb_to_png(int fd, struct igt_fb *fb, const char *filename);
/* helpers to handle drm fourcc codes */
uint32_t bpp_depth_to_drm_format(int bpp, int depth);
uint32_t drm_format_to_bpp(uint32_t drm_format);
const char *kmstest_format_str(uint32_t drm_format);
void kmstest_get_all_formats(const uint32_t **formats, int *format_count);
uint32_t igt_bpp_depth_to_drm_format(int bpp, int depth);
uint32_t igt_drm_format_to_bpp(uint32_t drm_format);
const char *igt_format_str(uint32_t drm_format);
void igt_get_all_formats(const uint32_t **formats, int *format_count);
#endif /* __IGT_FB_H__ */

View File

@ -956,7 +956,7 @@ igt_plane_t *igt_output_get_plane(igt_output_t *output, enum igt_plane plane)
return igt_pipe_get_plane(pipe, plane);
}
void igt_plane_set_fb(igt_plane_t *plane, struct kmstest_fb *fb)
void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb)
{
igt_pipe_t *pipe = plane->pipe;
igt_display_t *display = pipe->display;

View File

@ -79,7 +79,7 @@ typedef struct {
* using the atomic modeset API)
*/
drmModePlane *drm_plane;
struct kmstest_fb *fb;
struct igt_fb *fb;
/* position within pipe_src_w x pipe_src_h */
int crtc_x, crtc_y;
} igt_plane_t;
@ -127,7 +127,7 @@ drmModeModeInfo *igt_output_get_mode(igt_output_t *output);
void igt_output_set_pipe(igt_output_t *output, enum pipe pipe);
igt_plane_t *igt_output_get_plane(igt_output_t *output, enum igt_plane plane);
void igt_plane_set_fb(igt_plane_t *plane, struct kmstest_fb *fb);
void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb);
void igt_plane_set_position(igt_plane_t *plane, int x, int y);
#define for_each_connected_output(display, output) \

View File

@ -50,8 +50,8 @@ enum cursor_type {
typedef struct {
int drm_fd;
igt_display_t display;
struct kmstest_fb primary_fb;
struct kmstest_fb fb[NUM_CURSOR_TYPES];
struct igt_fb primary_fb;
struct igt_fb fb[NUM_CURSOR_TYPES];
igt_pipe_crc_t **pipe_crc;
} data_t;
@ -199,7 +199,7 @@ static bool prepare_crtc(test_data_t *test_data, igt_output_t *output,
/* create and set the primary plane fb */
mode = igt_output_get_mode(output);
kmstest_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
false, /* tiled */
0.0, 0.0, 0.0,
@ -247,7 +247,7 @@ static void cleanup_crtc(test_data_t *test_data, igt_output_t *output)
igt_pipe_crc_free(data->pipe_crc[test_data->pipe]);
data->pipe_crc[test_data->pipe] = NULL;
kmstest_remove_fb(data->drm_fd, &data->primary_fb);
igt_remove_fb(data->drm_fd, &data->primary_fb);
primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
igt_plane_set_fb(primary, NULL);
@ -302,14 +302,14 @@ static void create_cursor_fb(data_t *data,
cairo_t *cr;
uint32_t fb_id[NUM_CURSOR_TYPES];
fb_id[cursor_type] = kmstest_create_fb(data->drm_fd, cur_w, cur_h,
fb_id[cursor_type] = igt_create_fb(data->drm_fd, cur_w, cur_h,
DRM_FORMAT_ARGB8888, false,
&data->fb[cursor_type]);
igt_assert(fb_id[cursor_type]);
cr = kmstest_get_cairo_ctx(data->drm_fd,
cr = igt_get_cairo_ctx(data->drm_fd,
&data->fb[cursor_type]);
kmstest_paint_color_alpha(cr, 0, 0, cur_w, cur_h, r, g, b, a);
igt_paint_color_alpha(cr, 0, 0, cur_w, cur_h, r, g, b, a);
igt_assert(cairo_status(cr) == 0);
}

View File

@ -51,7 +51,7 @@ enum test_mode {
typedef struct {
struct kmstest_connector_config config;
drmModeModeInfo mode;
struct kmstest_fb fb[2];
struct igt_fb fb[2];
} connector_t;
typedef struct {
@ -90,17 +90,17 @@ static const char *test_mode_str(enum test_mode mode)
static uint32_t create_fb(data_t *data,
int w, int h,
double r, double g, double b,
struct kmstest_fb *fb)
struct igt_fb *fb)
{
uint32_t fb_id;
cairo_t *cr;
fb_id = kmstest_create_fb(data->drm_fd, w, h,
fb_id = igt_create_fb(data->drm_fd, w, h,
DRM_FORMAT_XRGB8888, true, fb);
igt_assert(fb_id);
cr = kmstest_get_cairo_ctx(data->drm_fd, fb);
kmstest_paint_color(cr, 0, 0, w, h, r, g, b);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color(cr, 0, 0, w, h, r, g, b);
igt_assert(cairo_status(cr) == 0);
cairo_destroy(cr);

View File

@ -138,7 +138,7 @@ struct test_output {
unsigned int fb_height;
unsigned int fb_ids[3];
int bpp, depth;
struct kmstest_fb fb_info[3];
struct igt_fb fb_info[3];
struct event_state flip_state;
struct event_state vblank_state;
@ -162,7 +162,7 @@ static void emit_dummy_load__bcs(struct test_output *o)
{
int i, limit;
drm_intel_bo *dummy_bo, *target_bo, *tmp_bo;
struct kmstest_fb *fb_info = &o->fb_info[o->current_fb_id];
struct igt_fb *fb_info = &o->fb_info[o->current_fb_id];
unsigned pitch = fb_info->stride;
limit = intel_gen(devid) < 6 ? 500 : 5000;
@ -208,7 +208,7 @@ static void emit_dummy_load__bcs(struct test_output *o)
static void emit_fence_stress(struct test_output *o)
{
const int num_fences = gem_available_fences(drm_fd);
struct kmstest_fb *fb_info = &o->fb_info[o->current_fb_id];
struct igt_fb *fb_info = &o->fb_info[o->current_fb_id];
struct drm_i915_gem_execbuffer2 execbuf;
struct drm_i915_gem_exec_object2 *exec;
uint32_t buf[2] = { MI_BATCH_BUFFER_END, 0 };
@ -249,7 +249,7 @@ static void emit_fence_stress(struct test_output *o)
static void emit_dummy_load__rcs(struct test_output *o)
{
const struct kmstest_fb *fb_info = &o->fb_info[o->current_fb_id];
const struct igt_fb *fb_info = &o->fb_info[o->current_fb_id];
igt_render_copyfunc_t copyfunc;
struct igt_buf sb[2], *src, *dst;
int i, limit;
@ -657,7 +657,7 @@ static void check_all_state(struct test_output *o,
static void recreate_fb(struct test_output *o)
{
drmModeFBPtr r;
struct kmstest_fb *fb_info = &o->fb_info[o->current_fb_id];
struct igt_fb *fb_info = &o->fb_info[o->current_fb_id];
uint32_t new_fb_id;
/* Call rmfb/getfb/addfb to ensure those don't introduce stalls */
@ -679,7 +679,7 @@ static void recreate_fb(struct test_output *o)
static void set_y_tiling(struct test_output *o, int fb_idx)
{
drmModeFBPtr r;
struct kmstest_fb *fb_info = &o->fb_info[fb_idx];
struct igt_fb *fb_info = &o->fb_info[fb_idx];
/* Call rmfb/getfb/addfb to ensure those don't introduce stalls */
r = drmModeGetFB(drm_fd, fb_info->fb_id);
@ -1104,13 +1104,13 @@ found:
drmModeFreeCrtc(config[1].crtc);
}
static void paint_flip_mode(struct kmstest_fb *fb, bool odd_frame)
static void paint_flip_mode(struct igt_fb *fb, bool odd_frame)
{
cairo_t *cr = kmstest_get_cairo_ctx(drm_fd, fb);
cairo_t *cr = igt_get_cairo_ctx(drm_fd, fb);
int width = fb->width;
int height = fb->height;
kmstest_paint_test_pattern(cr, width, height);
igt_paint_test_pattern(cr, width, height);
if (odd_frame)
cairo_rectangle(cr, width/4, height/2, width/4, height/8);
@ -1290,14 +1290,14 @@ 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,
bpp_depth_to_drm_format(o->bpp, o->depth),
o->fb_ids[0] = igt_create_fb(drm_fd, o->fb_width, o->fb_height,
igt_bpp_depth_to_drm_format(o->bpp, o->depth),
tiled, &o->fb_info[0]);
o->fb_ids[1] = kmstest_create_fb(drm_fd, o->fb_width, o->fb_height,
bpp_depth_to_drm_format(o->bpp, o->depth),
o->fb_ids[1] = igt_create_fb(drm_fd, o->fb_width, o->fb_height,
igt_bpp_depth_to_drm_format(o->bpp, o->depth),
tiled, &o->fb_info[1]);
o->fb_ids[2] = kmstest_create_fb(drm_fd, o->fb_width, o->fb_height,
bpp_depth_to_drm_format(o->bpp, o->depth),
o->fb_ids[2] = igt_create_fb(drm_fd, o->fb_width, o->fb_height,
igt_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]);
@ -1353,9 +1353,9 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
igt_info("\n%s: PASSED\n\n", test_name);
out:
kmstest_remove_fb(drm_fd, &o->fb_info[2]);
kmstest_remove_fb(drm_fd, &o->fb_info[1]);
kmstest_remove_fb(drm_fd, &o->fb_info[0]);
igt_remove_fb(drm_fd, &o->fb_info[2]);
igt_remove_fb(drm_fd, &o->fb_info[1]);
igt_remove_fb(drm_fd, &o->fb_info[0]);
last_connector = NULL;

View File

@ -34,7 +34,7 @@
typedef struct {
int drm_fd;
igt_display_t display;
struct kmstest_fb fb;
struct igt_fb fb;
} data_t;
static void test_bad_command(data_t *data, const char *cmd)
@ -75,7 +75,7 @@ static void test_read_crc(data_t *data, int pipe, unsigned flags)
pipe_name(pipe));
mode = igt_output_get_mode(output);
kmstest_create_color_fb(data->drm_fd,
igt_create_color_fb(data->drm_fd,
mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
false, /* tiled */
@ -116,7 +116,7 @@ static void test_read_crc(data_t *data, int pipe, unsigned flags)
free(crcs);
igt_pipe_crc_free(pipe_crc);
kmstest_remove_fb(data->drm_fd, &data->fb);
igt_remove_fb(data->drm_fd, &data->fb);
igt_plane_set_fb(primary, NULL);
igt_output_set_pipe(output, PIPE_ANY);

View File

@ -63,22 +63,22 @@ static void
create_fb_for_mode__position(data_t *data, drmModeModeInfo *mode,
double rect_x, double rect_y,
double rect_w, double rect_h,
struct kmstest_fb *fb /* out */)
struct igt_fb *fb /* out */)
{
unsigned int fb_id;
cairo_t *cr;
fb_id = kmstest_create_fb(data->drm_fd,
fb_id = igt_create_fb(data->drm_fd,
mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
false /* tiling */,
fb);
igt_assert(fb_id);
cr = kmstest_get_cairo_ctx(data->drm_fd, fb);
kmstest_paint_color(cr, 0, 0, mode->hdisplay, mode->vdisplay,
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color(cr, 0, 0, mode->hdisplay, mode->vdisplay,
0.0, 1.0, 0.0);
kmstest_paint_color(cr, rect_x, rect_y, rect_w, rect_h, 0.0, 0.0, 0.0);
igt_paint_color(cr, rect_x, rect_y, rect_w, rect_h, 0.0, 0.0, 0.0);
igt_assert(cairo_status(cr) == 0);
cairo_destroy(cr);
}
@ -87,7 +87,7 @@ static void
test_position_init(test_position_t *test, igt_output_t *output, enum pipe pipe)
{
data_t *data = test->data;
struct kmstest_fb green_fb;
struct igt_fb green_fb;
drmModeModeInfo *mode;
igt_plane_t *primary;
@ -97,7 +97,7 @@ test_position_init(test_position_t *test, igt_output_t *output, enum pipe pipe)
primary = igt_output_get_plane(output, 0);
mode = igt_output_get_mode(output);
kmstest_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
false, /* tiled */
0.0, 1.0, 0.0,
@ -111,7 +111,7 @@ test_position_init(test_position_t *test, igt_output_t *output, enum pipe pipe)
igt_plane_set_fb(primary, NULL);
igt_display_commit(&data->display);
kmstest_remove_fb(data->drm_fd, &green_fb);
igt_remove_fb(data->drm_fd, &green_fb);
}
static void
@ -136,7 +136,7 @@ test_plane_position_with_output(data_t *data,
{
test_position_t test = { .data = data };
igt_plane_t *primary, *sprite;
struct kmstest_fb primary_fb, sprite_fb;
struct igt_fb primary_fb, sprite_fb;
drmModeModeInfo *mode;
igt_crc_t crc;
@ -153,7 +153,7 @@ test_plane_position_with_output(data_t *data,
&primary_fb);
igt_plane_set_fb(primary, &primary_fb);
kmstest_create_color_fb(data->drm_fd,
igt_create_color_fb(data->drm_fd,
64, 64, /* width, height */
DRM_FORMAT_XRGB8888,
false, /* tiled */

View File

@ -50,30 +50,30 @@ enum test_flags {
TEST_GPU_BLIT = 0x02,
};
static int paint_fb(struct kmstest_fb *fb, const char *test_name,
static int paint_fb(struct igt_fb *fb, const char *test_name,
const char *mode_format_str, const char *cconf_str)
{
cairo_t *cr;
cr = kmstest_get_cairo_ctx(drm_fd, fb);
cr = igt_get_cairo_ctx(drm_fd, fb);
kmstest_paint_color_gradient(cr, 0, 0, fb->width, fb->height, 1, 1, 1);
kmstest_paint_test_pattern(cr, fb->width, fb->height);
igt_paint_color_gradient(cr, 0, 0, fb->width, fb->height, 1, 1, 1);
igt_paint_test_pattern(cr, fb->width, fb->height);
cairo_select_font_face(cr, "Helvetica", CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_NORMAL);
cairo_move_to(cr, fb->width / 2, fb->height / 2);
cairo_set_font_size(cr, 36);
kmstest_cairo_printf_line(cr, align_hcenter, 10, "%s", test_name);
kmstest_cairo_printf_line(cr, align_hcenter, 10, "%s", mode_format_str);
kmstest_cairo_printf_line(cr, align_hcenter, 10, "%s", cconf_str);
igt_cairo_printf_line(cr, align_hcenter, 10, "%s", test_name);
igt_cairo_printf_line(cr, align_hcenter, 10, "%s", mode_format_str);
igt_cairo_printf_line(cr, align_hcenter, 10, "%s", cconf_str);
cairo_destroy(cr);
return 0;
}
static void gpu_blit(struct kmstest_fb *dst_fb, struct kmstest_fb *src_fb)
static void gpu_blit(struct igt_fb *dst_fb, struct igt_fb *src_fb)
{
drm_intel_bo *dst_bo;
drm_intel_bo *src_bo;
@ -81,8 +81,8 @@ static void gpu_blit(struct kmstest_fb *dst_fb, struct kmstest_fb *src_fb)
igt_assert(dst_fb->drm_format == src_fb->drm_format);
igt_assert(src_fb->drm_format == DRM_FORMAT_RGB565 ||
drm_format_to_bpp(src_fb->drm_format) != 16);
bpp = drm_format_to_bpp(src_fb->drm_format);
igt_drm_format_to_bpp(src_fb->drm_format) != 16);
bpp = igt_drm_format_to_bpp(src_fb->drm_format);
dst_bo = gem_handle_to_libdrm_bo(bufmgr, drm_fd, "destination",
dst_fb->gem_handle);
igt_assert(dst_bo);
@ -108,13 +108,13 @@ static int test_format(const char *test_name,
{
int width;
int height;
struct kmstest_fb fb[2];
struct igt_fb fb[2];
char *mode_format_str;
char *cconf_str;
int ret;
ret = asprintf(&mode_format_str, "%s @ %dHz / %s",
mode->name, mode->vrefresh, kmstest_format_str(format));
mode->name, mode->vrefresh, igt_format_str(format));
igt_assert(ret > 0);
ret = asprintf(&cconf_str, "pipe %s, encoder %s, connector %s",
kmstest_pipe_str(cconf->pipe),
@ -128,10 +128,10 @@ static int test_format(const char *test_name,
width = mode->hdisplay;
height = mode->vdisplay;
if (!kmstest_create_fb(drm_fd, width, height, format, false, &fb[0]))
if (!igt_create_fb(drm_fd, width, height, format, false, &fb[0]))
goto err1;
if (!kmstest_create_fb(drm_fd, width, height, format, false, &fb[1]))
if (!igt_create_fb(drm_fd, width, height, format, false, &fb[1]))
goto err2;
if (drmModeSetCrtc(drm_fd, cconf->crtc->crtc_id, fb[0].fb_id,
@ -155,13 +155,13 @@ static int test_format(const char *test_name,
free(mode_format_str);
free(cconf_str);
kmstest_remove_fb(drm_fd, &fb[1]);
kmstest_remove_fb(drm_fd, &fb[0]);
igt_remove_fb(drm_fd, &fb[1]);
igt_remove_fb(drm_fd, &fb[0]);
return 0;
err2:
kmstest_remove_fb(drm_fd, &fb[0]);
igt_remove_fb(drm_fd, &fb[0]);
err1:
printf("Test %s with %s on %s: SKIPPED\n",
test_name, mode_format_str, cconf_str);
@ -179,7 +179,7 @@ static void test_connector(const char *test_name,
int format_count;
int i;
kmstest_get_all_formats(&formats, &format_count);
igt_get_all_formats(&formats, &format_count);
for (i = 0; i < cconf->connector->count_modes; i++) {
int j;

View File

@ -95,7 +95,7 @@ struct crtc_config {
int pipe_id;
int connector_count;
struct connector_config *cconfs;
struct kmstest_fb fb_info;
struct igt_fb fb_info;
drmModeModeInfo mode;
};
@ -141,22 +141,22 @@ static bool crtc_supports_mode(struct crtc_config *crtc, drmModeModeInfo *mode)
return true;
}
static int paint_fb(struct kmstest_fb *fb, const char *test_name,
static int paint_fb(struct igt_fb *fb, const char *test_name,
const char **crtc_str, int crtc_count, int current_crtc_idx)
{
double x, y;
cairo_t *cr;
int i;
cr = kmstest_get_cairo_ctx(drm_fd, fb);
cr = igt_get_cairo_ctx(drm_fd, fb);
kmstest_paint_test_pattern(cr, fb->width, fb->height);
igt_paint_test_pattern(cr, fb->width, fb->height);
cairo_select_font_face(cr, "Helvetica", CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_NORMAL);
cairo_move_to(cr, fb->width / 2, fb->height / 2);
cairo_set_font_size(cr, 24);
kmstest_cairo_printf_line(cr, align_hcenter, 40, "%s", test_name);
igt_cairo_printf_line(cr, align_hcenter, 40, "%s", test_name);
cairo_get_current_point(cr, &x, &y);
cairo_move_to(cr, 60, y);
@ -165,10 +165,10 @@ static int paint_fb(struct kmstest_fb *fb, const char *test_name,
if (i == current_crtc_idx) {
cairo_get_current_point(cr, &x, &y);
cairo_move_to(cr, x - 20, y);
kmstest_cairo_printf_line(cr, align_right, 20, "X");
igt_cairo_printf_line(cr, align_right, 20, "X");
cairo_move_to(cr, x, y);
}
kmstest_cairo_printf_line(cr, align_left, 20, "%s",
igt_cairo_printf_line(cr, align_left, 20, "%s",
crtc_str[i]);
}
@ -178,7 +178,7 @@ static int paint_fb(struct kmstest_fb *fb, const char *test_name,
}
static void create_fb_for_crtc(struct crtc_config *crtc,
struct kmstest_fb *fb_info)
struct igt_fb *fb_info)
{
int bpp;
int depth;
@ -188,9 +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,
fb_id = igt_create_fb(drm_fd, crtc->mode.hdisplay,
crtc->mode.vdisplay,
bpp_depth_to_drm_format(bpp, depth),
igt_bpp_depth_to_drm_format(bpp, depth),
enable_tiling, fb_info);
igt_assert(fb_id > 0);
}

View File

@ -91,15 +91,15 @@ static void screens_disabled_subtest(int drm_fd, drmModeResPtr drm_res)
static uint32_t create_fb(int drm_fd, int width, int height)
{
struct kmstest_fb fb;
struct igt_fb fb;
cairo_t *cr;
uint32_t buffer_id;
buffer_id = kmstest_create_fb(drm_fd, width, height,
buffer_id = igt_create_fb(drm_fd, width, height,
DRM_FORMAT_XRGB8888,
false, &fb);
cr = kmstest_get_cairo_ctx(drm_fd, &fb);
kmstest_paint_test_pattern(cr, width, height);
cr = igt_get_cairo_ctx(drm_fd, &fb);
igt_paint_test_pattern(cr, width, height);
cairo_destroy(cr);
return buffer_id;

View File

@ -269,21 +269,21 @@ static struct scanout_fb *create_fb(struct mode_set_data *data, int width,
int height)
{
struct scanout_fb *fb_info;
struct kmstest_fb fb;
struct igt_fb fb;
cairo_t *cr;
fb_info = malloc(sizeof(struct scanout_fb));
igt_assert(fb_info);
fb_info->handle = kmstest_create_fb(drm_fd, width, height,
fb_info->handle = igt_create_fb(drm_fd, width, height,
DRM_FORMAT_XRGB8888,
false, &fb);
fb_info->width = width;
fb_info->height = height;
fb_info->next = NULL;
cr = kmstest_get_cairo_ctx(drm_fd, &fb);
kmstest_paint_test_pattern(cr, width, height);
cr = igt_get_cairo_ctx(drm_fd, &fb);
igt_paint_test_pattern(cr, width, height);
cairo_destroy(cr);
return fb_info;

View File

@ -221,7 +221,7 @@ static void connector_find_preferred_mode(uint32_t connector_id,
}
static void
paint_color_key(struct kmstest_fb *fb_info)
paint_color_key(struct igt_fb *fb_info)
{
int i, j;
uint32_t *fb_ptr;
@ -272,9 +272,9 @@ static void paint_image(cairo_t *cr, const char *file)
cairo_surface_destroy(image);
}
static void paint_output_info(struct connector *c, struct kmstest_fb *fb)
static void paint_output_info(struct connector *c, struct igt_fb *fb)
{
cairo_t *cr = kmstest_get_cairo_ctx(drm_fd, fb);
cairo_t *cr = igt_get_cairo_ctx(drm_fd, fb);
int l_width = fb->width;
int l_height = fb->height;
double str_width;
@ -282,7 +282,7 @@ static void paint_output_info(struct connector *c, struct kmstest_fb *fb)
double max_width;
int i;
kmstest_paint_test_pattern(cr, l_width, l_height);
igt_paint_test_pattern(cr, l_width, l_height);
cairo_select_font_face(cr, "Helvetica",
CAIRO_FONT_SLANT_NORMAL,
@ -291,11 +291,11 @@ static void paint_output_info(struct connector *c, struct kmstest_fb *fb)
/* Print connector and mode name */
cairo_set_font_size(cr, 48);
kmstest_cairo_printf_line(cr, align_hcenter, 10, "%s",
igt_cairo_printf_line(cr, align_hcenter, 10, "%s",
kmstest_connector_type_str(c->connector->connector_type));
cairo_set_font_size(cr, 36);
str_width = kmstest_cairo_printf_line(cr, align_hcenter, 10,
str_width = igt_cairo_printf_line(cr, align_hcenter, 10,
"%s @ %dHz on %s encoder", c->mode.name, c->mode.vrefresh,
kmstest_encoder_type_str(c->encoder->encoder_type));
@ -303,7 +303,7 @@ static void paint_output_info(struct connector *c, struct kmstest_fb *fb)
/* List available modes */
cairo_set_font_size(cr, 18);
str_width = kmstest_cairo_printf_line(cr, align_left, 10,
str_width = igt_cairo_printf_line(cr, align_left, 10,
"Available modes:");
cairo_rel_move_to(cr, str_width, 0);
cairo_get_current_point(cr, &x, &top_y);
@ -316,7 +316,7 @@ static void paint_output_info(struct connector *c, struct kmstest_fb *fb)
max_width = 0;
cairo_move_to(cr, x, top_y);
}
str_width = kmstest_cairo_printf_line(cr, align_right, 10,
str_width = igt_cairo_printf_line(cr, align_right, 10,
"%s @ %dHz", c->connector->modes[i].name,
c->connector->modes[i].vrefresh);
if (str_width > max_width)
@ -378,7 +378,7 @@ static void
set_mode(struct connector *c)
{
unsigned int fb_id = 0;
struct kmstest_fb fb_info[2] = { };
struct igt_fb fb_info[2] = { };
int j, test_mode_num, current_fb = 0, old_fb = -1;
test_mode_num = 1;
@ -405,8 +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_to_drm_format(bpp, depth),
fb_id = igt_create_fb(drm_fd, width, height,
igt_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]);
@ -422,7 +422,7 @@ set_mode(struct connector *c)
}
if (old_fb != -1)
kmstest_remove_fb(drm_fd, &fb_info[old_fb]);
igt_remove_fb(drm_fd, &fb_info[old_fb]);
old_fb = current_fb;
current_fb = 1 - current_fb;
@ -442,7 +442,7 @@ set_mode(struct connector *c)
}
if (test_all_modes)
kmstest_remove_fb(drm_fd, &fb_info[old_fb]);
igt_remove_fb(drm_fd, &fb_info[old_fb]);
drmModeFreeEncoder(c->encoder);
drmModeFreeConnector(c->connector);
@ -525,22 +525,22 @@ static const char *stereo_mode_str(drmModeModeInfo *mode)
}
}
static uint32_t create_stereo_fb(drmModeModeInfo *mode, struct kmstest_fb *fb)
static uint32_t create_stereo_fb(drmModeModeInfo *mode, struct igt_fb *fb)
{
struct stereo_fb_layout layout;
cairo_t *cr;
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_to_drm_format(bpp, depth),
fb_id = igt_create_fb(drm_fd, layout.fb_width, layout.fb_height,
igt_bpp_depth_to_drm_format(bpp, depth),
enable_tiling, fb);
cr = kmstest_get_cairo_ctx(drm_fd, fb);
cr = igt_get_cairo_ctx(drm_fd, fb);
kmstest_paint_image(cr, IGT_DATADIR"/1080p-left.png",
igt_paint_image(cr, IGT_DATADIR"/1080p-left.png",
layout.left.x, layout.left.y,
layout.left.width, layout.left.height);
kmstest_paint_image(cr, IGT_DATADIR"/1080p-right.png",
igt_paint_image(cr, IGT_DATADIR"/1080p-right.png",
layout.right.x, layout.right.y,
layout.right.width, layout.right.height);
@ -555,7 +555,7 @@ static uint32_t create_stereo_fb(drmModeModeInfo *mode, struct kmstest_fb *fb)
mode->vrefresh,
stereo_mode_str(mode));
kmstest_write_fb(drm_fd, fb, buffer);
igt_write_fb_to_png(drm_fd, fb, buffer);
}
return fb_id;
@ -564,7 +564,7 @@ static uint32_t create_stereo_fb(drmModeModeInfo *mode, struct kmstest_fb *fb)
static void do_set_stereo_mode(struct connector *c)
{
uint32_t fb_id;
struct kmstest_fb fb_info;
struct igt_fb fb_info;
fb_id = create_stereo_fb(&c->mode, &fb_info);