Jump to content

  • Log In with Google      Sign In   
  • Create Account


10-bit Monitors


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 Tispe   Members   -  Reputation: 982

Like
1Likes
Like

Posted 17 April 2014 - 02:59 PM

Hello

 

There are new monitors on the market that support 10-bits per channel. But in CAPS I can only find support for D3DFMT_X8R8G8B8 and D3DFMT_R5G6B5.

 

I do not have a 10bit monitor, but if I had one would a 10bit format appear in CAPS?

 

How can DirectX render to 10bit monitors?



Sponsor:

#2 Chris_F   Members   -  Reputation: 2209

Like
4Likes
Like

Posted 17 April 2014 - 03:27 PM

That's a potential can of worms you are attempting to open. In order to get it to work you will not only need a monitor with a 10-bit panel, but also a GPU that supports it as well as OS and driver support. Getting all these planets to align can be difficult and it's probably not worth the trouble if you aren't designing something like a image editor or NLE with 10-bit support.



#3 mhagain   Crossbones+   -  Reputation: 7671

Like
3Likes
Like

Posted 17 April 2014 - 05:33 PM

I haven't tested this, but logic tells me that even without such a monitor, you should be able to create and draw to a 10/10/10/2 render target, then draw that as a regular fullscreen quad to any format backbuffer.

 

D3D9 has a SetDialogBoxMode call, which is not in itself relevant to this discussion, but does interestingly note the following restriction:

 

 

The application specified a back buffer format compatible with GDI, in other words, one of D3DFMT_X1R5G5B5, D3DFMT_R5G6B5, or D3DFMT_X8R8G8B8.

 

This is enough to tell you that support for such modes doesn't exist in GDI.

 

Mention of GDI is relevant here because it highlights the fact that D3D9 is old technology that is no longer being updated, so you shouldn't expect it to have good support for newer hardware features.

 

Finally, it's important to note that it's not D3D that draws to your monitor; it's your graphics card.  D3D just gives your program a way of telling your graphics card what to draw, your graphics card does the actual drawing.  So this is really a problem for the hardware vendors to solve.


It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#4 Hodgman   Moderators   -  Reputation: 28780

Like
2Likes
Like

Posted 17 April 2014 - 07:37 PM

IIRC, you might have to use a Direct3DDevice9Ex instead of a Direct3DDevice9.

#5 Promit   Moderators   -  Reputation: 6355

Like
2Likes
Like

Posted 17 April 2014 - 08:04 PM

First, only Quadro and FirePro GPUs support 10 bit output. NOT GeForce or Radeon. Second, DisplayPort is typically required for 10 bit support, NOT DVI/HDMI. Third, D3D 9 does NOT support 10 bit. You have to use OpenGL or D3D 10+; 9Ex probably supports it. You'd probably access it by creating a D3DFMT_A2R10G10B10 or D3DFMT_A2B10G10R10 format device. Also, 10 bit will shut off Windows compositing/Aero. NVIDIA might have a workaround, not sure. Haven't tested.

 

This document will give you the rundown for NVIDIA/OpenGL: http://www.nvidia.com/docs/IO/40049/TB-04701-001_v02_new.pdf

This document covers AMD/OpenGL: http://www.amd.com/Documents/10-Bit.pdf


Edited by Promit, 17 April 2014 - 08:07 PM.


#6 Erik Rufelt   Crossbones+   -  Reputation: 3210

Like
4Likes
Like

Posted 17 April 2014 - 09:20 PM

First, only Quadro and FirePro GPUs support 10 bit output. NOT GeForce or Radeon.

 

That actually isn't completely true. In fullscreen it works perfectly fine for Geforce and Radeon, and it works with HDMI. It's only 10 bit desktop modes that require the pro cards (like using it in Photoshop). The DirectX SDK has a '10-bit scanout' sample for D3D10 that shows the difference compared to 8-bit for fullscreen gradients, and it's quite a difference for such cases.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS