cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

billw2012
Journeyman III

IDirect3DQuery9 occasionally returns incorrect results.

Title pretty much sums it up. About 1 time out of 30 it returns a totally incorrect result. Our query method works like so:

1) Draw 4 screen space rects at 0 depth to cover all but 1 pixel of the viewport. This effectively blocks rendering of anything else when z test is turned on except for that one pixel area.

2) Draw the whole scene, depth only. This fills the depth buffer with final values.

3) Draw the whole scene again, with z func set to Z_EQUAL and queries around each set of draw primitive calls we want to test. The queries should return a 1 for the foremost object that is visible through the 1 pixel window.

It works most of the time, but seemingly at random will return erroneous results. 

If it helps with diagnosis, this problem is much worse on 6850 card than on 4850. On the 4850 a reset of the machine will cause the problem to abate for a while, until it slowly creeps back in. On a 6850 restarting doesn't help.

It seems to like to return 23975 for the erroneous query result. Resizing the viewport and changing the camera position/distance from geometry don't effect this. 90% of the time it returns this value. I can't think of any error we could be making that would consistently return this result even under viewport and camera transform.

This code works fine on all our nVidia cards, so we are fairly confident it is a driver problem, or at least a driver difference.

Thanks! 

P.S. I really don't have time to make a full reproducible example of this, but if you want more info or code samples I can provide them.

INFO:

Win7 64bit.

SOFTWARE: 

Driver Packaging Version 8.881-110728a-124445C-ATI

Catalyst Version 11.8

Provider ATI Technologies Inc.

2D Driver Version 8.01.01.1178

2D Driver File Path /REGISTRY/MACHINE/SYSTEM/ControlSet001/Control/CLASS/{4D36E968-E325-11CE-BFC1-08002BE10318}/0001

Direct3D Version 7.14.10.0855

OpenGL Version 6.14.10.11005

Catalyst Control Center Version 2011.0728.1756.30366

AMD Audio Driver Version 7.12.0.7702

HARDWARE:
Primary Adapter
Graphics Card Manufacturer Powered by AMD
Graphics Chipset AMD Radeon HD 6800 Series
Device ID 6739
Vendor 1002
Subsystem ID 3110
Subsystem Vendor ID 1682
Graphics Bus Capability PCI Express 2.0
Maximum Bus Setting PCI Express 2.0 x16
BIOS Version 013.007.000.002
BIOS Part Number 113-HD685ZNF63.SB
BIOS Date 2010/10/28
Memory Size 1024 MB
Memory Type GDDR5
Core Clock in MHz 775 MHz
Memory Clock in MHz 1000 MHz
Total Memory Bandwidth in GByte/s 128.0 GByte/s


1 Reply
billw2012
Journeyman III

No takers? 

If you have used this (DX queries) on an ATI card in the last 6 months and they worked fine, please respond as such, at the moment I am operating in a vacuum of information. 

0 Likes