vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
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.

Functions

static int get_resources (int fd, drmModeRes **resources)
 
static int TestCaps (int fd)
 Test drm capabilities.
 
static int OpenDrmDevice (const char *device, drmModeRes **resources)
 Open the given device.
 
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.

Function Documentation

◆ __attribute__()

__attribute__ ( (weak )

◆ TestCaps()

static int TestCaps ( int  fd)
static

Test drm capabilities.

Return values
0if all needed caps match
1on mismatch

Definition at line 77 of file drmdevice.cpp.

Referenced by FindDrmDevice(), and OpenDrmDevice().

Variable Documentation

◆ get_platform_display

PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = NULL

Definition at line 649 of file drmdevice.cpp.

Referenced by cDrmDevice::InitEGL().

◆ get_platform_surface

Definition at line 650 of file drmdevice.cpp.

Referenced by cDrmDevice::InitEGL().

◆ plane