shader: Implement FCMP
still need to configure some settings for NV denorm flush and intel NaN
This commit is contained in:
		| @@ -232,6 +232,7 @@ Id EmitFPOrdGreaterThanEqual64(EmitContext& ctx, Id lhs, Id rhs); | ||||
| Id EmitFPUnordGreaterThanEqual16(EmitContext& ctx, Id lhs, Id rhs); | ||||
| Id EmitFPUnordGreaterThanEqual32(EmitContext& ctx, Id lhs, Id rhs); | ||||
| Id EmitFPUnordGreaterThanEqual64(EmitContext& ctx, Id lhs, Id rhs); | ||||
| Id EmitFPIsNan32(EmitContext& ctx, Id value); | ||||
| Id EmitIAdd32(EmitContext& ctx, IR::Inst* inst, Id a, Id b); | ||||
| void EmitIAdd64(EmitContext& ctx); | ||||
| Id EmitISub32(EmitContext& ctx, Id a, Id b); | ||||
|   | ||||
| @@ -346,4 +346,8 @@ Id EmitFPUnordGreaterThanEqual64(EmitContext& ctx, Id lhs, Id rhs) { | ||||
|     return ctx.OpFUnordGreaterThanEqual(ctx.U1, lhs, rhs); | ||||
| } | ||||
|  | ||||
| Id EmitFPIsNan32(EmitContext& ctx, Id value) { | ||||
|     return ctx.OpIsNan(ctx.U1, value); | ||||
| } | ||||
|  | ||||
| } // namespace Shader::Backend::SPIRV | ||||
|   | ||||
		Reference in New Issue
	
	Block a user