Border address mode support

Started by
3 comments, last by Murazor 19 years, 4 months ago
Hello, I am trying to use a border color for my texture in DX9 and was surprised that my latest Radeon 9800 driver says it doesn't support it. It does work if I don't take notice of the caps, but a problem occurs when I set DX in debug mode, as effect files fail to validate a technique that uses a pixel shader with this address mode in a sampler. This makes it rather awkward to debug an effect file. Is this a driver glitch, or are border colors not really as standard as I thought they would be?
Advertisement
Drivers can only expose CAPs that are completely supported. So if the HW is capable of using the BORDER mode in Situation A but not in Situation B they are not allowed to expose that CAP bit.

Ignoring the CAPs is dangerous. While it may work now, the next version of the driver might completely disable it. Also there may be other cards which really cannot support that mode.

It would be interesting to see what ValidateDevice returns in debug and release mode. It may be allowed to flag that particular setting even though they CAP bit cannot be exposed.
Stay Casual,KenDrunken Hyena
Well, I gave ValidateDevice a quick try, and it just returns E_FAIL (which is, by the way, not a valid return value according to the DirectX Docs) when D3DTADDRESS_BORDER is set in both debug and release mode. Not too surprising of course.

But I still find it odd that in the days where anisotropic filtering and pixel shader 2.0 are standard this basic address mode is not supported. At least, according to the driver.
Quote:Original post by Murazor
Well, I gave ValidateDevice a quick try, and it just returns E_FAIL (which is, by the way, not a valid return value according to the DirectX Docs)

Functions aren't limited to the set of return values mentioned in the docs. They can (and usually do) return a broader range of errors (but those mentioned in the docs have the special meaning mentioned - i.e. they're the "specific" stuff)

Quote:Original post by Coder
Quote:Original post by Murazor
Well, I gave ValidateDevice a quick try, and it just returns E_FAIL (which is, by the way, not a valid return value according to the DirectX Docs)

Functions aren't limited to the set of return values mentioned in the docs. They can (and usually do) return a broader range of errors (but those mentioned in the docs have the special meaning mentioned - i.e. they're the "specific" stuff)


No doubt... although that does make the choice of words in the documentation a bit poor: "If the method fails, the return value can be one of the following values".

This topic is closed to new replies.

Advertisement