[DxbcConverter] Fix corruption of ICB integer values#4790
Merged
vettoreldaniele merged 1 commit intomicrosoft:mainfrom Nov 23, 2022
Merged
[DxbcConverter] Fix corruption of ICB integer values#4790vettoreldaniele merged 1 commit intomicrosoft:mainfrom
vettoreldaniele merged 1 commit intomicrosoft:mainfrom
Conversation
Use an array of 32-bit integer values instead of 32-bit float values for the `"dx.icb"` immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. Fixes microsoft#4786
Contributor
Author
|
@microsoft-github-policy-service agree company="Google" |
Contributor
Author
|
Thank you for the review. I do not have merge permissions, so if you are happy with this landing, please will you do the honours? Thanks, |
Member
|
I'd like to wait for someone on the actual shader compiler team to take a look. While I've got some experience in this area, it's not my place to merge this without their signoff. |
tex3d
approved these changes
Nov 19, 2022
Contributor
tex3d
left a comment
There was a problem hiding this comment.
This looks good to me too.
Contributor
Author
|
Thank you for the reviews. Please can someone with permissions land this change? |
Collaborator
|
With multiple folks from MS approving, I will be merging this. |
hekota
added a commit
that referenced
this pull request
May 31, 2023
…#5253) This reverts commit 0a1f7a1. Use an array of 32-bit integer values instead of 32-bit float values for the "dx.icb" immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. This change is causing rendering issues on PCs with AMD GPU and is blocking an upcoming Windows release. The target branch of this revert is a release branch based on release-1.7.2212 at commit 83f8c6c and it will be used for the upcoming Windows release. The dxilconv change stays in main, at least for now.
hekota
added a commit
to hekota/DirectXShaderCompiler
that referenced
this pull request
Jun 8, 2023
…ft#4790)" (microsoft#5253) This reverts commit 0a1f7a1. Use an array of 32-bit integer values instead of 32-bit float values for the "dx.icb" immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. This change is causing rendering issues on PCs with AMD GPU and is blocking an upcoming Windows release. The target branch of this revert is a release branch based on release-1.7.2212 at commit 83f8c6c and it will be used for the upcoming Windows release. The dxilconv change stays in main, at least for now. (cherry picked from commit 03df61d)
hekota
added a commit
to hekota/DirectXShaderCompiler
that referenced
this pull request
Jun 8, 2023
…ft#4790)" (microsoft#5253) This reverts commit 0a1f7a1. Use an array of 32-bit integer values instead of 32-bit float values for the "dx.icb" immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. This change is causing rendering issues on PCs with AMD GPU and is blocking an upcoming Windows release. The target branch of this revert is a release branch based on release-1.7.2212 at commit 83f8c6c and it will be used for the upcoming Windows release. The dxilconv change stays in main, at least for now. (cherry picked from commit 03df61d)
hekota
added a commit
that referenced
this pull request
Jun 8, 2023
…#5253) (#5278) This reverts commit 0a1f7a1. Use an array of 32-bit integer values instead of 32-bit float values for the "dx.icb" immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. This change is causing rendering issues on PCs with AMD GPU and is blocking an upcoming Windows release. The target branch of this revert is a release branch based on release-1.7.2212 at commit 83f8c6c and it will be used for the upcoming Windows release. The dxilconv change stays in main, at least for now. (cherry picked from commit 03df61d)
hekota
added a commit
that referenced
this pull request
Jun 8, 2023
…#5253) (#5279) This reverts commit 0a1f7a1. Use an array of 32-bit integer values instead of 32-bit float values for the "dx.icb" immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture. This change is causing rendering issues on PCs with AMD GPU and is blocking an upcoming Windows release. The target branch of this revert is a release branch based on release-1.7.2212 at commit 83f8c6c and it will be used for the upcoming Windows release. The dxilconv change stays in main, at least for now. (cherry picked from commit 03df61d)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Use an array of 32-bit integer values instead of 32-bit float values for the
"dx.icb"immediate constant buffer data. This prevents the FPU flipping the 22nd bit of integer constants, when their bit pattern represents a float32 signalling NaN on x86 architecture.Fixes #4786