gl_texture_cache/rescaling_pass: minor cleanup
This commit is contained in:
		| @@ -82,18 +82,14 @@ void PatchFragCoord(IR::Block& block, IR::Inst& inst) { | ||||
|  | ||||
| [[nodiscard]] IR::U32 SubScale(IR::IREmitter& ir, const IR::U1& is_scaled, const IR::U32& value, | ||||
|                                const IR::Attribute attrib) { | ||||
|     if (Settings::values.resolution_info.active) { | ||||
|         const IR::F32 opt1{ir.Imm32(Settings::values.resolution_info.up_factor)}; | ||||
|         const IR::F32 base{ir.FPMul(ir.ConvertUToF(32, 32, value), opt1)}; | ||||
|         const IR::F32 frag_coord{ir.GetAttribute(attrib)}; | ||||
|         const IR::F32 opt2{ir.Imm32(Settings::values.resolution_info.down_factor)}; | ||||
|         const IR::F32 floor{ir.FPMul(opt1, ir.FPFloor(ir.FPMul(frag_coord, opt2)))}; | ||||
|         const IR::U32 deviation{ | ||||
|             ir.ConvertFToU(32, ir.FPAdd(base, ir.FPAdd(frag_coord, ir.FPNeg(floor))))}; | ||||
|         return IR::U32{ir.Select(is_scaled, deviation, value)}; | ||||
|     } else { | ||||
|         return value; | ||||
|     } | ||||
|     const IR::F32 opt1{ir.Imm32(Settings::values.resolution_info.up_factor)}; | ||||
|     const IR::F32 base{ir.FPMul(ir.ConvertUToF(32, 32, value), opt1)}; | ||||
|     const IR::F32 frag_coord{ir.GetAttribute(attrib)}; | ||||
|     const IR::F32 opt2{ir.Imm32(Settings::values.resolution_info.down_factor)}; | ||||
|     const IR::F32 floor{ir.FPMul(opt1, ir.FPFloor(ir.FPMul(frag_coord, opt2)))}; | ||||
|     const IR::U32 deviation{ | ||||
|         ir.ConvertFToU(32, ir.FPAdd(base, ir.FPAdd(frag_coord, ir.FPNeg(floor))))}; | ||||
|     return IR::U32{ir.Select(is_scaled, deviation, value)}; | ||||
| } | ||||
|  | ||||
| [[nodiscard]] IR::U32 DownScale(IR::IREmitter& ir, const IR::U1& is_scaled, IR::U32 value) { | ||||
|   | ||||
| @@ -474,8 +474,7 @@ TextureCacheRuntime::TextureCacheRuntime(const Device& device_, ProgramManager& | ||||
|     set_view(Shader::TextureType::ColorArrayCube, null_image_cube_array.handle); | ||||
|  | ||||
|     resolution = Settings::values.resolution_info; | ||||
|     is_rescaling_on = resolution.up_scale != 1 || resolution.down_shift != 0; | ||||
|     if (is_rescaling_on) { | ||||
|     if (resolution.active) { | ||||
|         rescale_draw_fbo.Create(); | ||||
|         rescale_read_fbo.Create(); | ||||
|  | ||||
| @@ -957,7 +956,7 @@ bool Image::ScaleUp() { | ||||
|     if (True(flags & ImageFlagBits::Rescaled)) { | ||||
|         return false; | ||||
|     } | ||||
|     if (!runtime->is_rescaling_on) { | ||||
|     if (!runtime->resolution.active) { | ||||
|         return false; | ||||
|     } | ||||
|     if (gl_format == 0 && gl_type == 0) { | ||||
|   | ||||
| @@ -156,7 +156,6 @@ private: | ||||
|     OGLFramebuffer rescale_draw_fbo; | ||||
|     OGLFramebuffer rescale_read_fbo; | ||||
|     Settings::ResolutionScalingInfo resolution; | ||||
|     bool is_rescaling_on{}; | ||||
| }; | ||||
|  | ||||
| class Image : public VideoCommon::ImageBase { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user