XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
drm_gem_atomic_helper.h File Reference
#include <linux/iosys-map.h>
#include <drm/drm_format_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_plane.h>
Include dependency graph for drm_gem_atomic_helper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_shadow_plane_state
 

Macros

#define DRM_SHADOW_PLANE_MAX_WIDTH   (4096u)
 
#define DRM_SHADOW_PLANE_MAX_HEIGHT   (4096u)
 
#define DRM_GEM_SHADOW_PLANE_FUNCS
 
#define DRM_GEM_SHADOW_PLANE_HELPER_FUNCS
 
#define DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS
 

Functions

int drm_gem_plane_helper_prepare_fb (struct drm_plane *plane, struct drm_plane_state *state)
 
void __drm_gem_duplicate_shadow_plane_state (struct drm_plane *plane, struct drm_shadow_plane_state *new_shadow_plane_state)
 
void __drm_gem_destroy_shadow_plane_state (struct drm_shadow_plane_state *shadow_plane_state)
 
void __drm_gem_reset_shadow_plane (struct drm_plane *plane, struct drm_shadow_plane_state *shadow_plane_state)
 
void drm_gem_reset_shadow_plane (struct drm_plane *plane)
 
struct drm_plane_state * drm_gem_duplicate_shadow_plane_state (struct drm_plane *plane)
 
void drm_gem_destroy_shadow_plane_state (struct drm_plane *plane, struct drm_plane_state *plane_state)
 
int drm_gem_begin_shadow_fb_access (struct drm_plane *plane, struct drm_plane_state *plane_state)
 
void drm_gem_end_shadow_fb_access (struct drm_plane *plane, struct drm_plane_state *plane_state)
 
