forked from flutter/engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Impeller] Add docs to detail RenderDoc frame captures (flutter#36815)
- Loading branch information
1 parent
5357f81
commit 5c10a44
Showing
5 changed files
with
30 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Frame Capture with RenderDoc | ||
|
||
[RenderDoc](https://renderdoc.org/) is a graphics debugger that can be used to capture frames. With Impeller starting to support gles and Vulkan backends, RenderDoc can provide insights into the application's frames. | ||
|
||
1. First step is to setup RenderDoc. Follow the instructions [here](https://renderdoc.org/docs/getting_started/quick_start.html). For the purposes of this guide it is assumed that you are able to get RenderDoc running. | ||
2. The next step would be to run the application you wish the capture the frames of. Typically these would be one of the playground tests. To build these, do: | ||
|
||
```bash | ||
# In your $ENGINE_SRC folder, do: | ||
|
||
./flutter/tools/gn --unopt --no-lto --enable-impeller-playground\ | ||
--enable-impeller-vulkan --target-dir host_debug_impeller_vulkan | ||
autoninja -C out/host_debug_impeller_vulkan/ | ||
``` | ||
|
||
3. Start RenderDoc, and click the "Launch Application" button. | ||
|
||
<img src="assets/launch-app.png" height="200" /> | ||
|
||
4. Fill out the following parameters, and click launch: | ||
- executable: `$ENGINE_SRC/out/host_debug_impeller_vulkan/impeller_unittests` (expand `ENGINE_SRC`). | ||
- args: `--gtest_filter="*CanDrawRect/Vulkan*"` | ||
- working dir: `$ENGINE_SRC` (expand `ENGINE_SRC`) | ||
|
||
5. For the frame you wish to capture, press `F12`, you will now be able to see the frame capture and inspect the state. | ||
|
||
<img src="assets/render-doc-capture.png" /> |