mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-22 15:26:21 +00:00
kms_frontbuffer_tracking: standardize the used FB sizes
We want to make sure that both tiled and untiled buffers have the same size for the same width/height/format. This will allow better control over the failure paths exercised by our tests: when we try to flip from tiled to untiled, we'll be sure that we won't execute the error path that checks for buffer sizes. v2: Use the new igt_calc_fb_size() instead of implementing our own size calculation (Daniel). v3: We can now use igt_drm_format_to_bpp() (Daniel). Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
parent
096e020743
commit
0432201e6d
@ -483,6 +483,9 @@ static void create_fb(enum pixel_format pformat, int width, int height,
|
|||||||
uint64_t tiling, int plane, struct igt_fb *fb)
|
uint64_t tiling, int plane, struct igt_fb *fb)
|
||||||
{
|
{
|
||||||
uint32_t format;
|
uint32_t format;
|
||||||
|
unsigned int size, stride;
|
||||||
|
int bpp;
|
||||||
|
uint64_t tiling_for_size;
|
||||||
|
|
||||||
switch (pformat) {
|
switch (pformat) {
|
||||||
case FORMAT_RGB888:
|
case FORMAT_RGB888:
|
||||||
@ -512,7 +515,21 @@ static void create_fb(enum pixel_format pformat, int width, int height,
|
|||||||
igt_assert(false);
|
igt_assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
igt_create_fb(drm.fd, width, height, format, tiling, fb);
|
/* We want all frontbuffers with the same width/height/format to have
|
||||||
|
* the same size regardless of tiling since we want to properly exercise
|
||||||
|
* the Kernel's specific tiling-checking code paths without accidentally
|
||||||
|
* hitting size-checking ones first. */
|
||||||
|
bpp = igt_drm_format_to_bpp(format);
|
||||||
|
if (plane == PLANE_CUR)
|
||||||
|
tiling_for_size = LOCAL_DRM_FORMAT_MOD_NONE;
|
||||||
|
else
|
||||||
|
tiling_for_size = LOCAL_I915_FORMAT_MOD_X_TILED;
|
||||||
|
|
||||||
|
igt_calc_fb_size(drm.fd, width, height, bpp, tiling_for_size, &size,
|
||||||
|
&stride);
|
||||||
|
|
||||||
|
igt_create_fb_with_bo_size(drm.fd, width, height, format, tiling, fb,
|
||||||
|
size, stride);
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t pick_color(struct igt_fb *fb, enum color ecolor)
|
static uint32_t pick_color(struct igt_fb *fb, enum color ecolor)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user