metal: implement VRR
This commit is contained in:
parent
cd09e57568
commit
2d7c13b0b4
35 changed files with 1320 additions and 91 deletions
|
|
@ -1110,6 +1110,22 @@ The table has the following fields:
|
|||
|
||||
The value of this field should be a string.
|
||||
|
||||
- `vrr` (optional):
|
||||
|
||||
Configures the default VRR settings.
|
||||
|
||||
This can be overwritten for individual outputs.
|
||||
|
||||
By default, the VRR mode is `never` and the cursor refresh rate is unbounded.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
|
||||
The value of this field should be a [Vrr](#types-Vrr).
|
||||
|
||||
|
||||
<a name="types-Connector"></a>
|
||||
### `Connector`
|
||||
|
|
@ -2166,6 +2182,22 @@ The table has the following fields:
|
|||
|
||||
The value of this field should be a [Mode](#types-Mode).
|
||||
|
||||
- `vrr` (optional):
|
||||
|
||||
Configures the VRR settings of this output.
|
||||
|
||||
By default, the VRR mode is `never` and the cursor refresh rate is unbounded.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
[[outputs]]
|
||||
match.serial-number = "33K03894SL0"
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
|
||||
The value of this field should be a [Vrr](#types-Vrr).
|
||||
|
||||
|
||||
<a name="types-OutputMatch"></a>
|
||||
### `OutputMatch`
|
||||
|
|
@ -2672,3 +2704,98 @@ The string should have one of the following values:
|
|||
|
||||
|
||||
|
||||
<a name="types-Vrr"></a>
|
||||
### `Vrr`
|
||||
|
||||
Describes VRR settings.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
|
||||
Values of this type should be tables.
|
||||
|
||||
The table has the following fields:
|
||||
|
||||
- `mode` (optional):
|
||||
|
||||
The VRR mode.
|
||||
|
||||
The value of this field should be a [VrrMode](#types-VrrMode).
|
||||
|
||||
- `cursor-hz` (optional):
|
||||
|
||||
The VRR cursor refresh rate.
|
||||
|
||||
Limits the rate at which cursors are updated on screen when VRR is active.
|
||||
|
||||
The value of this field should be a [VrrHz](#types-VrrHz).
|
||||
|
||||
|
||||
<a name="types-VrrHz"></a>
|
||||
### `VrrHz`
|
||||
|
||||
A VRR refresh rate limiter.
|
||||
|
||||
- Example 1:
|
||||
|
||||
```toml
|
||||
vrr = { cursor-hz = 90 }
|
||||
```
|
||||
|
||||
- Example 2:
|
||||
|
||||
```toml
|
||||
vrr = { cursor-hz = "none" }
|
||||
```
|
||||
|
||||
Values of this type should have one of the following forms:
|
||||
|
||||
#### A string
|
||||
|
||||
The string `none` can be used to disable the limiter.
|
||||
|
||||
#### A number
|
||||
|
||||
The refresh rate in HZ.
|
||||
|
||||
|
||||
<a name="types-VrrMode"></a>
|
||||
### `VrrMode`
|
||||
|
||||
The VRR mode of an output.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
|
||||
Values of this type should be strings.
|
||||
|
||||
The string should have one of the following values:
|
||||
|
||||
- `always`:
|
||||
|
||||
VRR is never enabled.
|
||||
|
||||
- `never`:
|
||||
|
||||
VRR is always enabled.
|
||||
|
||||
- `variant1`:
|
||||
|
||||
VRR is enabled when one or more applications are displayed fullscreen.
|
||||
|
||||
- `variant2`:
|
||||
|
||||
VRR is enabled when a single application is displayed fullscreen.
|
||||
|
||||
- `variant3`:
|
||||
|
||||
VRR is enabled when a single game or video is displayed fullscreen.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue