5 Replies Latest reply on Mar 22, 2012 12:32 PM by Bers

    Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12

    Bers

      Hello

      I did installed new Catalist 12-2_xp32_dd_ccc

      and I can't run my graphic programs under debugger.

       

      CreateWindowEx:                                                            g_wv.hWnd 0x00090976 {unused=??? } HWND__ *

      glw_state.hDC = GetDC( g_wv.hWnd )                               glw_state.hDC 0xfa013ba3 {unused=??? } HDC__ *

      DescribePixelFormat( hDC, 1, sizeof( PIXELFORMATDESCRIPTOR ), &pfds[0] );                       CRASH !!!!!!

       

      I tested graphic demo created by other programmer (demo program was downloaded from internet),

      and it's crashes too on ChoosePixelFormat !

       

      PS: Release-builds runs fine.  Debug-builds runs fine too.  Debug-build under VC debugger crashes.

        • Re: Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12
          Bers

          I did installed Cat. 11.12

          and any graphic programs runs fine under debugger!

            • Re: Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12
              gsellers

              Hi Bers,

               

              Thanks for the report. This does indeed sound like a regression. Admittedly, running applications under debuggers is not something that our QA department would test. However, our driver and demo developers do this all the time, so I'm surprised that something like this would slip out.

               

              Anyway, we'll have a look and see if we can figure out what the problem is.

               

              Thanks,

               

              Graham

                • Re: Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12
                  Bers

                  Hi Graham Sellers,

                  I returned to Catalyst 12.3 and debugging programs began to crash   again (((

                   

                  More infos:

                  screenshot of place where crashes - ChoosePixelFormat:

                  http://s019.radikal.ru/i642/1203/17/dd4a8372671e.gif

                   

                  screenshot of disassembled code - atioglxx.dll

                  http://s019.radikal.ru/i627/1203/e5/1778ef669503.gif

                   

                  Info from CCC:

                  Catalyst: 12.3

                  2D-driver: 6.14.10.7240

                  Direct3D: 6.14.10.0894

                  OpenGL: 6.14.10.11554

                   

                  Visual Studio 2010 ver.10.0.30319.1 RTMRel

                  OS: Windows 2003 Server EE x86  ver.5.2.3790 (I need 32-bit OS with large RAM support)

                   

                  Any idea???

                   

                  Offtop:

                  Can I use crossfire systems for own GL programs?

                  I have Radeon HD5970 (two HD5870 on the one board): ASUS EAX5970.

                  And I want to completely use video-hardware for improve performance of my progs.

                  wglGetCPUIDsAMD always returns 1    (checked on XP64, Win7 x64 and Win2003 x86)

                  If I can't use second GPU, I will be compelled to sell HD5970 and work on HD5830.

                  Thanks.

                    • Re: Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12
                      gsellers

                      Hi Bers,

                       

                      We're looking into the crash under debuggers. Even after we find a fix though, it may take a while to get it into a mainline driver release. I'll keep you posted on that.

                       

                      As for the crossfire question, yes, crossfire works in OpenGL. To enable crossfire for your application (at least during development), you need to name the executable AFR-FriendlyOGL.exe. The driver will assume that the application doesn't do anything that would stop crossfire from working and turn on scaling for your application. If you are GPU bound and follow the guidelines here: http://developer.amd.com/gpu_assets/Harnessing%20the%20Performance%20of%20CrossFireX.pdf, you should see good scaling on a 5970.

                       

                      I believe that in a system configured for crossfire (i.e., crossfire enabled in CCC), the two GPUs are seen as one and wglGetGPUIDsAMD will return 1. If you turn off crossfire in CCC, it should return 2 for a 5970, but then you will need to use both GPUs directly under application control and there will not be automatic scaling.

                       

                      Thanks,

                       

                      Graham

                      1 of 1 people found this helpful
                        • Re: Crash DescribePixelFormat / ChoosePixelFormat under VC debugging with Cat.12
                          Bers

                          Hi Graham,

                          in CCC (information center -> graphics hardware):

                          Primary Adapter 

                          Graphics Card Manufacturer Powered by AMD

                          Graphics Chipset ATI Radeon HD 5900 Series

                          Device ID 689C

                          ....

                          Disabled Adapter  

                          Graphics Card Manufacturer Powered by AMD

                          Graphics Chipset ATI Radeon HD 5900 Series

                          Device ID 689C

                          ...

                          If you turn off crossfire in CCC, it should return 2 for a 5970

                          Second GPU turned off, right?

                          I renamed my crossfire-test application to AFR-FriendlyOGL.exe

                          and  wglGetGPUIDsAMD returned 1. 

                           

                          P.S.: I can't find in CCC where Crossfire switch on/off?

                           

                          P.P.S.: I unlocked "AMD overdrive" in CCC and saw "GPU Activity" indicators for both processors

                          When I run q3bers.exe (native name of my application) I see ~100% activity of GPU#0 and 0% activity of second GPU.

                          When I renamed q3bers to AFR-FriendlyOGL.exe, I see ~100% activity for both GPU 

                          FPS-counter increases up to x2 !!!  CrossFire works!

                           

                          PPPS: Can you add "q3bers.exe" to Catalyst profile? Q3Bers is the constant name of my quake3 port, and will not be changed in future.

                           

                          Thank you very much!

                          Berserker