diff options
author | FernandoS27 <fsahmkow27@gmail.com> | 2021-03-20 21:22:21 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:23 +0200 |
commit | e802512d8e49cc4a92c0c09fe023576c2a2ab3db (patch) | |
tree | 76c0e4b0a956307b7c00df422c93546267d95eeb /src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.h | |
parent | shader: Implement I2F (diff) | |
download | yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar.gz yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar.bz2 yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar.lz yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar.xz yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.tar.zst yuzu-e802512d8e49cc4a92c0c09fe023576c2a2ab3db.zip |
Diffstat (limited to '')
-rw-r--r-- | src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.h b/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.h new file mode 100644 index 000000000..0933b595e --- /dev/null +++ b/src/shader_recompiler/frontend/maxwell/translate/impl/half_floating_point_helper.h @@ -0,0 +1,31 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/common_types.h" +#include "shader_recompiler/exception.h" +#include "shader_recompiler/frontend/maxwell/translate/impl/common_encoding.h" +#include "shader_recompiler/frontend/maxwell/translate/impl/impl.h" + +namespace Shader::Maxwell { + +enum class Merge : u64 { + H1_H0, + F32, + MRG_H0, + MRG_H1, +}; + +enum class Swizzle : u64 { + H1_H0, + F32, + H0_H0, + H1_H1, +}; + +std::pair<IR::F16F32F64, IR::F16F32F64> Extract(IR::IREmitter& ir, IR::U32 value, Swizzle swizzle); + +IR::U32 MergeResult(IR::IREmitter& ir, IR::Reg dest, const IR::F16& lhs, const IR::F16& rhs, + Merge merge); + +} // namespace Shader::Maxwell |