[argyllcms] Re: Programming the video card

  • From: <graxx@xxxxxxxxxxxx>
  • To: <argyllcms@xxxxxxxxxxxxx>
  • Date: Sat, 28 Dec 2019 22:38:59 -0500

No cigar, yet, the COLORRES options returns "24", as in 24 bits per pixel as
the "actual color resolution". It's possible that Windows does not know
anything "beyond" the number "24"? Something I read about "driver
independence"?

/ Roger

-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx <argyllcms-bounce@xxxxxxxxxxxxx> On
Behalf Of graxx@xxxxxxxxxxxx
Sent: December 28, 2019 10:15 PM
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Programming the video card

I may have spoken too soon...
"32-bit color" or "32 bits per pixel" may mean 24 bits + an 8 bit alpha
channel?
I'll have to dig deeper in gdi32.dll ...

Sigh! / Roger

-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx <argyllcms-bounce@xxxxxxxxxxxxx> On
Behalf Of graxx@xxxxxxxxxxxx
Sent: December 28, 2019 7:59 PM
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Programming the video card

Graeme,

I confess there's something 'voodoo' about using the GammaRamp with more
than 8 bit 'entry sizes'? Everywhere I look, I can only see references to
arrays of 256 entries.

In my humble research, so far, I managed to establish, with the help of the
GetDeviceCaps()  API (gdi32.dll) that there is more than 24 bits per pixel
in my display buffer. The function gives me a value of 32 bits per pixel :

BITSPERPIXEL = 12
BPP = GetDeviceCaps(hSDC, BITSPERPIXEL)

Now, this is obviously > 24 ?

There was one video I watched where the person mentioned '30' bits per pixel
plus 2 extra bits for 'transparency'. I still have to put my hand on a
Microsoft blurb that documents this 'fact' but, if that is the case, then I
think I'm on the right track.

/ Roger

-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx <argyllcms-bounce@xxxxxxxxxxxxx> On
Behalf Of Graeme Gill
Sent: December 28, 2019 6:09 PM
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Programming the video card

graxx@xxxxxxxxxxxx wrote:

I upgraded yesterday my NVIDIA 1070 video card to benefit from 10-bit 
performance. Aber, I need to determine, at the hardware level, what
changes have taken place?

The SetGammaRamp() call still returns 256 elements, regardless of bit
depth.

Hello Roger,
        I haven't looked into this, but I would suspect that support for > 8
bit frame buffers in MSWindows will depend on new API's. i.e. the existing
API's make no allowance for higher frame buffer depths. The API's may not
even be of the same form as Win32 API's, and instead may be in the form of
DirectX, Direct3D etc. Hence applications needing a re-write to support it.

[ All this would not be helped if the hardware vendors are pushing 10 bit
   through without much support from Microsoft, as seems to be the case.
   MS seems to have lost a lot of energy in the area of graphic support,
   and confused itself with all the chopping and changing of API's. ]

The SetGammaRamp() API does support > 8 bit RAMDAC entry sizes, and this is
what ArgyllCMS makes use of.

Cheers,
        Graeme Gill.








Other related posts: