Original Post
If I get some unexpected behavior when using the HAL device, yet expected behavior when using the REF device, can I rest assured that the unexpected behavior is a bug or "feature" of the video card driver? In particular, I''m getting some odd image filtering effects that really mess up small text drawn with the ID3DXFont interface.
Here is what my app is doing when the bug appears:
Create fullscreen device in 1024x768 mode.
Create ID3DXFont, m_pFont
Draw text with m_pFont (text looks ok)
... some time later ...
user hits Alt-Enter to signal a switch to windowed mode
Release m_pFont
Release device
Create windowed device, 640x480 on a 1156x864 desktop
Create ID3DXFont, m_pFont
Draw text with m_pFont (text looks badly filtered)
or I can follow this code path:
Create windowed device, 640x480 on a 1156x864 desktop
Create ID3DXFont, m_pFont
Draw text with m_pFont (text looks good)
... some time later ...
user hits Alt-Enter to signal a switch to fullscreen mode
Release m_pFont
Release device
Create fullscreen device in 1024x768 mode.
Create ID3DXFont, m_pFont
Draw text with m_pFont (text looks ok)
... some time later ...
user hits Alt-Enter to signal a switch to windowed mode
Release m_pFont
Release device
Create windowed device, 640x480 on a 1156x864 desktop
Create ID3DXFont, m_pFont
Draw text with m_pFont (text looks badly filtered)
The renderstates are set exactly the same each time the device is created, since I only have a single function that creates the device, and initializes the renderstates, which are hardcoded in this function. The REF device exhibits no such filtering effects at anytime when doing the exact same thing. Very close examination of other elements of the rendered scene show that the odd filtering is also being applied to polygons. Its almost as if FSAA was turned on spontaneously, during device creation, when going from a previous fullscreen device to a new windowed device.
I''m using a Geforce 3 with 41.09 drivers. Any one have a clue?