Enhancing java2d Image classes & pipelines to support HDR (10b) or 16bits RGBA

Philip Race philip.race at oracle.com
Mon Feb 6 16:43:19 UTC 2023


Whilst I've thought about this a couple of times, I only thought about 
it very briefly
because it spans so much .. and is a lot of work as you lay out, and we 
have other
projects like Wakefield for example. And as for D3D, I am not sure how 
we can even
address HDR without upgrading our D3D pipeline to DX12 .. which in itself is
something that is a higher priority - DX 9 is ancient and doesn't 
support it.
And the number of customer requests to date is zero.

BRGA seems like something that we'd currently handle as a custom image 
format.
Is there a use case for this ?

We'd also have to consider that we ought to be looking at it for FX too ..

-phil.

On 1/26/23 2:10 AM, Laurent Bourgès wrote:
> Hi,
>
> I would like enhancing Java Image classes (awt / java2D) to support 
> natively new image types with their use cases:
> - BGRA (inverse RGBA) with both byte, integer & PREMUL variants 
> (4x8bits), as supported by skia, metal, vulkan apis
> - 10 or 16 bits per RGBA component to support HDR or 64bits images 
> like R10G10B10A2 or R16G16B16A16, as supported by skia, metal, vulkan 
> apis but also by PNG & TIFF file formats
>
> It represents a lot of work:
> - CSR to define new BufferedImageType, Image API changes to deal with 
> short / long values (rgba 48 or 64bits)
> - fix native software loops (macros)
> - fix DirectX, OpenGL, XRender, Metal pipelines for accelerated Surface
>
> Ideally such image handling requires to handle properly gamma 
> correction & colorspaces (linear RGBA or perceptual sRGB, P3...) but 
> it is maybe another topic !
>
> Comments are welcome & potential use cases too,
>
> Thanks,
> Laurent




More information about the client-libs-dev mailing list