baldurk / renderdoc

RenderDoc is a stand-alone graphics debugging tool.
https://renderdoc.org
MIT License
8.6k stars 1.3k forks source link

Allow launching renderdocui with a given working directory #3345

Closed miss-programgamer closed 4 weeks ago

miss-programgamer commented 4 weeks ago

Description

I'm using a combination of VSCode and CMake to work on a game written in C++ and using the D3D11 API. Since my build path is a bit overlong (it uses the name of the compiler for any given executable) I wanted to make a VSCode task that would launch RenderDoc with the launch executable already filled out with my game. However, when launching RenderDoc this way, the working directory is always configured to be the containing directory of the executable, which in this case is wrong.

I'd like it if, mirroring the command line API of renderdoccmd, I could initialize the working directory when starting renderdocui from the command line, preferably with --working-dir.

Environment

baldurk commented 4 weeks ago

Once you have configured your program in the way you'd like it to be launched, you can save the settings via the 'save' button in the capture dialog. That settings file can then be loaded in the UI to restore all settings.

Note that you should never use renderdoccmd, it is an internal tool only and is not supported or intended for users.

miss-programgamer commented 4 weeks ago

But the point is that I can't just use a project file specifically because the path to my executable will change depending on whether I'm making a debug/release build & which compiler I'm using. I would have to make a new project file for each combination thereof instead of just relying on information that is already available in my dev environment.

miss-programgamer commented 3 weeks ago

Look, I value this feature enough that I'd be willing to contribute it myself, if I make a pull request for it, would you accept it? (assuming it follows your code guidelines and whatnot)

baldurk commented 3 weeks ago

Yes if you have multiple executables then you would need multiple capture settings files, you could set them up and then select the one you want.

You could also write a python script or UI extension to do what you want, but no I do not want to add command line options to configure this so I would not accept such a PR.