[PATCH 05/27] glamor: Do glyph private init at screeninit time, and other stuff at CSR.

Eric Anholt eric at anholt.net
Thu Mar 13 10:01:30 PDT 2014


Michel Dänzer <michel at daenzer.net> writes:

> On Mit, 2014-03-12 at 17:37 -0700, Eric Anholt wrote:
>> Markus Wick <markus at selfnet.de> writes:
>> 
>> > Am 2014-03-11 22:30, schrieb Eric Anholt:
>> >> diff --git a/glamor/glamor.h b/glamor/glamor.h
>> >> index e25dc73..9cda46d 100644
>> >> --- a/glamor/glamor.h
>> >> +++ b/glamor/glamor.h
>> >> @@ -131,14 +131,6 @@ extern _X_EXPORT void
>> >> glamor_set_screen_pixmap(PixmapPtr screen_pixmap,
>> >> 
>> >>  extern _X_EXPORT uint32_t glamor_get_pixmap_texture(PixmapPtr pixmap);
>> >> 
>> >> -/* @glamor_glyphs_init: Initialize glyphs internal data structures.
>> >> - *
>> >> - * @pScreen: Current screen pointer.
>> >> - *
>> >> - * This function must be called after the glamor_init and the texture
>> >> - * can be allocated. An example is to call it when create the screen
>> >> - * resources at DDX layer.
>> >> - */
>> >>  extern _X_EXPORT Bool glamor_glyphs_init(ScreenPtr pScreen);
>> >
>> > This function isn't (and shouldn't be?) used outside of glamor, so this 
>> > should be moved to glamor_priv.h.
>> 
>> I noted that in the commit message -- we retain this as a public symbol
>> so drivers keep working without needing changes due to this series
>> landing.
>> 
>> Some day later, if we care, we can drop the compatibility, but for now
>> I'd rather make their transition to using server glamor easy.
>
> Speaking with my radeon driver developer hat on, I appreciate that, but
> it's not hard to deal with glamor in xserver vs. standalone, e.g. by
> checking for the GLAMOR_NO_DRI3 define or even checking for the presence
> of the prototypes of these functions themselves. So feel free to drop
> the no-op functions.

Yeah, I'd like to have the compat stuff gone by server release time.
Other things besides what's in this series I'm thinking of changing:

- Drop GLAMOR_INVERTED_Y_AXIS

As far as I can see, leaving this flag unset is always wrong.

- Drop GLAMOR_USE_PICTURE_SCREEN

- Rename GLAMOR_USE_SCREEN to something like
  GLAMOR_INSTALL_RENDERING_HOOKS

- Always install glamor_close_screen() hook and make it private.

If it needs to happen at a specific time in screen close, it can
probably drive that by when it calls down the wrap chain.

- change glamor_egl_create_textured_screen_ext() ABI.

I don't see how this function should even exist.

- Change XV init.

I'd like for textured XV to just get initialized for you in dix, without
needing to do any coordination with xf86 XV if possible.  ABIs are
likely to change for that.

- Do something about glFlush() in the block handler.

If you haven't rendered to a scanned out front buffer, then these
flushes are just harmful.  How do we want to talk to glamor about
scanned out frontbuffers?

I'd rather not configure.ac-check each of these things in each of the
drivers, so I'm hoping to have a big flag day near merge window close
where all the junk goes away.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140313/ff050a9d/attachment.pgp>


More information about the xorg-devel mailing list