import { Fragment } from "react"; import {Component} from "react"; import { ToggleField, SliderField, PanelSectionRow, staticClasses, } from "decky-frontend-lib"; import * as backend from "../backend"; import { LIMITS_INFO, SLOW_PPT_GPU, FAST_PPT_GPU, CLOCK_MIN_GPU, CLOCK_MAX_GPU, SLOW_MEMORY_GPU, } from "../consts"; import { set_value, get_value} from "usdpl-front"; export class Gpu extends Component<{}> { constructor(props: {}) { super(props); this.state = { reloadThingy: "/shrug", }; } render() { const reloadGUI = (x: string) => this.setState({reloadThingy: x}); return ( {/* GPU */}
GPU
{ ((get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.fast_ppt_limits != null ||(get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.slow_ppt_limits != null) && { if (value) { if ((get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.slow_ppt_limits != null) { set_value(SLOW_PPT_GPU, (get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.slow_ppt_limits!.max); } if ((get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.fast_ppt_limits != null) { set_value(FAST_PPT_GPU, (get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.fast_ppt_limits!.max); } reloadGUI("GPUPPTToggle"); } else { set_value(SLOW_PPT_GPU, null); set_value(FAST_PPT_GPU, null); backend.resolve(backend.unsetGpuPpt(), (_: any[]) => { reloadGUI("GPUUnsetPPT"); }); } }} /> } { get_value(SLOW_PPT_GPU) != null && { backend.log(backend.LogLevel.Debug, "SlowPPT is now " + ppt.toString()); const pptNow = get_value(SLOW_PPT_GPU); const realPpt = ppt; if (realPpt != pptNow) { backend.resolve(backend.setGpuPpt(get_value(FAST_PPT_GPU), realPpt), (limits: number[]) => { set_value(FAST_PPT_GPU, limits[0]); set_value(SLOW_PPT_GPU, limits[1]); reloadGUI("GPUSlowPPT"); }); } }} />} {get_value(FAST_PPT_GPU) != null && { backend.log(backend.LogLevel.Debug, "FastPPT is now " + ppt.toString()); const pptNow = get_value(FAST_PPT_GPU); const realPpt = ppt; if (realPpt != pptNow) { backend.resolve(backend.setGpuPpt(realPpt, get_value(SLOW_PPT_GPU)), (limits: number[]) => { set_value(FAST_PPT_GPU, limits[0]); set_value(SLOW_PPT_GPU, limits[1]); reloadGUI("GPUFastPPT"); }); } }} />} {((get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.clock_min_limits != null || (get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.clock_max_limits != null) && { if (value) { let clock_min_limits = (get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.clock_min_limits; let clock_max_limits = (get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.clock_max_limits; if (clock_min_limits != null) { set_value(CLOCK_MIN_GPU, clock_min_limits.min); } if (clock_max_limits != null) { set_value(CLOCK_MAX_GPU, clock_max_limits.max); } reloadGUI("GPUFreqToggle"); } else { set_value(CLOCK_MIN_GPU, null); set_value(CLOCK_MAX_GPU, null); backend.resolve(backend.unsetGpuClockLimits(), (_: any[]) => { reloadGUI("GPUUnsetFreq"); }); } }} /> } { get_value(CLOCK_MIN_GPU) != null && { backend.log(backend.LogLevel.Debug, "GPU Clock Min is now " + val.toString()); const valNow = get_value(CLOCK_MIN_GPU); if (val != valNow) { backend.resolve(backend.setGpuClockLimits(val, get_value(CLOCK_MAX_GPU)), (limits: number[]) => { set_value(CLOCK_MIN_GPU, limits[0]); set_value(CLOCK_MAX_GPU, limits[1]); reloadGUI("GPUMinClock"); }); } }} />} {get_value(CLOCK_MAX_GPU) != null && { backend.log(backend.LogLevel.Debug, "GPU Clock Max is now " + val.toString()); const valNow = get_value(CLOCK_MAX_GPU); if (val != valNow) { backend.resolve(backend.setGpuClockLimits(get_value(CLOCK_MIN_GPU), val), (limits: number[]) => { set_value(CLOCK_MIN_GPU, limits[0]); set_value(CLOCK_MAX_GPU, limits[1]); reloadGUI("GPUMaxClock"); }); } }} />} {(get_value(LIMITS_INFO) as backend.SettingsLimits).gpu.memory_control_capable && { backend.resolve(backend.setGpuSlowMemory(value), (val: boolean) => { set_value(SLOW_MEMORY_GPU, val); reloadGUI("GPUSlowMemory"); }) }} /> }
); } }