XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_private_state_funcs Struct Reference

#include <drm_atomic.h>

Collaboration diagram for drm_private_state_funcs:
Collaboration graph
[legend]

Public Attributes

struct drm_private_state *(* atomic_create_state )(struct drm_private_obj *obj)
 
struct drm_private_state *(* atomic_duplicate_state )(struct drm_private_obj *obj)
 
void(* atomic_destroy_state )(struct drm_private_obj *obj, struct drm_private_state *state)
 
void(* atomic_print_state )(struct drm_printer *p, const struct drm_private_state *state)
 

Detailed Description

struct drm_private_state_funcs - atomic state functions for private objects

These hooks are used by atomic helpers to create, swap and destroy states of private objects. The structure itself is used as a vtable to identify the associated private object type. Each private object type that needs to be added to the atomic states is expected to have an implementation of these hooks and pass a pointer to its drm_private_state_funcs struct to drm_atomic_get_private_obj_state().

Member Data Documentation

◆ atomic_create_state

struct drm_private_state *(* drm_private_state_funcs::atomic_create_state) (struct drm_private_obj *obj)

@atomic_create_state:

Allocates a pristine, initialized, state for the private object and returns it.

RETURNS:

A new, pristine, private state instance or an error pointer on failure.

◆ atomic_destroy_state

void(* drm_private_state_funcs::atomic_destroy_state) (struct drm_private_obj *obj, struct drm_private_state *state)

@atomic_destroy_state:

Frees the private object state created with @atomic_duplicate_state.

◆ atomic_duplicate_state

struct drm_private_state *(* drm_private_state_funcs::atomic_duplicate_state) (struct drm_private_obj *obj)

@atomic_duplicate_state:

Duplicate the current state of the private object and return it. It is an error to call this before obj->state has been initialized.

RETURNS:

Duplicated atomic state or NULL when obj->state is not initialized or allocation failed.

◆ atomic_print_state

void(* drm_private_state_funcs::atomic_print_state) (struct drm_printer *p, const struct drm_private_state *state)

@atomic_print_state:

If driver subclasses &struct drm_private_state, it should implement this optional hook for printing additional driver specific state.

Do not call this directly, use drm_atomic_private_obj_print_state() instead.


The documentation for this struct was generated from the following file: