You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed QueryInterface for ID3D12ShaderReflection interface (microsoft#5445)
QueryInterface would accept any interface IID, instead of only the ones
it recognizes. Fixed by adding PublicAPI::Invalid, returned from
IIDToAPI when not one of the recognized APIs, and only accepting
IUnknown or the original interface IID provided at create time.
CreateDxil{Shader|Library}Reflection would also completely ignore IID.
Fixed by only accepting supported IIDs.
Get*ParameterDesc for signature elements also incorrectly computed
structure size (due to alignment) to memcpy for D3D11_43 version. Fixed
by copying only up to the end of the last field in the old structure
version.
CreateReflectionObjectsForSignature had a special case avoiding filling
in the MinPrecision member for D3D11_43, though this is unnecessary,
since for that API version, the struct will be truncated to exclude the
MinPrecision member when copying out the desc. Removed unnecessary
special case.
Added DxilContainerTest::CheckReflectionQueryInterface test for Create
and QI scenarios for supported and unsupported IIDs. This also tests
that the Get*ParameterDesc methods don't write beyond the structure size
for the interface version.
Fixesmicrosoft#3887
0 commit comments