shader_recompiler: Implement basic 64-bit floating point support (#915)

* shader_recompiler: Implement basic 64-bit floating point support

* Fix formatting
This commit is contained in:
Daniel R. 2024-09-15 22:53:08 +02:00 committed by GitHub
parent 75a4df53a5
commit dcf245b814
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 65 additions and 30 deletions

View file

@ -85,6 +85,9 @@ void EmitContext::DefineArithmeticTypes() {
F16[1] = Name(TypeFloat(16), "f16_id");
U16 = Name(TypeUInt(16), "u16_id");
}
if (info.uses_fp64) {
F64[1] = Name(TypeFloat(64), "f64_id");
}
F32[1] = Name(TypeFloat(32), "f32_id");
S32[1] = Name(TypeSInt(32), "i32_id");
U32[1] = Name(TypeUInt(32), "u32_id");
@ -94,6 +97,9 @@ void EmitContext::DefineArithmeticTypes() {
if (info.uses_fp16) {
F16[i] = Name(TypeVector(F16[1], i), fmt::format("f16vec{}_id", i));
}
if (info.uses_fp64) {
F64[i] = Name(TypeVector(F64[1], i), fmt::format("f64vec{}_id", i));
}
F32[i] = Name(TypeVector(F32[1], i), fmt::format("f32vec{}_id", i));
S32[i] = Name(TypeVector(S32[1], i), fmt::format("i32vec{}_id", i));
U32[i] = Name(TypeVector(U32[1], i), fmt::format("u32vec{}_id", i));