diff options
| author | 2021-05-27 00:26:16 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:36 -0400 | |
| commit | ed14d31f663e126a8f9fe0ea8abff8e27c46248b (patch) | |
| tree | 6bfe4bec1eda9960aef7c80dfa5926ab97984bd3 /src/shader_recompiler/backend/glsl/emit_glsl_instructions.h | |
| parent | glsl: textures wip (diff) | |
| download | yuzu-ed14d31f663e126a8f9fe0ea8abff8e27c46248b.tar.gz yuzu-ed14d31f663e126a8f9fe0ea8abff8e27c46248b.tar.xz yuzu-ed14d31f663e126a8f9fe0ea8abff8e27c46248b.zip | |
glsl: Fix non-immediate buffer access
and many other misc implementations
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl_instructions.h')
| -rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_instructions.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h b/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h index c9b53bae2..295b7a8c4 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h +++ b/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h | |||
| @@ -60,7 +60,8 @@ void EmitGetCbufU32(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, | |||
| 60 | const IR::Value& offset); | 60 | const IR::Value& offset); |
| 61 | void EmitGetCbufF32(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, | 61 | void EmitGetCbufF32(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, |
| 62 | const IR::Value& offset); | 62 | const IR::Value& offset); |
| 63 | void EmitGetCbufU32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 63 | void EmitGetCbufU32x2(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, |
| 64 | const IR::Value& offset); | ||
| 64 | void EmitGetAttribute(EmitContext& ctx, IR::Inst& inst, IR::Attribute attr, | 65 | void EmitGetAttribute(EmitContext& ctx, IR::Inst& inst, IR::Attribute attr, |
| 65 | std::string_view vertex); | 66 | std::string_view vertex); |
| 66 | void EmitSetAttribute(EmitContext& ctx, IR::Attribute attr, std::string_view value, | 67 | void EmitSetAttribute(EmitContext& ctx, IR::Attribute attr, std::string_view value, |
| @@ -116,7 +117,8 @@ void EmitLoadStorage32(EmitContext& ctx, IR::Inst& inst, const IR::Value& bindin | |||
| 116 | const IR::Value& offset); | 117 | const IR::Value& offset); |
| 117 | void EmitLoadStorage64(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, | 118 | void EmitLoadStorage64(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, |
| 118 | const IR::Value& offset); | 119 | const IR::Value& offset); |
| 119 | void EmitLoadStorage128(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 120 | void EmitLoadStorage128(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, |
| 121 | const IR::Value& offset); | ||
| 120 | void EmitWriteStorageU8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset, | 122 | void EmitWriteStorageU8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset, |
| 121 | std::string_view value); | 123 | std::string_view value); |
| 122 | void EmitWriteStorageS8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset, | 124 | void EmitWriteStorageS8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset, |
| @@ -145,14 +147,16 @@ void EmitWriteSharedU64(EmitContext& ctx, std::string_view offset, std::string_v | |||
| 145 | void EmitWriteSharedU128(EmitContext& ctx, std::string_view offset, std::string_view value); | 147 | void EmitWriteSharedU128(EmitContext& ctx, std::string_view offset, std::string_view value); |
| 146 | void EmitCompositeConstructU32x2(EmitContext& ctx, IR::Inst& inst, std::string_view e1, | 148 | void EmitCompositeConstructU32x2(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 147 | std::string_view e2); | 149 | std::string_view e2); |
| 148 | void EmitCompositeConstructU32x3(EmitContext& ctx, std::string_view e1, std::string_view e2, | 150 | void EmitCompositeConstructU32x3(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 149 | std::string_view e3); | 151 | std::string_view e2, std::string_view e3); |
| 150 | void EmitCompositeConstructU32x4(EmitContext& ctx, std::string_view e1, std::string_view e2, | 152 | void EmitCompositeConstructU32x4(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 151 | std::string_view e3, std::string_view e4); | 153 | std::string_view e2, std::string_view e3, std::string_view e4); |
| 152 | void EmitCompositeExtractU32x2(EmitContext& ctx, IR::Inst& inst, std::string_view composite, | 154 | void EmitCompositeExtractU32x2(EmitContext& ctx, IR::Inst& inst, std::string_view composite, |
| 153 | u32 index); | 155 | u32 index); |
| 154 | void EmitCompositeExtractU32x3(EmitContext& ctx, std::string_view composite, u32 index); | 156 | void EmitCompositeExtractU32x3(EmitContext& ctx, IR::Inst& inst, std::string_view composite, |
| 155 | void EmitCompositeExtractU32x4(EmitContext& ctx, std::string_view composite, u32 index); | 157 | u32 index); |
| 158 | void EmitCompositeExtractU32x4(EmitContext& ctx, IR::Inst& inst, std::string_view composite, | ||
| 159 | u32 index); | ||
| 156 | void EmitCompositeInsertU32x2(EmitContext& ctx, std::string_view composite, std::string_view object, | 160 | void EmitCompositeInsertU32x2(EmitContext& ctx, std::string_view composite, std::string_view object, |
| 157 | u32 index); | 161 | u32 index); |
| 158 | void EmitCompositeInsertU32x3(EmitContext& ctx, std::string_view composite, std::string_view object, | 162 | void EmitCompositeInsertU32x3(EmitContext& ctx, std::string_view composite, std::string_view object, |
| @@ -175,10 +179,10 @@ void EmitCompositeInsertF16x4(EmitContext& ctx, std::string_view composite, std: | |||
| 175 | u32 index); | 179 | u32 index); |
| 176 | void EmitCompositeConstructF32x2(EmitContext& ctx, IR::Inst& inst, std::string_view e1, | 180 | void EmitCompositeConstructF32x2(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 177 | std::string_view e2); | 181 | std::string_view e2); |
| 178 | void EmitCompositeConstructF32x3(EmitContext& ctx, std::string_view e1, std::string_view e2, | 182 | void EmitCompositeConstructF32x3(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 179 | std::string_view e3); | 183 | std::string_view e2, std::string_view e3); |
| 180 | void EmitCompositeConstructF32x4(EmitContext& ctx, std::string_view e1, std::string_view e2, | 184 | void EmitCompositeConstructF32x4(EmitContext& ctx, IR::Inst& inst, std::string_view e1, |
| 181 | std::string_view e3, std::string_view e4); | 185 | std::string_view e2, std::string_view e3, std::string_view e4); |
| 182 | void EmitCompositeExtractF32x2(EmitContext& ctx, IR::Inst& inst, std::string_view composite, | 186 | void EmitCompositeExtractF32x2(EmitContext& ctx, IR::Inst& inst, std::string_view composite, |
| 183 | u32 index); | 187 | u32 index); |
| 184 | void EmitCompositeExtractF32x3(EmitContext& ctx, IR::Inst& inst, std::string_view composite, | 188 | void EmitCompositeExtractF32x3(EmitContext& ctx, IR::Inst& inst, std::string_view composite, |