summaryrefslogtreecommitdiff
path: root/src/components/ConfigurationSection.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ConfigurationSection.tsx')
-rw-r--r--src/components/ConfigurationSection.tsx46
1 files changed, 45 insertions, 1 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index deb8fba..76b9bc2 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -1,4 +1,4 @@
-import { PanelSectionRow, ToggleField, SliderField, TextField } from "@decky/ui";
+import { PanelSectionRow, ToggleField, SliderField, Dropdown } from "@decky/ui";
import { ConfigurationData } from "../config/configSchema";
interface ConfigurationSectionProps {
@@ -93,6 +93,50 @@ export function ConfigurationSection({
onChange={(value) => onConfigChange('hdr_mode', value)}
/>
</PanelSectionRow>
+
+ {/* Experimental Features Section */}
+ <PanelSectionRow>
+ <div
+ style={{
+ fontSize: "14px",
+ fontWeight: "bold",
+ marginTop: "24px",
+ marginBottom: "8px",
+ borderBottom: "1px solid rgba(255, 165, 0, 0.4)",
+ paddingBottom: "4px",
+ color: "rgba(255, 165, 0, 0.9)"
+ }}
+ >
+ ⚠️ Experimental Features
+ </div>
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <Dropdown
+ menuLabel="Present Mode"
+ selectedOption={config.experimental_present_mode}
+ onChange={(value) => onConfigChange('experimental_present_mode', value.data)}
+ rgOptions={[
+ { data: "", label: "Default (FIFO)" },
+ { data: "fifo", label: "FIFO" },
+ { data: "vsync", label: "VSync" },
+ { data: "mailbox", label: "Mailbox" },
+ { data: "immediate", label: "Immediate" }
+ ]}
+ />
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <SliderField
+ label={`FPS Limit${config.experimental_fps_limit > 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`}
+ description="Base framerate cap for DXVK games, before frame multiplier (0 = disabled)"
+ value={config.experimental_fps_limit}
+ min={0}
+ max={60}
+ step={1}
+ onChange={(value) => onConfigChange('experimental_fps_limit', value)}
+ />
+ </PanelSectionRow>
</>
);
}