I was trying to play the new GPU PerfStudio with some DX10 demos, but non of the options in Frame Profiler works. Here are the error messages:
Accessing counters failed. Make sure hardware counters are enabled.
Error: Unable to begin sample.
Do i miss any settings somewhere?
rwang - When the server is started up, it will print a message at the top of the console window saying whether or not it was able to enable the perf counters. What does that message say for you? Also, please let me know which catalyst version you are using.
gjoel - Since you have the latest driver and are using GL, it should be working. I'll try to get a 4870 X2 card so that I can do some testing with. I'll get back in touch when I have more info.
Please right click on the GPUPerfServer.exe and open the properties. On the "Compatibility" tab, enable "Run this program as an administrator", then click OK.
Hopefully it will have access to the performance counters now. Please let me know if this does or does not work.
I have a similar problem.
FrameProfiler works on D3D10 apps but for any OpenGL application, I get the message
"Error: Unable to open counters: Hardware not supported".
Is profiling of OpenGL applications not supported by PerfStudio 2.1?
Please try again with GPU PerfStudio 2.2. Profiling of OpenGL applications has been available since the 2.0 release, but depending on which driver is installed, the access to the counters may have been broken. This issue was resolved in GPU PerfStudio 2.2.
Hello, I have been experiencing the same issue as the original poster.
I am using:
Windows 7 (64bit)
ATI Radeon HD 5800 Series
Driver Version 8.732
Catalyst Version: 10.5
GPU PerfStudio 2.2.791
I am trying to profile an OpenGL application which uses GLSL. When I go into the Frame Profiler and do a 'Timing Pass', 'Full Profile', or 'Custom' I get the error as reported by the original poster. I can do a 'Frame Information Analyze' successfully, however.
I have setup the compatibility on the server, client, and my application as was mentioned in an earlier post.
I belive this is the relevant portion of the startup information that was mentioned in a previous post:
"Message: Server : Succesfully enabled DX Peformance Counters in Driver
Message: Server : Available Wrappers:
Message: Server : DX10Server.dll V2.2.791.0 DX10
Message: Server : DX11Server.dll V2.2.791.0 DX11
Message: Server : DX9Server.dll V2.2.791.0 DX9
Message: Server : GLServer.dll V2.2.791.0 OpenGL"
It makes mention of enabling DX perf counters, but nothing for OGL. I'm unsure if that is an error or not.
I noticed that there was an article about a certain version of my card not working ( http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=111 ), however I rolled back to the Catalyst v9.12 that the article references as a working version, and the problem persisted.
I'm a bit unsure as to how I should proceed as it seems I've tried everything the internet and the forums have to offer. Does anyone have additional advice?
This is the first report I've seen of GPU PerfStudio 2.2 having trouble with GL profiling. Can you either send me a copy of the application you are testing with (email address is firstname.lastname@example.org - my name is below), or query the GL_VERSION string from within your application and provide me with the version string?
We don't need to do anything to enable the GL performance counters (aside from confirm the HW and driver version), so there won't be any message about enable GL perf counters.
This is the information I get querying GL after creating the render context and making it current.
GL_VERSION: 4.0.9836 Compatibility Profile Context
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 5800 Series
Unfortunately, I cannot send the application being profiled due to company security reasons. If the above information is not enough, I may be able to create a pruned down sample application if it will help.
In thinking that providing that information would not being enough to solve the problem, I created a simple application to see if the problem persisted. To my surprise, it did not.
After digging around in the code a little bit, I found that I was using the EXT_TIMER_QUERY extension to do some internal GPU profiling. Disabling the usage of this fixes the problem I was encountering and I can now do frame profiles.
It makes sense, as I would imagine the driver and the profiler are running into contention with the same counters. That might be something useful to add to the readme or the documentation.
Thank you for digging into this. I definitely would not have figured that out without your app!
I will file a bug report about this and see if we can report a better error message in the future, and to update the documentation to include a reference to this situation.
My problem is a bit similar to this one
When using the frame profiler in GPU PerfStudio 2.2, I get the following message when I click on any of the buttons (timing pass, full profile, custom or analyze) :
Error: Unable to open counters: Null pointer.
This may be related to another error I found in the server's log file :
16:08:52.380300: Error: OGLWrapper : Cannot make context current; it does not exist (we probably missed the CreateContext call)
16:08:52.380300: Assert: OGLWrapper : MakeCurrent failed on hGLRC: 0x00010001
However the API Trace and Frame Debugger (which I love by the way - thanks a lot) are both working perfectly
I'm using a Radeon HD 3800 with Catalysts 10.6 on Vista 32 bits (I had the same problem with older catalysts, I decided to upgrade because of it)
Are you using the WGL_ARB_create_context_profile extension when you create your contexts (ie wglCreateContextAttribsARB(..) ) ?
GPU PerfStudio 2.2 does not support the new context creation function, and that could potentially be causing this error, although I have not tried to reproduce the issue.
It does sound like the profiler issue is caused by PerfStudio not handling the context creation / MakeCurrent correctly.
I tried replacing wglCreateContextAttribsARB by wglCreateContext and wglShareLists, and it's working! Thanks
However I find it surprising that you don't support this function. I thought it was widely used by recent OpenGL applications