int drm_gem_simple_kms_begin_shadow_fb_access (struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
 
void drm_gem_simple_kms_end_shadow_fb_access (struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
 
void drm_gem_simple_kms_reset_shadow_plane (struct drm_simple_display_pipe *pipe)
 
struct drm_plane_state * drm_gem_simple_kms_duplicate_shadow_plane_state (struct drm_simple_display_pipe *pipe)
 
void drm_gem_simple_kms_destroy_shadow_plane_state (struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
 

Macro Definition Documentation

◆ DRM_GEM_SHADOW_PLANE_FUNCS

#define DRM_GEM_SHADOW_PLANE_FUNCS
Value:
.atomic_duplicate_state = drm_gem_duplicate_shadow_plane_state, \
.atomic_destroy_state = drm_gem_destroy_shadow_plane_state
struct drm_plane_state * drm_gem_duplicate_shadow_plane_state(struct drm_plane *plane)
void drm_gem_reset_shadow_plane(struct drm_plane *plane)
void drm_gem_destroy_shadow_plane_state(struct drm_plane *plane, struct drm_plane_state *plane_state)

DRM_GEM_SHADOW_PLANE_FUNCS - Initializes struct drm_plane_funcs for shadow-buffered planes

Drivers may use GEM BOs as shadow buffers over the framebuffer memory. This macro initializes struct drm_plane_funcs to use the rsp helper functions.

◆ DRM_GEM_SHADOW_PLANE_HELPER_FUNCS

#define DRM_GEM_SHADOW_PLANE_HELPER_FUNCS
Value:
.begin_fb_access = drm_gem_begin_shadow_fb_access, \
int drm_gem_begin_shadow_fb_access(struct drm_plane *plane, struct drm_plane_state *plane_state)
void drm_gem_end_shadow_fb_access(struct drm_plane *plane, struct drm_plane_state *plane_state)

DRM_GEM_SHADOW_PLANE_HELPER_FUNCS - Initializes struct drm_plane_helper_funcs for shadow-buffered planes

Drivers may use GEM BOs as shadow buffers over the framebuffer memory. This macro initializes struct drm_plane_helper_funcs to use the rsp helper functions.

◆ DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS

#define DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS
Value:
void drm_gem_simple_kms_end_shadow_fb_access(struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
void drm_gem_simple_kms_destroy_shadow_plane_state(struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
struct drm_plane_state * drm_gem_simple_kms_duplicate_shadow_plane_state(struct drm_simple_display_pipe *pipe)
int drm_gem_simple_kms_begin_shadow_fb_access(struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state)
void drm_gem_simple_kms_reset_shadow_plane(struct drm_simple_display_pipe *pipe)

DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS - Initializes struct drm_simple_display_pipe_funcs for shadow-buffered planes

Drivers may use GEM BOs as shadow buffers over the framebuffer memory. This macro initializes struct drm_simple_display_pipe_funcs to use the rsp helper functions.

◆ DRM_SHADOW_PLANE_MAX_HEIGHT

#define DRM_SHADOW_PLANE_MAX_HEIGHT   (4096u)

DRM_SHADOW_PLANE_MAX_HEIGHT - Maximum height of a plane's shadow buffer in scanlines

For drivers with shadow planes, the maximum height of the framebuffer is usually independent from hardware limitations. Drivers can initialize struct drm_mode_config.max_height from DRM_SHADOW_PLANE_MAX_HEIGHT.

◆ DRM_SHADOW_PLANE_MAX_WIDTH

#define DRM_SHADOW_PLANE_MAX_WIDTH   (4096u)

DRM_SHADOW_PLANE_MAX_WIDTH - Maximum width of a plane's shadow buffer in pixels

For drivers with shadow planes, the maximum width of the framebuffer is usually independent from hardware limitations. Drivers can initialize struct drm_mode_config.max_width from DRM_SHADOW_PLANE_MAX_WIDTH.

Function Documentation

◆ __drm_gem_destroy_shadow_plane_state()

void __drm_gem_destroy_shadow_plane_state ( struct drm_shadow_plane_state *  shadow_plane_state)

◆ __drm_gem_duplicate_shadow_plane_state()

void __drm_gem_duplicate_shadow_plane_state ( struct drm_plane *  plane,
struct drm_shadow_plane_state *  new_shadow_plane_state 
)

◆ __drm_gem_reset_shadow_plane()

void __drm_gem_reset_shadow_plane ( struct drm_plane *  plane,
struct drm_shadow_plane_state *  shadow_plane_state 
)

◆ drm_gem_begin_shadow_fb_access()

int drm_gem_begin_shadow_fb_access ( struct drm_plane *  plane,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_destroy_shadow_plane_state()

void drm_gem_destroy_shadow_plane_state ( struct drm_plane *  plane,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_duplicate_shadow_plane_state()

struct drm_plane_state * drm_gem_duplicate_shadow_plane_state ( struct drm_plane *  plane)

◆ drm_gem_end_shadow_fb_access()

void drm_gem_end_shadow_fb_access ( struct drm_plane *  plane,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_plane_helper_prepare_fb()

int drm_gem_plane_helper_prepare_fb ( struct drm_plane *  plane,
struct drm_plane_state *  state 
)

◆ drm_gem_reset_shadow_plane()

void drm_gem_reset_shadow_plane ( struct drm_plane *  plane)

◆ drm_gem_simple_kms_begin_shadow_fb_access()

int drm_gem_simple_kms_begin_shadow_fb_access ( struct drm_simple_display_pipe *  pipe,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_simple_kms_destroy_shadow_plane_state()

void drm_gem_simple_kms_destroy_shadow_plane_state ( struct drm_simple_display_pipe *  pipe,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_simple_kms_duplicate_shadow_plane_state()

struct drm_plane_state * drm_gem_simple_kms_duplicate_shadow_plane_state ( struct drm_simple_display_pipe *  pipe)

◆ drm_gem_simple_kms_end_shadow_fb_access()

void drm_gem_simple_kms_end_shadow_fb_access ( struct drm_simple_display_pipe *  pipe,
struct drm_plane_state *  plane_state 
)

◆ drm_gem_simple_kms_reset_shadow_plane()

void drm_gem_simple_kms_reset_shadow_plane ( struct drm_simple_display_pipe *  pipe)