[PATCH v4 1/7] drm/format-helper: Cache buffers with struct drm_format_conv_state
Noralf Trønnes
noralf at tronnes.org
Thu Oct 5 11:01:46 UTC 2023
On 10/5/23 11:04, Thomas Zimmermann wrote:
> Hold temporary memory for format conversion in an instance of struct
> drm_format_conv_state. Update internal helpers of DRM's format-conversion
> code accordingly. Drivers will later be able to maintain this cache by
> themselves.
>
> Besides caching, struct drm_format_conv_state will be useful to hold
> additional information for format conversion, such as palette data or
> foreground/background colors. This will enable conversion from indexed
> color formats to component-based formats.
>
> v3:
> * rename struct drm_xfrm_buf to struct drm_format_conv_state
> (Javier)
> * remove managed cleanup
> * add drm_format_conv_state_copy() for shadow-plane support
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> ---
> drivers/gpu/drm/drm_format_helper.c | 115 +++++++++++++++++++++++++---
> include/drm/drm_format_helper.h | 51 ++++++++++++
> 2 files changed, 155 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c
> index f93a4efcee909..37c499ae4fe4f 100644
> --- a/drivers/gpu/drm/drm_format_helper.c
> +++ b/drivers/gpu/drm/drm_format_helper.c
> @@ -20,6 +20,94 @@
> #include <drm/drm_print.h>
> #include <drm/drm_rect.h>
>
> +/**
> + * drm_format_conv_state_init - Initialize format-conversion state
> + * @state: The state to initialize
> + *
> + * Clears all fields in struct drm_format_conv_state and installs a DRM
> + * release action for the buffer. The buffer will be empty with no
> + * preallocated resources.
You forgot to remove the release action note in this version.
With that fixed:
Acked-by: Noralf Trønnes <noralf at tronnes.org>
More information about the dri-devel
mailing list