I am trying to use GPUPerfAPI 2.14 in an OpenGL application with a 7970 card. I have tried both the Catalyst 12.8 and Catalyst 14.7 drivers. It acts the same on both. After calling GPA_Initialize(), which returns a status of OK, I am trying to call GPA_OpenContext with the OpenGL context I created after calling GPA_Initialize(). It gives me the status GPA_STATUS_ERROR_HARDWARE_NOT_SUPPORTED. I have tried several things but cannot get past this.
What am I doing wrong?
Can you let me know the Device ID of the 7970 device you are using? The Device ID is shown in Catalyst Control Center in the Hardware page.
Also, are you running on Windows or Linux?
I was able to figure this particular error out. It was happening because I had not yet called wglMakeCurrent() on the created context. The documentation was unclear, because it is written primarily for those using D3D so I didn't realize I had to do that. I thought you just had to create the context before calling GPA_OpenContext() but apparently it must also be made current.
I still have not been able to get any information back from the counters, though. I have only enabled one counter, GPUTime. Every time I query it, the value is always 0 no matter what I have tried. I know there should be time in the API call I am trying to profile. The status from all of the calls always returns OK so I'm not sure what is going on there. I am running on Windows 7 and the device ID of my 7970 is 6798.