About formats and multisampling

I'm checking currently supported DXGI format, what exactly is the difference between:
- D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET
- D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE

What is the meaning of the following formats:
- G8R8_G8B8_UNORM and R8G8_B8G8_UNORM

How are coded the following formats:
- R9G9B9E5_SHAREDEXP
- R8G8B8A8_UNORM_SRGB
- R11G11B10_FLOAT (number of bits of mantissa and exponent for 11 bits and 10 bits float).

Thanks.

[488 byte] By [PascalMignot] at [2008-2-17]
# 1

Strikes me that the documentation for these values is still pretty weak - would be a good idea if you send MS some feedback on this. I've sent an email about the lack of DXGI_FORMAT information, but can't be a bad thing if you fire off a similar email

Pascal Mignot wrote:
I'm checking currently supported DXGI format, what exactly is the difference between:
- D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET
- D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE
I'm not 100% sure on these, but the first one should be fairly obvious - it can be used as a target for MSAA'd rendering. The second one is for resolving from a MSAA target down to a non-MSAA target, I'd assume that is equivalent to a mapping from a format that has _MULTISAMPLE_RENDERTARGET to one that has _RENDER_TARGET...

Pascal Mignot wrote:

- G8R8_G8B8_UNORM and R8G8_B8G8_UNORM
These are similar to the existing D3DFMT_G8R8_G8B8 format in D3D9 but without the scaling. The D3D9 documentation might be useful, but from what I gather it seems to be aimed at video content - YUV2 is mentioned in the D3D9 docs.

Pascal Mignot wrote:

- R9G9B9E5_SHAREDEXP
The HDRFormat10 documentation briefly explains this. You have three 9 bit mantissa's and a 5 bit shared exponent. You can decode them in a shader using decoded.rgb = encoded.rgb * pow( 2, encoded.a ).
Pascal Mignot wrote:

- R8G8B8A8_UNORM_SRGB
The pixel data is stored in gamma 2.2 corrected form.

Pascal Mignot wrote:

- R11G11B10_FLOAT (number of bits of mantissa and exponent for 11 bits and 10 bits float).
No signed bit, 5 bits exponent and 6 bits mantissa (or 5 bit mantissa for float10).

hope thats useful!
Jack

JackHoxley at 2007-9-4 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 2
Jack Hoxley wrote:

The HDRFormat10 documentation briefly explains this. You have three 9 bit mantissa's and a 5 bit shared exponent. You can decode them in a shader using decoded.rgb = encoded.rgb * pow( 2, encoded.a ).

You are sure about this? As far as I understand the demo and the documentation the R9G9B9E5_SHAREDEXP format is decoded during the sample operation and you don’t need additional code in the shader.

RalfKornmann at 2007-9-4 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 3
Ralf Kornmann wrote:

Jack Hoxley wrote:

The HDRFormat10 documentation briefly explains this. You have three 9 bit mantissa's and a 5 bit shared exponent. You can decode them in a shader using decoded.rgb = encoded.rgb * pow( 2, encoded.a ).

You are sure about this? As far as I understand the demo and the documentation the R9G9B9E5_SHAREDEXP format is decoded during the sample operation and you don’t need additional code in the shader.

No, I'm not sure to be honest

I was digging around in all the information I have and it seems to suggest its handled implicitly for you, but I couldn't find anywhere that explicitly defined what happened... That fragment I quoted was ripped direct from the latest documentation - but I didn't have the time to check the actual source code for myself...

Might well be specified somewhere in the GameFest slides - I've not had time to do more than scan-read them so far.

Cheers,
Jack

JackHoxley at 2007-9-4 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 4

It seems that this code is for the RGBE8 format which is already useable with D3D9.

RalfKornmann at 2007-9-4 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 5

If the fetch does not do the decode for you, please send us a bug report.

Ben

BenLuna--MSFT at 2007-9-4 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...