metal: implement tearing
This commit is contained in:
parent
d355059ad9
commit
49f6304716
31 changed files with 726 additions and 51 deletions
|
|
@ -581,6 +581,10 @@
|
|||
"vrr": {
|
||||
"description": "Configures the default VRR settings.\n\nThis can be overwritten for individual outputs.\n\nBy default, the VRR mode is `never` and the cursor refresh rate is unbounded.\n\n- Example:\n \n ```toml\n vrr = { mode = \"always\", cursor-hz = 90 }\n ```\n",
|
||||
"$ref": "#/$defs/Vrr"
|
||||
},
|
||||
"tearing": {
|
||||
"description": "Configures the default tearing settings.\n\nThis can be overwritten for individual outputs.\n\nBy default, the tearing mode is `variant3`.\n\n- Example:\n\n ```toml\n tearing.mode = \"never\"\n ```\n",
|
||||
"$ref": "#/$defs/Tearing"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
|
|
@ -1031,6 +1035,10 @@
|
|||
"vrr": {
|
||||
"description": "Configures the VRR settings of this output.\n\nBy default, the VRR mode is `never` and the cursor refresh rate is unbounded.\n\n- Example:\n\n ```toml\n [[outputs]]\n match.serial-number = \"33K03894SL0\"\n vrr = { mode = \"always\", cursor-hz = 90 }\n ```\n",
|
||||
"$ref": "#/$defs/Vrr"
|
||||
},
|
||||
"tearing": {
|
||||
"description": "Configures the tearing settings of this output.\n\nBy default, the tearing mode is `variant3`.\n\n- Example:\n\n ```toml\n [[outputs]]\n match.serial-number = \"33K03894SL0\"\n tearing.mode = \"never\"\n ```\n",
|
||||
"$ref": "#/$defs/Tearing"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
@ -1148,6 +1156,28 @@
|
|||
"exec"
|
||||
]
|
||||
},
|
||||
"Tearing": {
|
||||
"description": "Describes tearing settings.\n\n- Example:\n\n ```toml\n tearing.mode = \"never\"\n ```\n",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mode": {
|
||||
"description": "The tearing mode.",
|
||||
"$ref": "#/$defs/TearingMode"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
},
|
||||
"TearingMode": {
|
||||
"type": "string",
|
||||
"description": "The tearing mode of an output.\n\n- Example:\n\n ```toml\n tearing.mode = \"never\"\n ```\n",
|
||||
"enum": [
|
||||
"always",
|
||||
"never",
|
||||
"variant1",
|
||||
"variant2",
|
||||
"variant3"
|
||||
]
|
||||
},
|
||||
"Theme": {
|
||||
"description": "The theme of the compositor.\n",
|
||||
"type": "object",
|
||||
|
|
|
|||
|
|
@ -1126,6 +1126,22 @@ The table has the following fields:
|
|||
|
||||
The value of this field should be a [Vrr](#types-Vrr).
|
||||
|
||||
- `tearing` (optional):
|
||||
|
||||
Configures the default tearing settings.
|
||||
|
||||
This can be overwritten for individual outputs.
|
||||
|
||||
By default, the tearing mode is `variant3`.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
The value of this field should be a [Tearing](#types-Tearing).
|
||||
|
||||
|
||||
<a name="types-Connector"></a>
|
||||
### `Connector`
|
||||
|
|
@ -2198,6 +2214,22 @@ The table has the following fields:
|
|||
|
||||
The value of this field should be a [Vrr](#types-Vrr).
|
||||
|
||||
- `tearing` (optional):
|
||||
|
||||
Configures the tearing settings of this output.
|
||||
|
||||
By default, the tearing mode is `variant3`.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
[[outputs]]
|
||||
match.serial-number = "33K03894SL0"
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
The value of this field should be a [Tearing](#types-Tearing).
|
||||
|
||||
|
||||
<a name="types-OutputMatch"></a>
|
||||
### `OutputMatch`
|
||||
|
|
@ -2532,6 +2564,66 @@ The table has the following fields:
|
|||
The value of this field should be a string.
|
||||
|
||||
|
||||
<a name="types-Tearing"></a>
|
||||
### `Tearing`
|
||||
|
||||
Describes tearing settings.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
Values of this type should be tables.
|
||||
|
||||
The table has the following fields:
|
||||
|
||||
- `mode` (optional):
|
||||
|
||||
The tearing mode.
|
||||
|
||||
The value of this field should be a [TearingMode](#types-TearingMode).
|
||||
|
||||
|
||||
<a name="types-TearingMode"></a>
|
||||
### `TearingMode`
|
||||
|
||||
The tearing mode of an output.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
Values of this type should be strings.
|
||||
|
||||
The string should have one of the following values:
|
||||
|
||||
- `always`:
|
||||
|
||||
Tearing is never enabled.
|
||||
|
||||
- `never`:
|
||||
|
||||
Tearing is always enabled.
|
||||
|
||||
- `variant1`:
|
||||
|
||||
Tearing is enabled when one or more applications are displayed fullscreen.
|
||||
|
||||
- `variant2`:
|
||||
|
||||
Tearing is enabled when a single application is displayed fullscreen.
|
||||
|
||||
- `variant3`:
|
||||
|
||||
Tearing is enabled when a single application is displayed and the application has
|
||||
requested tearing.
|
||||
|
||||
|
||||
|
||||
<a name="types-Theme"></a>
|
||||
### `Theme`
|
||||
|
||||
|
|
|
|||
|
|
@ -1573,6 +1573,21 @@ Output:
|
|||
match.serial-number = "33K03894SL0"
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
tearing:
|
||||
ref: Tearing
|
||||
required: false
|
||||
description: |
|
||||
Configures the tearing settings of this output.
|
||||
|
||||
By default, the tearing mode is `variant3`.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
[[outputs]]
|
||||
match.serial-number = "33K03894SL0"
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
|
||||
Transform:
|
||||
|
|
@ -2180,6 +2195,21 @@ Config:
|
|||
```toml
|
||||
vrr = { mode = "always", cursor-hz = 90 }
|
||||
```
|
||||
tearing:
|
||||
ref: Tearing
|
||||
required: false
|
||||
description: |
|
||||
Configures the default tearing settings.
|
||||
|
||||
This can be overwritten for individual outputs.
|
||||
|
||||
By default, the tearing mode is `variant3`.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
|
||||
|
||||
Idle:
|
||||
|
|
@ -2367,3 +2397,45 @@ VrrHz:
|
|||
description: The string `none` can be used to disable the limiter.
|
||||
- kind: number
|
||||
description: The refresh rate in HZ.
|
||||
|
||||
|
||||
Tearing:
|
||||
kind: table
|
||||
description: |
|
||||
Describes tearing settings.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
fields:
|
||||
mode:
|
||||
ref: TearingMode
|
||||
required: false
|
||||
description: The tearing mode.
|
||||
|
||||
|
||||
TearingMode:
|
||||
description: |
|
||||
The tearing mode of an output.
|
||||
|
||||
- Example:
|
||||
|
||||
```toml
|
||||
tearing.mode = "never"
|
||||
```
|
||||
kind: string
|
||||
values:
|
||||
- value: always
|
||||
description: Tearing is never enabled.
|
||||
- value: never
|
||||
description: Tearing is always enabled.
|
||||
- value: variant1
|
||||
description: Tearing is enabled when one or more applications are displayed fullscreen.
|
||||
- value: variant2
|
||||
description: Tearing is enabled when a single application is displayed fullscreen.
|
||||
- value: variant3
|
||||
description: |
|
||||
Tearing is enabled when a single application is displayed and the application has
|
||||
requested tearing.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue