summaryrefslogtreecommitdiff
path: root/subprojects/pixpat/pixpat-native/profiles
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>2026-05-08 17:22:58 +0300
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>2026-05-08 17:22:58 +0300
commit4e2b291a4acdc2cbd39f005c88bda363bc06bd34 (patch)
treee90048d5973ad1164b109d575cf577af7daf50be /subprojects/pixpat/pixpat-native/profiles
parent8f94b39040e79eccd9312ed1e467fe8ebfab8860 (diff)
parente0b7d30fd437292c88141fb08d60681870b86c6e (diff)
Merge commit 'e0b7d30fd437292c88141fb08d60681870b86c6e' as 'subprojects/pixpat'
Diffstat (limited to 'subprojects/pixpat/pixpat-native/profiles')
-rw-r--r--subprojects/pixpat/pixpat-native/profiles/no_hotpath.toml12
-rw-r--r--subprojects/pixpat/pixpat-native/profiles/pattern_only.toml11
-rw-r--r--subprojects/pixpat/pixpat-native/profiles/pixpat.toml31
-rw-r--r--subprojects/pixpat/pixpat-native/profiles/to_bgr888.toml17
4 files changed, 71 insertions, 0 deletions
diff --git a/subprojects/pixpat/pixpat-native/profiles/no_hotpath.toml b/subprojects/pixpat/pixpat-native/profiles/no_hotpath.toml
new file mode 100644
index 0000000..e6fdda9
--- /dev/null
+++ b/subprojects/pixpat/pixpat-native/profiles/no_hotpath.toml
@@ -0,0 +1,12 @@
+# Same as the default config, but with no hot pivots — every conversion
+# routes through the normalized (cold) path.
+
+hot_pivots = []
+patterns = ["kmstest", "smpte", "plain", "checker", "hramp", "vramp", "hbar", "vbar", "dramp", "zoneplate"]
+
+[features]
+pattern = true
+convert = true
+default_format_caps = "rw"
+
+[formats]
diff --git a/subprojects/pixpat/pixpat-native/profiles/pattern_only.toml b/subprojects/pixpat/pixpat-native/profiles/pattern_only.toml
new file mode 100644
index 0000000..4410f50
--- /dev/null
+++ b/subprojects/pixpat/pixpat-native/profiles/pattern_only.toml
@@ -0,0 +1,11 @@
+# kms++ profile: pattern drawing only, all formats targetable.
+
+hot_pivots = []
+patterns = ["kmstest", "smpte", "plain", "checker", "hramp", "vramp", "hbar", "vbar", "dramp", "zoneplate"]
+
+[features]
+pattern = true
+convert = false
+default_format_caps = "rw"
+
+[formats]
diff --git a/subprojects/pixpat/pixpat-native/profiles/pixpat.toml b/subprojects/pixpat/pixpat-native/profiles/pixpat.toml
new file mode 100644
index 0000000..fb27009
--- /dev/null
+++ b/subprojects/pixpat/pixpat-native/profiles/pixpat.toml
@@ -0,0 +1,31 @@
+# pixpat user config (consumed by gen_pixpat.py).
+#
+# This file expresses *selection*: which top-level features, which
+# hot pivots, which patterns, and per-format capability overrides.
+# The fixed catalog of formats (each one's Source/Sink/Layout) lives
+# in gen_pixpat.py and is the same across all profiles.
+
+# Hot pivots. Each named format gets fully-fused
+# Converter<Src, all-write-sinks> and Converter<all-read-sources, Snk>
+# instantiations. Empty list = every conversion takes the normalized
+# (cold) path.
+hot_pivots = ["BGR888"]
+
+# Patterns to compile in. The first entry is the default for
+# unrecognized pattern names. Empty list disables the pattern feature.
+patterns = ["kmstest", "smpte", "plain", "checker", "hramp", "vramp", "hbar", "vbar", "dramp", "zoneplate"]
+
+[features]
+# Top-level toggles. False stubs the matching C entry point to -1.
+pattern = true
+convert = true
+
+# Default capability ("rw", "r", "w", "off") applied to every format
+# in the catalog. Per-format overrides go in the [formats] table.
+default_format_caps = "rw"
+
+# Per-format capability overrides. Anything not listed uses
+# default_format_caps. Use "off" to drop a format entirely.
+[formats]
+# RGB888 = "r" # readable only
+# YUV420 = "off" # not in this build
diff --git a/subprojects/pixpat/pixpat-native/profiles/to_bgr888.toml b/subprojects/pixpat/pixpat-native/profiles/to_bgr888.toml
new file mode 100644
index 0000000..66fbcae
--- /dev/null
+++ b/subprojects/pixpat/pixpat-native/profiles/to_bgr888.toml
@@ -0,0 +1,17 @@
+# "Decode many formats into BGR888" profile.
+#
+# - convert is on, pattern is off
+# - BGR888 is the only writable format (so all conversions land there)
+# - every other format is readable only — no per-format Sink instantiations
+# - BGR888 hot pivot fuses every (read-only-source → BGR888) loop
+
+hot_pivots = ["BGR888"]
+patterns = []
+
+[features]
+pattern = false
+convert = true
+default_format_caps = "r"
+
+[formats]
+BGR888 = "w"