Around 10 o'clock on Apr 23, Alan Coopersmith wrote:

> 1)  Draw a line in the sand (say at what's done in XFree86 4.2.0 or 4.3.0)
>     and declare that to be RENDER 1.0.  Either finish the spec, or leave the
>     transformations and other bits that still aren't defined out until version
>     1.1 -- just set a stable, complete spec instead of the current unfinished
>     spec.  Agree that future versions will be backwards compatible.

The current protocol revision advertised by the server is 0.2, reflecting 
the reality that the implementation lags the documentation by quite a bit. 
What isn't document is the precise definition of this version, I think it 
would be a reasonable idea to do that.  Note that there are some 
significant things implemented in the code that haven't made it back to 
the documentation.

I haven't made any incompatible changes in the protocol since the first 
implementation, and I can't see any reason why I would have to in the 
future, the parts that have been implemented have been rather extensively 
tested and widely deployed -- changing them would be very hard.

While it wasn't really my plan to take a long time in this work, I've been 
rather sidetracked with the font part and haven't managed to work my way 
back into the server for the remaining rendering pieces.  It's worked 
better than I thought it would; pieces are added as applications are ready 
to start using them, making the implementation and testing integrated 
which yields significantly better code and fewer regressions.  One thing 
which I have remained consistent in doing is to modify the protocol 
version advertised by the server each time more of the protocol has been 
implemented.

A precise pixelization specification for the polygons has been somewhat
difficult to arrive at, just a few weeks ago I discovered a flaw in my
current design that can be rectified by moving from 24.8 coordinates to
16.16; it's nice to discover such things before getting to deployment; 
this does point out that the current protocol specification should have a 
clear demarcation between what is know to be correct and complete and 
areas which haven't yet been nailed down.

I don't see any significant issues in codifying the current RENDER 
subset as version "0.3" or whatever and continuing to flesh things out as 
we need them towards an eventual 1.0 release.

> 2)  Document the API.  I can't find any formal documentation of the API,
>     just the headers/source & the extension protocol documentation.  Someone
>     could probably combine those two into the start of an API spec.

The API is designed to be a trivial wrapper around the protocol, so the 
semantics of the operations need only refer to the related protocol 
requests.  It would be useful to build a document that layed out the 
argument order and precise datatypes used in the interface.  This hasn't 
been one of my top priorities; given a thin interface, the existence of 
the protocol spec and the header files, the API hasn't so far confused 
anyone that I know of.

> I can't speak for all the commercial vendors, but at least Sun is very
> concerned with stable interfaces, as our OS release cycles are now about 2
> years long, and while the existing bits of the Render API seem stable, the
> documentation says that much work remains to be done and it's unclear if
> that includes changes to the existing protocol/API.

I think the protcol document should delineate the sections which are 
"stable" from those which are still in development, that should be 
relatively easily done by marking portions with the protocol revision they 
first appear in.

Note that XFree86 has it's own deployment issues; it's no easier for us to 
drive users and developers to migrate than any other X implementation, so 
the concerns you have about standardization and change are something at the
fore of every discussion about future directions within XFree86.

It would be great if you could help us clarify the current state of the 
Render specification and the server implementation, protocol and API.

Keith Packard        XFree86 Core Team        Compaq Cambridge Research Lab


_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts

Reply via email to