Passive RenderDoc integration fails since API is not detected

Started by
4 comments, last by matt77hias 6 years, 2 months ago

I want to give RenderDoc (64-bit) a try on my engine (which uses D3D11) by using the passive integration via the UI. The connection to my .exe is established, but "no API is detected"? I do not do fancy or exotic stuff; my swap chain presents every frame (as opposed to this issue). Any solution (but not manual integration ;) )?

🧙

Advertisement

This is a very specific to RenderDoc question, so I think the best thing to do is file an issue on github with more information about what you're trying to do (I'm not entirely sure what you mean by passive integration) and I can help you there.

9 hours ago, baldurk said:

so I think the best thing to do is file an issue on github with more information about what you're trying to do

I did not want to bother you with this, because of this quote I found while browsing the opened and closed issues that are already present in the Github repository:

Quote

This bug tracker isn't for personal questions and help, it's for reporting issues with RenderDoc itself. Please don't open unrelated or irrelevant issues like this, as it only clutters the repository for everyone. You can't always ask for help as soon as anything goes the slightest bit wrong, you have to learn to investigate problems on your own.

 

9 hours ago, baldurk said:

I'm not entirely sure what you mean by passive integration

The RenderDoc documentation site states:

Quote

The two common ways to integrate RenderDoc are either to passively check if the DLL is loaded, and use the API. This lets you continue to use RenderDoc entirely as normal, launching your program through the UI, but you can access additional functionality to e.g. trigger captures at custom times.

So my understanding is that I can just use the UI, capture a log by setting up the path to my .exe, and launch the application.

🧙

9 minutes ago, matt77hias said:

I did not want to bother you with this, because of this quote I found while browsing the opened and closed issues that are already present in the Github repository:

Quote

This bug tracker isn't for personal questions and help, it's for reporting issues with RenderDoc itself. Please don't open unrelated or irrelevant issues like this, as it only clutters the repository for everyone. You can't always ask for help as soon as anything goes the slightest bit wrong, you have to learn to investigate problems on your own.

 

I'm genuinely sorry about this, looking at it now I can see how it reads and that's entirely my fault. It's definitely not the attitude I want to convey.

To explain (but not excuse), this was specifically a response to that person's question, who had both contacted me directly and opened a lot of other bugs all asking for help with a) an unofficial years-old fork of renderdoc's source with many code changes which I could not support, and b) capturing a commercial game (GTA 5) which I also do not support/condone. After trying to explain that I could not help with this several times I got frustrated and snapped. It's not OK and I want to do better, but I hope you can understand that I didn't mean that everyone should investigate their own problems with the tool.

To be clear (and I'll edit my response there in case someone else comes across it), please don't be worried about reporting bugs on RenderDoc if you're having trouble with the program. Even if it's just a misunderstanding or something I'm happy to help. I'm just not able to help with someone else's code loosely based on mine, or if you're having trouble capturing a commercial product that may have copy protection or something else causing the problem.

Again, I am really sorry for this response, it was unacceptable even when made in frustration.

10 minutes ago, matt77hias said:

The RenderDoc documentation site states:

Quote

The two common ways to integrate RenderDoc are either to passively check if the DLL is loaded, and use the API. This lets you continue to use RenderDoc entirely as normal, launching your program through the UI, but you can access additional functionality to e.g. trigger captures at custom times.

So my understanding is that I can just use the UI, capture a log by setting up the path to my .exe, and launch the application.

Yes you understand correctly. That page is talking about specifically using RenderDoc's API which allows you some control over when captures happen, and things like that. In this context the passive integration is talking about just trying to use the API if it's available, but doing nothing if it's missing. That way the API is used when your program is launched through the UI, and does nothing otherwise.

If you don't want or need to make any code changes you don't need to worry about any kind of integration, you just need to launch your exe through the renderdoc UI. If it says "no API detected" while you're presenting to a swapchain then the most likely case is that some of the hooking is going wrong, either the swapchain or the D3D device is not being intercepted.

To diagnose it further I'd need more information. I found your project on github, is this the one that's having trouble? I tried to run it but I can't right now as it doesn't work on windows 7, but I can try it later today on a windows 10 computer to investigate. If you can send me the log from help -> view diagnostic log that would be helpful.

1 hour ago, baldurk said:

Again, I am really sorry for this response, it was unacceptable even when made in frustration.

No problem, I am nor judging nor blaming someone, I was just unsure about the policy.

1 hour ago, baldurk said:

To diagnose it further I'd need more information. I found your project on github, is this the one that's having trouble? I tried to run it but I can't right now as it doesn't work on windows 7, but I can try it later today on a windows 10 computer to investigate. If you can send me the log from help -> view diagnostic log that would be helpful.

Yes, that is the one. I created an issue on Github containing the log file.

🧙

This topic is closed to new replies.

Advertisement