glsl: Enable early fragment tests
This commit is contained in:
		| @@ -266,6 +266,9 @@ EmitContext::EmitContext(IR::Program& program, Bindings& bindings, const Profile | ||||
|     case Stage::Fragment: | ||||
|         stage_name = "fs"; | ||||
|         position_name = "gl_FragCoord"; | ||||
|         if (runtime_info.force_early_z) { | ||||
|             header += "layout(early_fragment_tests)in;"; | ||||
|         } | ||||
|         break; | ||||
|     case Stage::Compute: | ||||
|         stage_name = "cs"; | ||||
|   | ||||
| @@ -47,17 +47,17 @@ void EmitFPAdd16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& i | ||||
|  | ||||
| void EmitFPAdd32(EmitContext& ctx, IR::Inst& inst, std::string_view a, std::string_view b) { | ||||
|     if (Precise(inst)) { | ||||
|         ctx.AddPrecF32("{}=float({})+float({});", inst, a, b); | ||||
|         ctx.AddPrecF32("{}={}+{};", inst, a, b); | ||||
|     } else { | ||||
|         ctx.AddF32("{}=float({})+float({});", inst, a, b); | ||||
|         ctx.AddF32("{}={}+{};", inst, a, b); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void EmitFPAdd64(EmitContext& ctx, IR::Inst& inst, std::string_view a, std::string_view b) { | ||||
|     if (Precise(inst)) { | ||||
|         ctx.AddPrecF64("{}=double({})+double({});", inst, a, b); | ||||
|         ctx.AddPrecF64("{}={}+{};", inst, a, b); | ||||
|     } else { | ||||
|         ctx.AddF64("{}=double({})+double({});", inst, a, b); | ||||
|         ctx.AddF64("{}={}+{};", inst, a, b); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user