Closed Bug 605940 Opened 14 years ago Closed 8 years ago

Certain systems with ATI graphics crash during D3D10 and D3D9 initialization.

Categories

(Core :: Graphics, defect)

x86
Windows
defect
Not set
critical

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: bjacob, Unassigned)

References

Details

(Keywords: crash, Whiteboard: [gfx-noted] need-to-report-to-AMD)

Crash Data

The crash reports below show ATI graphics drivers crashing during D3D initialization. They are our top ATI driver crashes.

*** Crashes on Direct3D 10 initialization ***

http://crash-stats.mozilla.com/report/index/c7737b29-c0c1-4348-a101-86b3d2101013
http://crash-stats.mozilla.com/report/index/d62ba783-1252-4fff-a6f7-25a152101013
Signatures: atidxx32.dll@0x14a4, atidxx32.dll@0x9439d
OS:         Windows 7
Devices:    68d8 (Evergreen)
Driver:     Catalyst 10.9 (atidxx32.dll 8.17.10.303) and older versions

*** Crashes on Direct3D 9 initialization ***

http://crash-stats.mozilla.com/report/index/81b6c7ae-5e57-4340-810f-803ef2101018
Signatures: atiumdag.dll@0x9caa
OS:         Windows 7
Devices:    9598 (RV630)
Driver:     Catalyst 10.9 (atiumdag.dll 8.14.10.779) and older versions
OS: Linux → Windows 7
Hardware: x86_64 → x86
Whiteboard: need-to-report-to-AMD
Another crash signature: aticfx32.dll@0x2be37
http://crash-stats.mozilla.com/report/index/0d52f073-1199-4306-b0a9-57ab32101015
Another crash signature: atidxx32.dll@0xd7d41
http://crash-stats.mozilla.com/report/index/6a8c8a56-d609-4b8f-ab72-da8342101014
Another crash signature: atidxx32.dll@0x8af0 in Catalyst 10.8.
http://crash-stats.mozilla.com/report/index/85bb477b-67cd-446e-b593-539b92101016
Note: our code here is first creating a D3D 10.0 device, and if it succeeds, goes on to try creating a D3D 10.1 device. Could this be a reason why it's prone to hitting driver crashes?

See: http://hg.mozilla.org/mozilla-central/file/tip/gfx/thebes/gfxWindowsPlatform.cpp#l362

Let me paste this code here:

    HMODULE d3d10module = LoadLibraryA("d3d10_1.dll");
    D3D10CreateDevice1Func createD3DDevice = (D3D10CreateDevice1Func)
        GetProcAddress(d3d10module, "D3D10CreateDevice1");
    nsRefPtr<ID3D10Device1> device;

    if (createD3DDevice) {
        // We try 10.0 first even though we prefer 10.1, since we want to
        // fail as fast as possible if 10.x isn't supported.
        HRESULT hr = createD3DDevice(
            NULL, 
            D3D10_DRIVER_TYPE_HARDWARE,
            NULL,
            D3D10_CREATE_DEVICE_BGRA_SUPPORT |
            D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS,
            D3D10_FEATURE_LEVEL_10_0,
            D3D10_1_SDK_VERSION,
            getter_AddRefs(device));

        if (SUCCEEDED(hr)) {
            // We have 10.0, let's try 10.1.
            // XXX - This adds an additional 10-20ms for people who are
            // getting direct2d. We'd really like to do something more
            // clever.
            nsRefPtr<ID3D10Device1> device1;
            hr = createD3DDevice(
                NULL, 
                D3D10_DRIVER_TYPE_HARDWARE,
                NULL,
                D3D10_CREATE_DEVICE_BGRA_SUPPORT |
                D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS,
                D3D10_FEATURE_LEVEL_10_1,
                D3D10_1_SDK_VERSION,
                getter_AddRefs(device1));

            if (SUCCEEDED(hr)) {
                device = device1;
            }

            mD2DDevice = cairo_d2d_create_device_from_d3d10device(device);
        }
    }
another signature: atidxx32.dll@0x652ca
Catalyst 10.8
http://crash-stats.mozilla.com/report/index/fceb60ff-08a4-48f5-a62a-fe6292101016
(In reply to comment #4)
> Note: our code here is first creating a D3D 10.0 device, and if it succeeds,
> goes on to try creating a D3D 10.1 device. Could this be a reason why it's
> prone to hitting driver crashes?

I see no reason why this would be so, that doesn't mean it's impossible but I think it's a very long shot.
Severity: normal → critical
Crash Signature: [@ atidxx32.dll@0x14a4 ] [@ atidxx32.dll@0x9439d ] [@ atidxx32.dll@0xd7d41 ] [@ atidxx32.dll@0x8af0 ] [@ atidxx32.dll@0x652ca ] [@ atiumdag.dll@0x9caa ] [@ aticfx32.dll@0x2be37 ]
Keywords: crash
Hey, I have ATI RADEON 5670 512 DDR5 Sapphire 11.9b performance drivers 

http://webglsamples.googlecode.com/hg/aquarium/aquarium.html

On force GL:
only shows options on load, and locks, no clicking on anything.

With no force, i have jerky slips every 5-6 secs and forces 60 fps(vsync) when i change sthg. in Catalyst momentarily jumps to 90 fps which is the max fps it seems, then jerks to 60 and returns to 90 then returns to 60 permanently with jerks to 90 :-P. 

I'll try other things but don't think they'll work in pure GL.
Could you try fixing jerkiness in DX ;-).
I dont like 12 drivers so i dont have newest(For GL, DX works 100% sure).
Thanks.
(In reply to Ivan of Croatia from comment #7)
Please comment in the right bug, which is bug 722717.
There are still a few crashes being reported but all seem to be from the same user on Dev Edition:
bp-00e159a6-e13d-440f-b8c0-2cfdd2160420

However if we haven't done anything about this yet then I'm not sure we ever will, especially if it's just a single user. It's probably not worth keeping this bug report open anymore. Please reopen if you think have a lead on a fix.
Status: NEW → RESOLVED
Closed: 8 years ago
OS: Windows 7 → Windows
Resolution: --- → INCOMPLETE
Whiteboard: need-to-report-to-AMD → [gfx-noted] need-to-report-to-AMD
You need to log in before you can comment on or make changes to this bug.