ATI: no hardware support for dfdx, dfdy?

ATI Radeon 9800 XT – driver version: 6.14.10.6430

I recently purchased the Orange book and have been trying out the various shaders. All have worked fine, except for those that use dfdx… they force the card into a pokey less than 1 FPS software mode. An example is the hatching shader found on page 363. If I replace the line:
float dp = length(vec2(dFdx(V), dFdy(V)));
with
float dp = length(vec2(V, V));
the shader runs in hardware mode. (obviously not with the results I want though.)

Any suggestions?

Don’t use them. R300 hardware doesn’t support them.

Many of the Orange book’s examples use them… Are you saying not to ever use them? (If so, what should I use instead?)

AFAIK, only the GeForce FX and GeForce 6 series of video cards support the differentials in hardware. 3DLabs’ P20 may also support them, but that hasn’t been confirmed yet.

Originally posted by al_bob:
AFAIK, only the GeForce FX and GeForce 6 series of video cards support the differentials in hardware. 3DLabs’ P20 may also support them, but that hasn’t been confirmed yet.
The currently shipping Wildcat VP series also supports differentials in hardware. The hatch shader renders quite well :slight_smile:

Barthold

The currently shipping Wildcat VP series also supports differentials in hardware.
Nice to know :slight_smile:

The website says “DirectX 8.1 with vertex shader 1.1 and pixel shader 1.2”, so I assumed it couldn’t.

Is there a workaround I could use that will work on ati cards as well?
Also, is this a case of the drivers not supporting it yet or they never will because of hardware limits?

It’s a hardware limitation.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.