[PR #2830] [MERGED] Add some retry support to Renderer::PaintFrame #25110

Open
opened 2026-01-31 09:07:20 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/2830
Author: @DHowett-MSFT
Created: 9/20/2019
Status: Merged
Merged: 9/23/2019
Merged by: @DHowett-MSFT

Base: masterHead: dev/duhowett/e_pending


📝 Commits (3)

  • 328e5cd Add some retry support to Renderer::PaintFrame
  • 989822f CR feedback
  • 957757a Those changes weren't meant to be included

📊 Changes

2 files changed (+36 additions, -4 deletions)

View changed files

📝 src/renderer/base/renderer.cpp (+17 -1)
📝 src/renderer/dx/DxRenderer.cpp (+19 -3)

📄 Description

If _PaintFrameForEngine returns E_PENDING, we'll give it another two
tries to get itself straight. If it continues to fail, we'll take down
the application.

We observed that the DX renderer was failing to present the swap chain
and failfast'ing when it did so; however, there are some errors from
which DXGI guidance suggests we try to recover. We'll now return
E_PENDING (and destroy our device resources) when we hit those errors.

Fixes #2265.

PR Checklist

Validation Steps Performed

I TDR'd the heck out of my machine. While Visual Studio and Outlook were busy assuming ambient temperature and taking a dirt nap respectively, Terminal continued chugging along.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/2830 **Author:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Created:** 9/20/2019 **Status:** ✅ Merged **Merged:** 9/23/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `dev/duhowett/e_pending` --- ### 📝 Commits (3) - [`328e5cd`](https://github.com/microsoft/terminal/commit/328e5cd7e105eb9a02d12e79a03d40f6166440f7) Add some retry support to Renderer::PaintFrame - [`989822f`](https://github.com/microsoft/terminal/commit/989822fbdcd43c0baf39e7d4729cb9a24a40aad7) CR feedback - [`957757a`](https://github.com/microsoft/terminal/commit/957757afebf291ad686da355192670dbb3e99c47) Those changes weren't meant to be included ### 📊 Changes **2 files changed** (+36 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/base/renderer.cpp` (+17 -1) 📝 `src/renderer/dx/DxRenderer.cpp` (+19 -3) </details> ### 📄 Description If _PaintFrameForEngine returns E_PENDING, we'll give it another two tries to get itself straight. If it continues to fail, we'll take down the application. We observed that the DX renderer was failing to present the swap chain and failfast'ing when it did so; however, there are some errors from which DXGI guidance suggests we try to recover. We'll now return E_PENDING (and destroy our device resources) when we hit those errors. Fixes #2265. ## PR Checklist * [x] Closes #2265 * [x] Author works here * [x] Tests added/passed/N/A (manual) * [x] I've discussed this with ~core contributors~ Michael already. ## Validation Steps Performed I TDR'd the heck out of my machine. While Visual Studio and Outlook were busy assuming ambient temperature and taking a dirt nap respectively, Terminal continued chugging along. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:07:20 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25110