Allow the user to manually specify format modifiers

* 12to11.conf (DRMFOURCCH): New variable.
* 12to11.man: Document new resource.
* Imakefile (GENHEADERS): Add
drm_modifiers.h.:(drm_modifiers.h): New target.
(cleandir): Clean up.
* compositor.h: Update prototypes.
* fns.c (TransformBox): Move to transform.c.
* frame_clock.c (PostEndFrame): Use 200 us, since 100 us is not
always enough.
* picture_renderer.c (struct _DrmModifierName): New structure.
(known_modifiers): New array.
(AddAdditionalModifier, ParseAdditionalModifiers)
(InitAdditionalModifiers): New functions.
(InitRenderFuncs): Call them.
(ApplyInverseTransform): Accept buffer width and height instead
of PictureBuffer.  Move to transform.c.
(MaybeApplyTransform): Adjust calls.
(FindSupportedModifiers, InitDrmFormats): Stop adding the linear
format by default, and let the user specify it instead.
* subcompositor.c (InvertTransform): Move to transform.c.
* svnignore.txt: Add new generated header.
* transform.c (ApplyInverseTransform, TransformBox)
(InvertTransform): Move some functions here as they will be used
in the EGL backend.
This commit is contained in:
hujianwei 2022-10-26 06:48:59 +00:00
parent 8e4391f941
commit 0b5d44537b
10 changed files with 381 additions and 177 deletions

View file

@ -39,7 +39,7 @@ OBJS = 12to11.o run.o alloc.o fns.o output.o compositor.o \
time.o relative_pointer.o keyboard_shortcuts_inhibit.o \
idle_inhibit.o process.o fence_ring.o
GENHEADERS = transfer_atoms.h
GENHEADERS = transfer_atoms.h drm_modifiers.h
#ifdef HaveEglSupport
@ -98,6 +98,9 @@ transfer_atoms.h: short_types.txt mime0.awk mime1.awk mime2.awk mime3.awk \
awk -f mime3.awk short_types.txt >> $@
awk -f mime4.awk short_types.txt >> $@
drm_modifiers.h: modifiers.awk $(DRMFOURCCH)
awk -f modifiers.awk $(DRMFOURCCH) > $@
/* Now, define generated files. */
#define ScannerTarget(name) @@\
@ -134,8 +137,7 @@ $(OBJS): $(GENHEADERS)
depend:: $(GENHEADERS) $(SRCS)
cleandir::
$(RM) $(GENHEADERS) $(GENSRCS) transfer_atoms.h short_types.txt \
12to11.tar.gz
$(RM) $(GENHEADERS) $(GENSRCS) short_types.txt 12to11.tar.gz
/* Undefine _BSD_SOURCE and _SVID_SOURCE, since both are deprecated
and are also superseeded by _GNU_SOURCE. */