Jump to content
  • Advertisement
Sign in to follow this  
Murazor

Border address mode support

This topic is 4978 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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".

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!