mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 10:26:12 +00:00
igt_kms: pass drm_fd instead of igt_display_t on some functions
Since these functions only really use the drm_fd. The goal is to be able to reuse these functions on programs that don't use the igt_display_t structure. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
parent
61920c68d8
commit
18d8ea7fe4
@ -593,20 +593,19 @@ static void igt_output_refresh(igt_output_t *output)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
get_property(igt_display_t *display,
|
get_property(int drm_fd, uint32_t object_id, uint32_t object_type,
|
||||||
uint32_t object_id, uint32_t object_type, const char *name,
|
const char *name, uint32_t *prop_id /* out */,
|
||||||
uint32_t *prop_id /* out */, uint64_t *value /* out */)
|
uint64_t *value /* out */)
|
||||||
{
|
{
|
||||||
drmModeObjectPropertiesPtr proplist;
|
drmModeObjectPropertiesPtr proplist;
|
||||||
drmModePropertyPtr prop = NULL;
|
drmModePropertyPtr prop = NULL;
|
||||||
bool found = false;
|
bool found = false;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
proplist = drmModeObjectGetProperties(display->drm_fd,
|
proplist = drmModeObjectGetProperties(drm_fd, object_id, object_type);
|
||||||
object_id, object_type);
|
|
||||||
for (i = 0; i < proplist->count_props; i++) {
|
for (i = 0; i < proplist->count_props; i++) {
|
||||||
drmModeFreeProperty(prop);
|
drmModeFreeProperty(prop);
|
||||||
prop = drmModeGetProperty(display->drm_fd, proplist->props[i]);
|
prop = drmModeGetProperty(drm_fd, proplist->props[i]);
|
||||||
if (!prop)
|
if (!prop)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -627,10 +626,10 @@ out:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
get_plane_property(igt_display_t *display, uint32_t plane_id, const char *name,
|
get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
|
||||||
uint32_t *prop_id /* out */, uint64_t *value /* out */)
|
uint32_t *prop_id /* out */, uint64_t *value /* out */)
|
||||||
{
|
{
|
||||||
return get_property(display, plane_id, DRM_MODE_OBJECT_PLANE,
|
return get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
|
||||||
name, prop_id, value);
|
name, prop_id, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -649,12 +648,12 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
|
|||||||
* find a type property, then the kernel doesn't support universal
|
* find a type property, then the kernel doesn't support universal
|
||||||
* planes and we know the plane is an overlay/sprite.
|
* planes and we know the plane is an overlay/sprite.
|
||||||
*/
|
*/
|
||||||
static int get_drm_plane_type(igt_display_t *display, uint32_t plane_id)
|
static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
|
||||||
{
|
{
|
||||||
uint64_t value;
|
uint64_t value;
|
||||||
bool has_prop;
|
bool has_prop;
|
||||||
|
|
||||||
has_prop = get_plane_property(display, plane_id, "type",
|
has_prop = get_plane_property(drm_fd, plane_id, "type",
|
||||||
NULL /* prop_id */, &value);
|
NULL /* prop_id */, &value);
|
||||||
if (has_prop)
|
if (has_prop)
|
||||||
return (int)value;
|
return (int)value;
|
||||||
@ -710,7 +709,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
type = get_drm_plane_type(display,
|
type = get_drm_plane_type(display->drm_fd,
|
||||||
plane_resources->planes[j]);
|
plane_resources->planes[j]);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case DRM_PLANE_TYPE_PRIMARY:
|
case DRM_PLANE_TYPE_PRIMARY:
|
||||||
@ -741,7 +740,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
|
|||||||
plane->pipe = pipe;
|
plane->pipe = pipe;
|
||||||
plane->drm_plane = drm_plane;
|
plane->drm_plane = drm_plane;
|
||||||
|
|
||||||
get_plane_property(display, drm_plane->plane_id,
|
get_plane_property(display->drm_fd, drm_plane->plane_id,
|
||||||
"rotation",
|
"rotation",
|
||||||
&plane->rotation_property,
|
&plane->rotation_property,
|
||||||
&prop_value);
|
&prop_value);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user