Merge pull request #1951 from Tinob/master

Add missing uintBitsToFloat to SetRegisterToHalfFloat
This commit is contained in:
bunnei 2018-12-27 13:55:21 -05:00 committed by GitHub
commit e84e4fd3f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -493,10 +493,10 @@ public:
// pack. I couldn't test this on hardware but it shouldn't really matter since most // pack. I couldn't test this on hardware but it shouldn't really matter since most
// of the time when a Mrg_* flag is used both components will be mirrored. That // of the time when a Mrg_* flag is used both components will be mirrored. That
// being said, it deserves a test. // being said, it deserves a test.
return "((" + GetRegisterAsInteger(reg, 0, false) + return "uintBitsToFloat((" + GetRegisterAsInteger(reg, 0, false) +
" & 0xffff0000) | (packHalf2x16(" + value + ") & 0x0000ffff))"; " & 0xffff0000) | (packHalf2x16(" + value + ") & 0x0000ffff))";
case Tegra::Shader::HalfMerge::Mrg_H1: case Tegra::Shader::HalfMerge::Mrg_H1:
return "((" + GetRegisterAsInteger(reg, 0, false) + return "uintBitsToFloat((" + GetRegisterAsInteger(reg, 0, false) +
" & 0x0000ffff) | (packHalf2x16(" + value + ") & 0xffff0000))"; " & 0x0000ffff) | (packHalf2x16(" + value + ") & 0xffff0000))";
default: default:
UNREACHABLE(); UNREACHABLE();