glasm: Implement gl_FragDepth and gl_SampleMask stores
This commit is contained in:
parent
1ee7f8b943
commit
0fa421f82f
@ -120,12 +120,12 @@ void EmitSetFragColor(EmitContext& ctx, u32 index, u32 component, ScalarF32 valu
|
|||||||
ctx.Add("MOV.F frag_color{}.{},{};", index, "xyzw"[component], value);
|
ctx.Add("MOV.F frag_color{}.{},{};", index, "xyzw"[component], value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmitSetSampleMask([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 value) {
|
void EmitSetSampleMask(EmitContext& ctx, ScalarS32 value) {
|
||||||
throw NotImplementedException("GLASM instruction");
|
ctx.Add("MOV.S result.samplemask.x,{};", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmitSetFragDepth([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 value) {
|
void EmitSetFragDepth(EmitContext& ctx, ScalarF32 value) {
|
||||||
throw NotImplementedException("GLASM instruction");
|
ctx.Add("MOV.F result.depth.z,{};", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset) {
|
void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset) {
|
||||||
|
@ -56,7 +56,7 @@ void EmitSetAttributeIndexed(EmitContext& ctx, ScalarU32 offset, ScalarF32 value
|
|||||||
void EmitGetPatch(EmitContext& ctx, IR::Patch patch);
|
void EmitGetPatch(EmitContext& ctx, IR::Patch patch);
|
||||||
void EmitSetPatch(EmitContext& ctx, IR::Patch patch, ScalarF32 value);
|
void EmitSetPatch(EmitContext& ctx, IR::Patch patch, ScalarF32 value);
|
||||||
void EmitSetFragColor(EmitContext& ctx, u32 index, u32 component, ScalarF32 value);
|
void EmitSetFragColor(EmitContext& ctx, u32 index, u32 component, ScalarF32 value);
|
||||||
void EmitSetSampleMask(EmitContext& ctx, ScalarF32 value);
|
void EmitSetSampleMask(EmitContext& ctx, ScalarS32 value);
|
||||||
void EmitSetFragDepth(EmitContext& ctx, ScalarF32 value);
|
void EmitSetFragDepth(EmitContext& ctx, ScalarF32 value);
|
||||||
void EmitGetZFlag(EmitContext& ctx);
|
void EmitGetZFlag(EmitContext& ctx);
|
||||||
void EmitGetSFlag(EmitContext& ctx);
|
void EmitGetSFlag(EmitContext& ctx);
|
||||||
|
Loading…
Reference in New Issue
Block a user