[PR #12677] [MERGED] DxEngine: Fix shader compilation on pre-D3D11 hardware #29181

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/12677
Author: @lhecker
Created: 3/12/2022
Status: Merged
Merged: 3/15/2022
Merged by: @undefined

Base: mainHead: dev/lhecker/12655-shader-fix


📝 Commits (2)

  • 60dad9a DxEngine: Fix shader compilation on pre-D3D11 hardware
  • 9203c5e Fix AuditMode

📊 Changes

1 file changed (+33 additions, -18 deletions)

View changed files

📝 src/renderer/dx/DxRenderer.cpp (+33 -18)

📄 Description

  • Drop engine support for DirectX 9.1
    Practically no one has such old hardware anymore and AtlasEngine additionally
    drops support for 10.0. The fallback also didn't work properly,
    because the FeatureLevels array failed to include 9.2 and 9.3.
    We'll simply fall back to WARP on all such devices.
  • Optimize shaders during compilation
    The two new flags increase shader performance sometimes significantly.
  • Fix shader feature level flags
    D3D feature level 10.0 only support 4.0 and 10.1 only 4.1 shaders.

PR Checklist

Validation Steps Performed

  • Add WindowsTerminal.exe in dxcpl.exe
  • Add a basic experimental.pixelShaderPath
  • All forced feature levels between 9_1 and 11_1 render as expected

🔄 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/12677 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 3/12/2022 **Status:** ✅ Merged **Merged:** 3/15/2022 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/12655-shader-fix` --- ### 📝 Commits (2) - [`60dad9a`](https://github.com/microsoft/terminal/commit/60dad9a598a80b77e79f5fe9ce0966e9e2914183) DxEngine: Fix shader compilation on pre-D3D11 hardware - [`9203c5e`](https://github.com/microsoft/terminal/commit/9203c5ec24dc34cff8470672700c12f5ae4009a9) Fix AuditMode ### 📊 Changes **1 file changed** (+33 additions, -18 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/dx/DxRenderer.cpp` (+33 -18) </details> ### 📄 Description * Drop engine support for DirectX 9.1 Practically no one has such old hardware anymore and AtlasEngine additionally drops support for 10.0. The fallback also didn't work properly, because the `FeatureLevels` array failed to include 9.2 and 9.3. We'll simply fall back to WARP on all such devices. * Optimize shaders during compilation The two new flags increase shader performance sometimes significantly. * Fix shader feature level flags D3D feature level 10.0 only support 4.0 and 10.1 only 4.1 shaders. ## PR Checklist * [x] Closes #12655 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Add `WindowsTerminal.exe` in `dxcpl.exe` * Add a basic `experimental.pixelShaderPath` * All forced feature levels between `9_1` and `11_1` render as expected ✅ --- <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:33:18 +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#29181