| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182 |
- // Copyright 2021 yuzu Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #include <string_view>
- #include "shader_recompiler/backend/glasm/emit_context.h"
- #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h"
- #include "shader_recompiler/frontend/ir/program.h"
- #include "shader_recompiler/frontend/ir/value.h"
- #ifdef _MSC_VER
- #pragma warning(disable : 4100)
- #endif
- namespace Shader::Backend::GLASM {
- #define NotImplemented() throw NotImplementedException("GLASM instruction {}", __LINE__)
- void EmitPhi(EmitContext& ctx, IR::Inst& inst) {
- NotImplemented();
- }
- void EmitVoid(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitBranch(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitBranchConditional(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitLoopMerge(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSelectionMerge(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitReturn(EmitContext& ctx) {
- ctx.Add("RET;");
- }
- void EmitJoin(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitUnreachable(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitDemoteToHelperInvocation(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitBarrier(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitWorkgroupMemoryBarrier(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitDeviceMemoryBarrier(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitPrologue(EmitContext& ctx) {
- // TODO
- }
- void EmitEpilogue(EmitContext& ctx) {
- // TODO
- }
- void EmitEmitVertex(EmitContext& ctx, const IR::Value& stream) {
- NotImplemented();
- }
- void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream) {
- NotImplemented();
- }
- void EmitGetRegister(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetRegister(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetPred(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetPred(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetGotoVariable(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetGotoVariable(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetIndirectBranchVariable(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetIndirectBranchVariable(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetZFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetSFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetCFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetOFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetZFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetSFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetCFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSetOFlag(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitWorkgroupId(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitLocalInvocationId(EmitContext& ctx, IR::Inst& inst) {
- ctx.Add("MOV.S {},invocation.localid;", inst);
- }
- void EmitInvocationId(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSampleId(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitIsHelperInvocation(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitYDirection(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitLoadLocal(EmitContext& ctx, ScalarU32 word_offset) {
- NotImplemented();
- }
- void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitUndefU1(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitUndefU8(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitUndefU16(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitUndefU32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitUndefU64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitLoadSharedU8(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedS8(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedU16(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedS16(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedU32(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedU64(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitLoadSharedU128(EmitContext& ctx, ScalarU32 offset) {
- NotImplemented();
- }
- void EmitWriteSharedU8(EmitContext& ctx, ScalarU32 offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitWriteSharedU16(EmitContext& ctx, ScalarU32 offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitWriteSharedU32(EmitContext& ctx, ScalarU32 offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitWriteSharedU64(EmitContext& ctx, ScalarU32 offset, Register value) {
- NotImplemented();
- }
- void EmitWriteSharedU128(EmitContext& ctx, ScalarU32 offset, Register value) {
- NotImplemented();
- }
- void EmitPackDouble2x32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitUnpackDouble2x32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitGetZeroFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetSignFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetCarryFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetOverflowFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetSparseFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGetInBoundsFromOp(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitFPIsNan16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitFPIsNan32(EmitContext& ctx, ScalarF32 value) {
- NotImplemented();
- }
- void EmitFPIsNan64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitSharedAtomicIAdd32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicSMin32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarS32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicUMin32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicSMax32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarS32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicUMax32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicInc32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicDec32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicAnd32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicOr32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicXor32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicExchange32(EmitContext& ctx, ScalarU32 pointer_offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitSharedAtomicExchange64(EmitContext& ctx, ScalarU32 pointer_offset, Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicIAdd32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicSMin32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarS32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicUMin32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicSMax32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarS32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicUMax32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicInc32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicDec32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicAnd32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicOr32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicXor32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicExchange32(EmitContext& ctx, const IR::Value& binding,
- const IR::Value& offset, ScalarU32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicIAdd64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicSMin64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicUMin64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicSMax64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicUMax64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicAnd64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicOr64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicXor64(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicExchange64(EmitContext& ctx, const IR::Value& binding,
- const IR::Value& offset, Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicAddF32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- ScalarF32 value) {
- NotImplemented();
- }
- void EmitStorageAtomicAddF16x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicAddF32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicMinF16x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicMinF32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicMaxF16x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitStorageAtomicMaxF32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset,
- Register value) {
- NotImplemented();
- }
- void EmitGlobalAtomicIAdd32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicSMin32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicUMin32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicSMax32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicUMax32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicInc32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicDec32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicAnd32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicOr32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicXor32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicExchange32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicIAdd64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicSMin64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicUMin64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicSMax64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicUMax64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicInc64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicDec64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicAnd64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicOr64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicXor64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicExchange64(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicAddF32(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicAddF16x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicAddF32x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicMinF16x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicMinF32x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicMaxF16x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitGlobalAtomicMaxF32x2(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitLogicalOr(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
- }
- void EmitLogicalAnd(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
- }
- void EmitLogicalXor(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
- }
- void EmitLogicalNot(EmitContext& ctx, ScalarS32 value) {
- NotImplemented();
- }
- void EmitConvertS16F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS16F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS16F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS32F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS32F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS32F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS64F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS64F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertS64F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU16F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU16F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU16F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU32F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU32F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU32F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU64F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU64F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU64F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU64U32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertU32U64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32F16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32F64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64F32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16S8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16S16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16S32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16S64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16U8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16U16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16U32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF16U64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32S8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32S16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32S32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32S64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32U8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32U16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32U32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF32U64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64S8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64S16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64S32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64S64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64U8(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64U16(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64U32(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitConvertF64U64(EmitContext& ctx, Register value) {
- NotImplemented();
- }
- void EmitBindlessImageSampleImplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageSampleExplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageSampleDrefImplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageSampleDrefExplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageGather(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageGatherDref(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageFetch(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageQueryDimensions(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageQueryLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageGradient(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageRead(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageWrite(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageSampleImplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageSampleExplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageSampleDrefImplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageSampleDrefExplicitLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageGather(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageGatherDref(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageFetch(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageQueryDimensions(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageQueryLod(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageGradient(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageRead(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageWrite(EmitContext&) {
- NotImplemented();
- }
- void EmitImageSampleImplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, Register bias_lc, const IR::Value& offset) {
- NotImplemented();
- }
- void EmitImageSampleExplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, Register lod_lc, const IR::Value& offset) {
- NotImplemented();
- }
- void EmitImageSampleDrefImplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, Register dref, Register bias_lc,
- const IR::Value& offset) {
- NotImplemented();
- }
- void EmitImageSampleDrefExplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, Register dref, Register lod_lc,
- const IR::Value& offset) {
- NotImplemented();
- }
- void EmitImageGather(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- const IR::Value& offset, const IR::Value& offset2) {
- NotImplemented();
- }
- void EmitImageGatherDref(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- const IR::Value& offset, const IR::Value& offset2, Register dref) {
- NotImplemented();
- }
- void EmitImageFetch(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- Register offset, Register lod, Register ms) {
- NotImplemented();
- }
- void EmitImageQueryDimensions(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register lod) {
- NotImplemented();
- }
- void EmitImageQueryLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords) {
- NotImplemented();
- }
- void EmitImageGradient(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- Register derivates, Register offset, Register lod_clamp) {
- NotImplemented();
- }
- void EmitImageRead(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords) {
- NotImplemented();
- }
- void EmitImageWrite(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- Register color) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicIAdd32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicSMin32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicUMin32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicSMax32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicUMax32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicInc32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicDec32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicAnd32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicOr32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicXor32(EmitContext&) {
- NotImplemented();
- }
- void EmitBindlessImageAtomicExchange32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicIAdd32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicSMin32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicUMin32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicSMax32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicUMax32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicInc32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicDec32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicAnd32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicOr32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicXor32(EmitContext&) {
- NotImplemented();
- }
- void EmitBoundImageAtomicExchange32(EmitContext&) {
- NotImplemented();
- }
- void EmitImageAtomicIAdd32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicSMin32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarS32 value) {
- NotImplemented();
- }
- void EmitImageAtomicUMin32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicSMax32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarS32 value) {
- NotImplemented();
- }
- void EmitImageAtomicUMax32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicInc32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicDec32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicAnd32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicOr32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicXor32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, Register coords,
- ScalarU32 value) {
- NotImplemented();
- }
- void EmitImageAtomicExchange32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index,
- Register coords, ScalarU32 value) {
- NotImplemented();
- }
- void EmitLaneId(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitVoteAll(EmitContext& ctx, ScalarS32 pred) {
- NotImplemented();
- }
- void EmitVoteAny(EmitContext& ctx, ScalarS32 pred) {
- NotImplemented();
- }
- void EmitVoteEqual(EmitContext& ctx, ScalarS32 pred) {
- NotImplemented();
- }
- void EmitSubgroupBallot(EmitContext& ctx, ScalarS32 pred) {
- NotImplemented();
- }
- void EmitSubgroupEqMask(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSubgroupLtMask(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSubgroupLeMask(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSubgroupGtMask(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitSubgroupGeMask(EmitContext& ctx) {
- NotImplemented();
- }
- void EmitShuffleIndex(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 index,
- ScalarU32 clamp, ScalarU32 segmentation_mask) {
- NotImplemented();
- }
- void EmitShuffleUp(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 index,
- ScalarU32 clamp, ScalarU32 segmentation_mask) {
- NotImplemented();
- }
- void EmitShuffleDown(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 index,
- ScalarU32 clamp, ScalarU32 segmentation_mask) {
- NotImplemented();
- }
- void EmitShuffleButterfly(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 index,
- ScalarU32 clamp, ScalarU32 segmentation_mask) {
- NotImplemented();
- }
- void EmitFSwizzleAdd(EmitContext& ctx, ScalarF32 op_a, ScalarF32 op_b, ScalarU32 swizzle) {
- NotImplemented();
- }
- void EmitDPdxFine(EmitContext& ctx, ScalarF32 op_a) {
- NotImplemented();
- }
- void EmitDPdyFine(EmitContext& ctx, ScalarF32 op_a) {
- NotImplemented();
- }
- void EmitDPdxCoarse(EmitContext& ctx, ScalarF32 op_a) {
- NotImplemented();
- }
- void EmitDPdyCoarse(EmitContext& ctx, ScalarF32 op_a) {
- NotImplemented();
- }
- } // namespace Shader::Backend::GLASM
|