mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-06-05 15:03:43 +00:00
Sync SDL3 wiki -> header
[ci skip]
This commit is contained in:
parent
37b86a6d2f
commit
09c8d4b556
1 changed files with 37 additions and 2 deletions
|
@ -206,8 +206,10 @@
|
||||||
* underlying graphics API. While it's possible that we have done something
|
* underlying graphics API. While it's possible that we have done something
|
||||||
* inefficiently, it's very unlikely especially if you are relatively
|
* inefficiently, it's very unlikely especially if you are relatively
|
||||||
* inexperienced with GPU rendering. Please see the performance tips above and
|
* inexperienced with GPU rendering. Please see the performance tips above and
|
||||||
* make sure you are following them. Additionally, tools like RenderDoc can be
|
* make sure you are following them. Additionally, tools like
|
||||||
* very helpful for diagnosing incorrect behavior and performance issues.
|
* [RenderDoc](https://renderdoc.org/)
|
||||||
|
* can be very helpful for diagnosing incorrect behavior and performance
|
||||||
|
* issues.
|
||||||
*
|
*
|
||||||
* ## System Requirements
|
* ## System Requirements
|
||||||
*
|
*
|
||||||
|
@ -333,6 +335,39 @@
|
||||||
* unreferenced data in a bound resource without cycling, but overwriting a
|
* unreferenced data in a bound resource without cycling, but overwriting a
|
||||||
* section of data that has already been referenced will produce unexpected
|
* section of data that has already been referenced will produce unexpected
|
||||||
* results.
|
* results.
|
||||||
|
*
|
||||||
|
* ## Debugging
|
||||||
|
*
|
||||||
|
* At some point of your GPU journey, you will probably encounter issues that
|
||||||
|
* are not traceable with regular debugger - for example, your code compiles
|
||||||
|
* but you get an empty screen, or your shader fails in runtime.
|
||||||
|
*
|
||||||
|
* For debugging such cases, there are tools that allow visually inspecting
|
||||||
|
* the whole GPU frame, every drawcall, every bound resource, memory buffers,
|
||||||
|
* etc. They are the following, per platform:
|
||||||
|
*
|
||||||
|
* * For Windows/Linux, use
|
||||||
|
* [RenderDoc](https://renderdoc.org/)
|
||||||
|
* * For MacOS (Metal), use Xcode built-in debugger (Open XCode, go to Debug >
|
||||||
|
* Debug Executable..., select your application, set "GPU Frame Capture" to
|
||||||
|
* "Metal" in scheme "Options" window, run your app, and click the small
|
||||||
|
* Metal icon on the bottom to capture a frame)
|
||||||
|
*
|
||||||
|
* Aside from that, you may want to enable additional debug layers to receive
|
||||||
|
* more detailed error messages, based on your GPU backend:
|
||||||
|
*
|
||||||
|
* * For D3D12, the debug layer is an optional feature that can be installed
|
||||||
|
* via "Windows Settings -> System -> Optional features" and adding the
|
||||||
|
* "Graphics Tools" optional feature.
|
||||||
|
* * For Vulkan, you will need to install Vulkan SDK on Windows, and on Linux,
|
||||||
|
* you usually have some sort of `vulkan-validation-layers` system package
|
||||||
|
* that should be installed.
|
||||||
|
* * For Metal, it should be enough just to run the application from XCode to
|
||||||
|
* receive detailed errors or warnings in the output.
|
||||||
|
*
|
||||||
|
* Don't hesitate to use tools as RenderDoc when encountering runtime issues
|
||||||
|
* or unexpected output on screen, quick GPU frame inspection can usually help
|
||||||
|
* you fix the majority of such problems.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_gpu_h_
|
#ifndef SDL_gpu_h_
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue