vdr-plugin-softhddevice-drm-gles 1.6.2
drmdevice.cpp File Reference

DRM Device. More...

#include <cerrno>
#include <cstdint>
#include <cstdio>
#include <cstring>
#include <cinttypes>
#include <vector>
#include <fcntl.h>
#include <unistd.h>
#include <assert.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <drm_fourcc.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
#include "drmdevice.h"
#include "drmplane.h"
#include "logger.h"
#include "videorender.h"

Go to the source code of this file.

Macros

#define MAX_DRM_DEVICES   64
 

Functions

static int get_resources (int fd, drmModeRes **resources)
 
static int TestCaps (int fd)
 Test drm capabilities.
 
static int FindDrmDevice (drmModeRes **resources)
 Find and open a suitable device with the wanted capabilities.
 
static drmModeConnectorFindDrmConnector (int fd, drmModeRes *resources)
 Find a suitable connector, preferably a connected one.
 
static void drm_fb_destroy_callback (struct gbm_bo *bo, void *data)
 Callback function to destroy a drm buffer which stays in the gbm_bo's user data.
 
 __attribute__ ((weak)) union gbm_bo_handle gbm_bo_get_handle_for_plane(struct gbm_bo *bo
 
static int32_t FindCrtcForEncoder (const drmModeRes *resources, const drmModeEncoder *encoder)
 Find the CRTC_ID for the given encoder.
 

Variables

PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = NULL
 
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC get_platform_surface = NULL
 
static const EGLint context_attribute_list []
 
int plane
 

Detailed Description

DRM Device.

This file defines cDrmDevice, which keeps some functions to interact with the DRM (display) system.

Definition in file drmdevice.cpp.