[PR #1274] [MERGED] allow DX rendering engine to run on windows 7 #24558

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/1274
Author: @ghost
Created: 6/14/2019
Status: Merged
Merged: 7/11/2019
Merged by: @DHowett-MSFT

Base: masterHead: win7-rendering


📝 Commits (4)

  • a85b51a allow rendering engine to run on windows 7
  • 34cf876 Apply suggestions from code review
  • 7e86bb8 use struct for spacing parameters
  • cfa32c3 query interface using .As method

📊 Changes

5 files changed (+53 additions, -33 deletions)

View changed files

📝 src/renderer/dx/CustomTextLayout.cpp (+9 -4)
📝 src/renderer/dx/CustomTextLayout.h (+7 -7)
📝 src/renderer/dx/CustomTextRenderer.cpp (+12 -7)
📝 src/renderer/dx/DxRenderer.cpp (+19 -9)
📝 src/renderer/dx/DxRenderer.hpp (+6 -6)

📄 Description

Summary of the Pull Request

This PR allows the DirectX rendering engine to run on windows 7.

PR Checklist

  • Closes #xxx
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Certain DirectX features are unavailable on windows 7. The important ones as they are used in the DX renderer are color font rendering and fallback font support. Color fonts did not exist at all on windows 7 so running basic glyphrun rendering should work just fine.

Fallback font support was not exposed to the user in windows 7, making dealing with them difficult. Rather than try to get some workarounds to properly enable it I have opted to just conditionally disable the support on windows 7.

Validation Steps Performed

I ran these patches both on windows 10 and windows 7 with an in-progress WPF control. The relevant features turned themselves on and off correctly based on the version of the operating system being run on.

Comparison screenshots

Windows 7

win7

Windows 10

win10


🔄 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/1274 **Author:** [@ghost](https://github.com/ghost) **Created:** 6/14/2019 **Status:** ✅ Merged **Merged:** 7/11/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `win7-rendering` --- ### 📝 Commits (4) - [`a85b51a`](https://github.com/microsoft/terminal/commit/a85b51a3172e39fd514ce1fb5e2828943c740fc3) allow rendering engine to run on windows 7 - [`34cf876`](https://github.com/microsoft/terminal/commit/34cf8766fa8369f141b1fce2d06f251ef1b8a5d9) Apply suggestions from code review - [`7e86bb8`](https://github.com/microsoft/terminal/commit/7e86bb84756fdefdda8db98477779573dd732f68) use struct for spacing parameters - [`cfa32c3`](https://github.com/microsoft/terminal/commit/cfa32c34b5bab09fd011d07c369f9bb18d4c6f1a) query interface using .As method ### 📊 Changes **5 files changed** (+53 additions, -33 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/dx/CustomTextLayout.cpp` (+9 -4) 📝 `src/renderer/dx/CustomTextLayout.h` (+7 -7) 📝 `src/renderer/dx/CustomTextRenderer.cpp` (+12 -7) 📝 `src/renderer/dx/DxRenderer.cpp` (+19 -9) 📝 `src/renderer/dx/DxRenderer.hpp` (+6 -6) </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR allows the DirectX rendering engine to run on windows 7. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Requires documentation to be updated * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments Certain DirectX features are unavailable on windows 7. The important ones as they are used in the DX renderer are color font rendering and fallback font support. Color fonts did not exist at all on windows 7 so running basic glyphrun rendering should work just fine. Fallback font support was not exposed to the user in windows 7, making dealing with them difficult. Rather than try to get some workarounds to properly enable it I have opted to just conditionally disable the support on windows 7. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed I ran these patches both on windows 10 and windows 7 with an in-progress WPF control. The relevant features turned themselves on and off correctly based on the version of the operating system being run on. ### Comparison screenshots #### Windows 7 ![win7](https://user-images.githubusercontent.com/8010244/59541803-d37f3780-8eb7-11e9-907a-c1e2558eaa55.png) #### Windows 10 ![win10](https://user-images.githubusercontent.com/8010244/59541810-df6af980-8eb7-11e9-9e16-6eec13e6abfd.png) --- <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:03:59 +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#24558