1
0
Fork 0
forked from wry/wry

metal: allow configuring color space and transfer function

This commit is contained in:
Julian Orth 2025-03-11 14:54:35 +01:00
parent 04f280aabe
commit bb56efb968
38 changed files with 1365 additions and 160 deletions

View file

@ -438,6 +438,14 @@
},
"required": []
},
"ColorSpace": {
"type": "string",
"description": "The color space of an output.\n",
"enum": [
"default",
"bt2020"
]
},
"ComplexShortcut": {
"description": "Describes a complex shortcut.\n\n- Example:\n\n ```toml\n [complex-shortcuts.XF86AudioRaiseVolume]\n mod-mask = \"alt\"\n action = { type = \"exec\", exec = [\"pactl\", \"set-sink-volume\", \"0\", \"+10%\"] }\n ```\n",
"type": "object",
@ -1152,6 +1160,14 @@
"format": {
"description": "Configures the framebuffer format of this output.\n\nBy default, the format is `xrgb8888`.\n\n- Example:\n\n ```toml\n [[outputs]]\n match.serial-number = \"33K03894SL0\"\n format = \"rgb565\"\n ```\n",
"$ref": "#/$defs/Format"
},
"color-space": {
"description": "The color space of the output.\n",
"$ref": "#/$defs/ColorSpace"
},
"transfer-function": {
"description": "The transfer function of the output.\n",
"$ref": "#/$defs/TransferFunction"
}
},
"required": [
@ -1372,6 +1388,14 @@
},
"required": []
},
"TransferFunction": {
"type": "string",
"description": "The transfer function of an output.\n",
"enum": [
"default",
"pq"
]
},
"Transform": {
"type": "string",
"description": "An output transformation.",

View file

@ -617,6 +617,25 @@ The table has the following fields:
The value of this field should be a boolean.
<a name="types-ColorSpace"></a>
### `ColorSpace`
The color space of an output.
Values of this type should be strings.
The string should have one of the following values:
- `default`:
The default color space (usually sRGB).
- `bt2020`:
The BT.2020 color space.
<a name="types-ComplexShortcut"></a>
### `ComplexShortcut`
@ -2530,6 +2549,18 @@ The table has the following fields:
The value of this field should be a [Format](#types-Format).
- `color-space` (optional):
The color space of the output.
The value of this field should be a [ColorSpace](#types-ColorSpace).
- `transfer-function` (optional):
The transfer function of the output.
The value of this field should be a [TransferFunction](#types-TransferFunction).
<a name="types-OutputMatch"></a>
### `OutputMatch`
@ -3050,6 +3081,25 @@ The table has the following fields:
The value of this field should be a string.
<a name="types-TransferFunction"></a>
### `TransferFunction`
The transfer function of an output.
Values of this type should be strings.
The string should have one of the following values:
- `default`:
The default transfer function (usually sRGB).
- `pq`:
The PQ transfer function.
<a name="types-Transform"></a>
### `Transform`

View file

@ -1631,6 +1631,16 @@ Output:
match.serial-number = "33K03894SL0"
format = "rgb565"
```
color-space:
ref: ColorSpace
required: false
description: |
The color space of the output.
transfer-function:
ref: TransferFunction
required: false
description: |
The transfer function of the output.
Transform:
@ -2762,3 +2772,25 @@ ColorManagement:
The default is `false`.
kind: boolean
required: false
ColorSpace:
description: |
The color space of an output.
kind: string
values:
- value: default
description: The default color space (usually sRGB).
- value: bt2020
description: The BT.2020 color space.
TransferFunction:
description: |
The transfer function of an output.
kind: string
values:
- value: default
description: The default transfer function (usually sRGB).
- value: pq
description: The PQ transfer function.