aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_context.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-17 02:59:54 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:28 -0400
commitdbbd4b549682dd4302e6258cced184a0ec78e99a (patch)
tree81f7d4dbe2d56c3bf1c0553a9983ef153dcbc72c /src/shader_recompiler/backend/spirv/emit_context.h
parentbe431f5ed080955cce358e9750347229b2bc9a04 (diff)
spirv: Use ConstOffset instead of Offset when possible
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.h')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/emit_context.h
index 528dc33feb..9db2b0c942 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.h
+++ b/src/shader_recompiler/backend/spirv/emit_context.h
@@ -97,6 +97,23 @@ public:
[[nodiscard]] Id Def(const IR::Value& value);
+ Id Const(u32 value) {
+ return Constant(U32[1], value);
+ }
+
+ Id Const(u32 element_1, u32 element_2) {
+ return ConstantComposite(U32[2], Const(element_1), Const(element_2));
+ }
+
+ Id Const(u32 element_1, u32 element_2, u32 element_3) {
+ return ConstantComposite(U32[3], Const(element_1), Const(element_2), Const(element_3));
+ }
+
+ Id Const(u32 element_1, u32 element_2, u32 element_3, u32 element_4) {
+ return ConstantComposite(U32[2], Const(element_1), Const(element_2), Const(element_3),
+ Const(element_4));
+ }
+
const Profile& profile;
Stage stage{};