Will shader model 3 be enuff to h/w-accelerate cleartype?

Guden Oden

Senior Member
Legend
As topic says. :) And yes, this is longhorn/aqua-related (or whatsitscalled; aqua might be the name of macos gui; there's so many code names to keep track of. :))
 
There was some sort of special 1-bit texture format (I thought) for the most complete support, but otherwise SM2 seems to fit the bill fine.
 
Albuquerque said:
There was some sort of special 1-bit texture format (I thought) for the most complete support, but otherwise SM2 seems to fit the bill fine.

Yes, HW ClearType need some additional features. Primary 1 Bit textures and large filterkernels (up to 8*8 ) for this format.
 
i've set up cleartype for my full scene without any shader at all.. okay, the cleartype filtering doesn't work, but the 3times as much rendering does..

a very simple shader can do the filtering. and yes, lines look much bether drawn that way, not only text.. :D

the trick is, the more modern the shader version, the more specialised the features are to hw accelerate it fast with a low amount of resources..
 
So the final verdict is, YES, SM3-capable cards CAN do cleartype acceleration, or NO, they still need 1bpp texture support and that new filter?
 
Guden Oden said:
I thought it was a pretty simple question to ask, but fuckit. Thanks for the derail, LB. :?

My derail?? I just asked if my 5900U will work fine at decent speed and IQ with Longhorn, seeing how f**ked the NV3X are at SM2.0, question which has still not been answered!!!
They started bitching!!
 
Re: Will shader model 3 be enuff to h/w-accelerate cleartype

Guden Oden said:
Will shader model 3 be enuff to h/w-accelerate cleartype?
No, not in my opinion. Your graphics card will have to support the following features (in addition to be able to do sm 2.0):

-D3DPTFILTERCAPS_CONVOLUTIONMONO
-D3DPBLENDCAPS_SRCCOLOR2
-D3DPBLENDCAPS_INVSRCCOLOR2

So SM 2/3 may be enough for partial h/w-accelerated cleartype rendering, but for full hardware acceleration you will need these additional features. Of course the driver may be able to emulate these, but then performance will suffer a bit.

Here is the relevant part from the microsoft document mentioned in the second post:

Microsoft said:
A driver that supports monochrome convolution filtering should set the D3DPTFILTERCAPS_CONVOLUTIONMONO cap. This capability covers three related features of the graphics hardware: support for a monochrome (1 bit/pixel) surface format, support for a variable size (1x1 up to 8x8) box filter applied to surfaces of this format, and support for a 2D composition operation on surfaces of this format. When this cap is set, the driver must also support ComposeRects API.

In addition, new render target blending modes from the D3D9 Specification may be required to achieve adequate performance. A driver which supports the new render target blending modes should set the D3DPBLENDCAPS_SRCCOLOR2 and D3DPBLENDCAPS_INVSRCCOLOR2 caps.
 
Hmm longhorn requires D3DPTEXTURECAPS_NONPOW2CONDITIONAL for any hardware acceleration - which is unsupported on the GeForce 6 series...
 
Hyp-X said:
Hmm longhorn requires D3DPTEXTURECAPS_NONPOW2CONDITIONAL for any hardware acceleration - which is unsupported on the GeForce 6 series...

This is only the half truth.

D3DPTEXTURECAPS_NONPOW2CONDITIONAL is only requires if D3DPTEXTURECAPS_POW2 is set too.

GF6 supports non pow of 2 textures without restrictions. Because of this
D3DPTEXTURECAPS_NONPOW2CONDITIONAL and D3DPTEXTURECAPS_POW2 are both not set.
 
Re: Will shader model 3 be enuff to h/w-accelerate cleartype

N00b said:
Guden Oden said:
Will shader model 3 be enuff to h/w-accelerate cleartype?
No, not in my opinion. Your graphics card will have to support the following features (in addition to be able to do sm 2.0):

-D3DPTFILTERCAPS_CONVOLUTIONMONO
-D3DPBLENDCAPS_SRCCOLOR2
-D3DPBLENDCAPS_INVSRCCOLOR2

So SM 2/3 may be enough for partial h/w-accelerated cleartype rendering, but for full hardware acceleration you will need these additional features. Of course the driver may be able to emulate these, but then performance will suffer a bit.

Here is the relevant part from the microsoft document mentioned in the second post:

Microsoft said:
A driver that supports monochrome convolution filtering should set the D3DPTFILTERCAPS_CONVOLUTIONMONO cap. This capability covers three related features of the graphics hardware: support for a monochrome (1 bit/pixel) surface format, support for a variable size (1x1 up to 8x8) box filter applied to surfaces of this format, and support for a 2D composition operation on surfaces of this format. When this cap is set, the driver must also support ComposeRects API.

In addition, new render target blending modes from the D3D9 Specification may be required to achieve adequate performance. A driver which supports the new render target blending modes should set the D3DPBLENDCAPS_SRCCOLOR2 and D3DPBLENDCAPS_INVSRCCOLOR2 caps.

D3DPBLENDCAPS_SRCCOLOR2 and D3DPBLENDCAPS_INVSRCCOLOR2 are only need for slower cards. Fast chips can use an other cleartype mode that do not need this two options. But if they support them anyway text rendering will be faster.
 
Demirug said:
Hyp-X said:
Hmm longhorn requires D3DPTEXTURECAPS_NONPOW2CONDITIONAL for any hardware acceleration - which is unsupported on the GeForce 6 series...

This is only the half truth.

D3DPTEXTURECAPS_NONPOW2CONDITIONAL is only requires if D3DPTEXTURECAPS_POW2 is set too.

GF6 supports non pow of 2 textures without restrictions. Because of this
D3DPTEXTURECAPS_NONPOW2CONDITIONAL and D3DPTEXTURECAPS_POW2 are both not set.

Wow, apperently MS has changed the DX9 documentation since I last checked it.

http://msdn.microsoft.com/library/d...raphics/reference/d3d/structures/d3dcaps9.asp

So you say that by "TextureCaps" under D3DPTEXTURECAPS_NONPOW2CONDITIONAL they mean "D3DPTEXTURECAPS_POW2" and by "TextureCaps" under D3DPTEXTURECAPS_POW2 they mean "D3DPTEXTURECAPS_NONPOW2CONDITIONAL" :?:

1. How am I supposed to know that?
2. What do you think that text specifies when D3DPTEXTURECAPS_NONPOW2CONDITIONAL is set, but D3DPTEXTURECAPS_POW2 is not?

http://www.microsoft.com/whdc/device/display/graphics-reqs.mspx
suggest that D3DPTEXTURECAPS_NONPOW2CONDITIONAL should be set for both conditional and unconditional non-pow2 textures - which is actually only way that would be backward compatible with DirectX 9.0 applications.
 
Hyp-X, looks like that there is a big documentation bug.

The rules are very easy.

If D3DPTEXTURECAPS_POW2 is not set you can use textures with size other than power of two without restrictions. In this case you do not have to look at D3DPTEXTURECAPS_NONPOW2CONDITIONAL. D3DPTEXTURECAPS_NONPOW2CONDITIONAL is only important if D3DPTEXTURECAPS_POW2 is set.

This rules are valid since DX7. Maybe even DX6 but I need to check this.

http://www.microsoft.com/whdc/device/display/graphics-reqs.mspx
this is not the offical spec.

The offical version say that a GPU need to support non power of 2 textures (D3DPTEXTURECAPS_POW2 = 0) or D3DPTEXTURECAPS_NONPOW2CONDITIONAL = 1
 
Re: Will shader model 3 be enuff to h/w-accelerate cleartype

Guden Oden said:
As topic says. :) And yes, this is longhorn/aqua-related (or whatsitscalled; aqua might be the name of macos gui; there's so many code names to keep track of. :))

Should be... Parhelias already do ClearType acceleration (granted it's probably dedicated logic in the 2D core). Core Image/Video (and invariably Quartz2D Extreme) in Tiger just require an ARBfp compatible GPU...
 
Back
Top