mirror of
https://git.h3cjp.net/H3cJP/yuzu.git
synced 2024-12-22 19:07:27 +00:00
glasm: Implement derivative instructions on GLASM
This commit is contained in:
parent
9fb2ea08e8
commit
464f13fe0b
src/shader_recompiler/backend/glasm
|
@ -611,9 +611,9 @@ void EmitShuffleDown(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU3
|
|||
void EmitShuffleButterfly(EmitContext& ctx, IR::Inst& inst, ScalarU32 value, ScalarU32 index,
|
||||
const IR::Value& clamp, const IR::Value& segmentation_mask);
|
||||
void EmitFSwizzleAdd(EmitContext& ctx, ScalarF32 op_a, ScalarF32 op_b, ScalarU32 swizzle);
|
||||
void EmitDPdxFine(EmitContext& ctx, ScalarF32 op_a);
|
||||
void EmitDPdyFine(EmitContext& ctx, ScalarF32 op_a);
|
||||
void EmitDPdxCoarse(EmitContext& ctx, ScalarF32 op_a);
|
||||
void EmitDPdyCoarse(EmitContext& ctx, ScalarF32 op_a);
|
||||
void EmitDPdxFine(EmitContext& ctx, IR::Inst& inst, ScalarF32 op_a);
|
||||
void EmitDPdyFine(EmitContext& ctx, IR::Inst& inst, ScalarF32 op_a);
|
||||
void EmitDPdxCoarse(EmitContext& ctx, IR::Inst& inst, ScalarF32 op_a);
|
||||
void EmitDPdyCoarse(EmitContext& ctx, IR::Inst& inst, ScalarF32 op_a);
|
||||
|
||||
} // namespace Shader::Backend::GLASM
|
||||
|
|
|
@ -99,20 +99,20 @@ void EmitFSwizzleAdd(EmitContext&, ScalarF32, ScalarF32, ScalarU32) {
|
|||
throw NotImplementedException("GLASM instruction");
|
||||
}
|
||||
|
||||
void EmitDPdxFine(EmitContext&, ScalarF32) {
|
||||
throw NotImplementedException("GLASM instruction");
|
||||
void EmitDPdxFine(EmitContext& ctx, IR::Inst& inst, ScalarF32 p) {
|
||||
ctx.Add("DDX.FINE {}.x,{};", inst, p);
|
||||
}
|
||||
|
||||
void EmitDPdyFine(EmitContext&, ScalarF32) {
|
||||
throw NotImplementedException("GLASM instruction");
|
||||
void EmitDPdyFine(EmitContext& ctx, IR::Inst& inst, ScalarF32 p) {
|
||||
ctx.Add("DDY.FINE {}.x,{};", inst, p);
|
||||
}
|
||||
|
||||
void EmitDPdxCoarse(EmitContext&, ScalarF32) {
|
||||
throw NotImplementedException("GLASM instruction");
|
||||
void EmitDPdxCoarse(EmitContext& ctx, IR::Inst& inst, ScalarF32 p) {
|
||||
ctx.Add("DDX.COARSE {}.x,{};", inst, p);
|
||||
}
|
||||
|
||||
void EmitDPdyCoarse(EmitContext&, ScalarF32) {
|
||||
throw NotImplementedException("GLASM instruction");
|
||||
void EmitDPdyCoarse(EmitContext& ctx, IR::Inst& inst, ScalarF32 p) {
|
||||
ctx.Add("DDY.COARSE {}.x,{};", inst, p);
|
||||
}
|
||||
|
||||
} // namespace Shader::Backend::GLASM
|
||||
|
|
Loading…
Reference in a new issue