video_core: Generate mipmap texture by drawing
This commit is contained in:
		| @@ -450,6 +450,9 @@ std::string EmitGLASM(const Profile& profile, const RuntimeInfo& runtime_info, I | ||||
|     if (program.info.uses_rescaling_uniform) { | ||||
|         header += "PARAM scaling[1]={program.local[0..0]};"; | ||||
|     } | ||||
|     if (program.info.uses_render_area) { | ||||
|         header += "PARAM render_area[1]={program.local[1..1]};"; | ||||
|     } | ||||
|     header += "TEMP "; | ||||
|     for (size_t index = 0; index < ctx.reg_alloc.NumUsedRegisters(); ++index) { | ||||
|         header += fmt::format("R{},", index); | ||||
|   | ||||
| @@ -379,6 +379,10 @@ void EmitResolutionDownFactor(EmitContext& ctx, IR::Inst& inst) { | ||||
|     ctx.Add("MOV.F {}.x,scaling[0].z;", inst); | ||||
| } | ||||
|  | ||||
| void EmitRenderArea(EmitContext& ctx, IR::Inst& inst) { | ||||
|     ctx.Add("MOV.F {},render_area[0];", inst); | ||||
| } | ||||
|  | ||||
| void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset) { | ||||
|     ctx.Add("MOV.U {},lmem[{}].x;", inst, word_offset); | ||||
| } | ||||
|   | ||||
| @@ -73,6 +73,7 @@ void EmitSampleId(EmitContext& ctx, IR::Inst& inst); | ||||
| void EmitIsHelperInvocation(EmitContext& ctx, IR::Inst& inst); | ||||
| void EmitYDirection(EmitContext& ctx, IR::Inst& inst); | ||||
| void EmitResolutionDownFactor(EmitContext& ctx, IR::Inst& inst); | ||||
| void EmitRenderArea(EmitContext& ctx, IR::Inst& inst); | ||||
| void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); | ||||
| void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); | ||||
| void EmitUndefU1(EmitContext& ctx, IR::Inst& inst); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user