On Fri, 5 May 2023 16:04:35 -0500 Steven Kucharzyk wrote: > Hi, > > I'm new to this list and probably can't contribute but interested, I > passed your original posting to a friend and have enclosed his thoughts > ... old hash or food for thought ??? I ask your forgiveness if you find > this inappropriate. (am of the elk * act first, ask for forgiveness > afterward) ;-) Thanks, but please use reply-to-all, it's a bit painful to add back all the other mailing lists and people. > > Steven > > --------------------- start > > Steven Kucharzyk wrote: > > > Thought you might find this of interest. > > Hi, > thanks for sending it to me. > > Unfortunately I don't know enough about the context to say anything > specific about it. > > The best I can do is state the big picture aims I would > look for, as someone with a background in display systems > electronic design, rendering software development > and Color Science. (I apologize in advance if any of this > is preaching to the choir!) > > 1) I would make sure that someone with a strong Color Science > background was consulted in the development of the API. Where can we find someone like that, who would also not start by saying we cannot get anything right, or that we cannot change the old software architecture, and would actually try to understand *our* goals and limitations as well? Who could commit to long discussions over several years in a *friendly* manner? It would take extreme amounts of patience from that person. > 2) I would be measuring the API against its ability to > support a "profiling" color management workflow. This workflow > allows using the full capability of a display, while also allowing > simultaneous display of multiple sources encoded in any colorspace. > So the basic architecture is to have a final frame buffer (real > or virtual) in the native displays colorspace, and use any > graphics hardware color transform and rendering capability to > assist with the transformation of data in different source > colorspaces into the displays native colorspace. > > 3) The third thing I would be looking for, is enough > standardization that user mode software can be written > that will get key benefits of what's available in the hardware, > without needing to be customized to lots of different hardware > specifics. For instance, I'd make sure that there was a standard display > frame buffer to display mode that applied per channel curves > that are specified in a standard way. (i.e. make sure that there > is an easy to use replacement for XRRCrtcGamma.) > > Any API that is specific to a type or model of graphics card, > will retard development of color management support to a very large > degree - the financial and development costs of obtaining, configuring > and testing against multiple graphic card makes and models puts this > in the too hard basket for anyone other than a corporation. > > Perhaps little of the above is relevant, if this is a low level API > that is to be used by other operating system sub-systems such > as display graphics API's like X11 or Wayland, which will choose > specific display rendering models and implement them with the hardware > capabilities that are available. That is exactly what it is. It is a way to save power and gain performance when things happen to fit in place just right: what one needs to do matches what the dedicated color processing hardware blocks implement. > From a color management point of view, > it is the operating system & UI graphics API's that are the ones that > are desirable to work with, since they are meant to insulate > applications from hardware details. Indeed. Anything the display controller hardware cannot do will be implemented by other means, e.g. on the GPU, by a display server. Thanks, pq