summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-08-05 12:36:50 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-08-05 12:36:50 -0400
commit3688c8bd07af67a00748c87581c80c5125d9273a (patch)
treee54b12e71e72ee138afed11f569041b829fee77b /src
parent3c87b012eee2441eaa9fdf68ed1919fb1f528b6a (diff)
downloaddecky-lsfg-vk-3688c8bd07af67a00748c87581c80c5125d9273a.tar.gz
decky-lsfg-vk-3688c8bd07af67a00748c87581c80c5125d9273a.zip
feat: groundwork for fp16 feature in lsfg-vk
Diffstat (limited to 'src')
-rw-r--r--src/components/ConfigurationSection.tsx11
-rw-r--r--src/config/configSchema.ts2
-rw-r--r--src/config/generatedConfigSchema.ts10
3 files changed, 21 insertions, 2 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index 93d13a3..31ce278 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -4,7 +4,7 @@ import { RiArrowDownSFill, RiArrowUpSFill } from "react-icons/ri";
import { ConfigurationData } from "../config/configSchema";
import { FpsMultiplierControl } from "./FpsMultiplierControl";
import {
- FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
+ NO_FP16, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE,
MANGOHUD_WORKAROUND, DISABLE_VKBASALT, FORCE_ENABLE_VKBASALT, ENABLE_WSI
} from "../config/generatedConfigSchema";
@@ -115,6 +115,15 @@ export function ConfigurationSection({
<PanelSectionRow>
<ToggleField
+ label="Force Disable FP16"
+ description="Force-disable FP16 acceleration"
+ checked={config.no_fp16}
+ onChange={(value) => onConfigChange(NO_FP16, value)}
+ />
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <ToggleField
label="HDR Mode"
description={config.enable_wsi ? "Enables HDR mode (only for games that support HDR)" : "Enable WSI in the workarounds menu to unlock HDR toggle"}
checked={config.hdr_mode}
diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts
index ed590df..b6ed9bb 100644
--- a/src/config/configSchema.ts
+++ b/src/config/configSchema.ts
@@ -20,7 +20,7 @@ export {
getDefaults,
getFieldTypes,
// Field name constants for type-safe access
- DLL, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
+ DLL, NO_FP16, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, ENABLE_WOW64,
DISABLE_STEAMDECK_MODE, MANGOHUD_WORKAROUND, DISABLE_VKBASALT,
FORCE_ENABLE_VKBASALT, ENABLE_WSI
diff --git a/src/config/generatedConfigSchema.ts b/src/config/generatedConfigSchema.ts
index 866558c..004d5dd 100644
--- a/src/config/generatedConfigSchema.ts
+++ b/src/config/generatedConfigSchema.ts
@@ -9,6 +9,7 @@ export enum ConfigFieldType {
// Field name constants for type-safe access
export const DLL = "dll" as const;
+export const NO_FP16 = "no_fp16" as const;
export const MULTIPLIER = "multiplier" as const;
export const FLOW_SCALE = "flow_scale" as const;
export const PERFORMANCE_MODE = "performance_mode" as const;
@@ -38,6 +39,12 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = {
default: "/games/Lossless Scaling/Lossless.dll",
description: "specify where Lossless.dll is stored"
},
+ no_fp16: {
+ name: "no_fp16",
+ fieldType: ConfigFieldType.BOOLEAN,
+ default: false,
+ description: "force-disable fp16 (use on older nvidia cards)"
+ },
multiplier: {
name: "multiplier",
fieldType: ConfigFieldType.INTEGER,
@@ -115,6 +122,7 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = {
// Type-safe configuration data structure
export interface ConfigurationData {
dll: string;
+ no_fp16: boolean;
multiplier: number;
flow_scale: number;
performance_mode: boolean;
@@ -137,6 +145,7 @@ export function getFieldNames(): string[] {
export function getDefaults(): ConfigurationData {
return {
dll: "/games/Lossless Scaling/Lossless.dll",
+ no_fp16: false,
multiplier: 1,
flow_scale: 0.8,
performance_mode: true,
@@ -155,6 +164,7 @@ export function getDefaults(): ConfigurationData {
export function getFieldTypes(): Record<string, ConfigFieldType> {
return {
dll: ConfigFieldType.STRING,
+ no_fp16: ConfigFieldType.BOOLEAN,
multiplier: ConfigFieldType.INTEGER,
flow_scale: ConfigFieldType.FLOAT,
performance_mode: ConfigFieldType.BOOLEAN,