Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DxEngine: Fix shader compilation on pre-D3D11 hardware #12677

Merged
2 commits merged into from
Mar 15, 2022

Conversation

lhecker
Copy link
Member

@lhecker lhecker commented Mar 12, 2022

  • 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 ✅

@ghost ghost added Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-2 A description (P2) Product-Terminal The new Windows Terminal. labels Mar 12, 2022
@lhecker lhecker added the AutoMerge Marked for automatic merge by the bot when requirements are met label Mar 15, 2022
@ghost
Copy link

ghost commented Mar 15, 2022

Hello @lhecker!

Because this pull request has the AutoMerge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.

@ghost ghost merged commit d5fb736 into main Mar 15, 2022
@ghost ghost deleted the dev/lhecker/12655-shader-fix branch March 15, 2022 20:24
DHowett pushed a commit that referenced this pull request Mar 15, 2022
* 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 ✅

(cherry picked from commit d5fb736)
DHowett pushed a commit that referenced this pull request Mar 15, 2022
* 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 ✅

(cherry picked from commit d5fb736)
@ghost
Copy link

ghost commented Apr 19, 2022

🎉Windows Terminal v1.12.1098 has been released which incorporates this pull request.:tada:

Handy links:

@ghost ghost mentioned this pull request Apr 19, 2022
@ghost
Copy link

ghost commented Apr 19, 2022

🎉Windows Terminal Preview v1.13.1098 has been released which incorporates this pull request.:tada:

Handy links:

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues AutoMerge Marked for automatic merge by the bot when requirements are met Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-2 A description (P2) Product-Terminal The new Windows Terminal.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Shaders load but don't work
3 participants