Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions downstream-pins.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@
"src/xrt/include/xrt/xrt_display_processor_d3d12.h",
"src/xrt/include/xrt/xrt_display_processor_gl.h",
"src/xrt/include/xrt/xrt_display_processor_metal.h",
"src/xrt/include/xrt/xrt_display_processor_vk.h"
"src/xrt/include/xrt/xrt_display_processor_vk.h",
"src/xrt/include/xrt/xrt_dp_lift.h"
]
},

Expand All @@ -81,14 +82,15 @@
"tracks": {
"windows": {
"bump_when": "features",
"reason": "The Windows plug-in guards new code on DP feature macros (XRT_DP_D3D11_HAS_*, XRT_DP_D3D12_HAS_*, ...), and ADR-020 appends a slot + macro WITHOUT bumping the plug-in ABI -- so the abi gate is blind to the change this track needs. Real case: runtime v2.25.2 appended set_overlay_2d (XRT_DP_D3D11_HAS_OVERLAY_2D, #1814) at ABI 5; at the then-pin v2.24.0 the plug-in's SR weaver 2D-compose forward compiled out and was repinned by hand (leia-plugin#295) -- the Linux track's #264 story again. Feature headers are every DP variant the Windows build compiles (D3D11, D3D12, GL, VK). Still gated, not tag-chasing: the installer's MIN_RUNTIME_VERSION follows this pin, so it moves only when the plug-in-facing feature surface did.",
"reason": "The Windows plug-in guards new code on DP feature macros (XRT_DP_D3D11_HAS_*, XRT_DP_D3D12_HAS_*, ...), and ADR-020 appends a slot + macro WITHOUT bumping the plug-in ABI -- so the abi gate is blind to the change this track needs. Real case: runtime v2.25.2 appended set_overlay_2d (XRT_DP_D3D11_HAS_OVERLAY_2D, #1814) at ABI 5; at the then-pin v2.24.0 the plug-in's SR weaver 2D-compose forward compiled out and was repinned by hand (leia-plugin#295) -- the Linux track's #264 story again. Feature headers are every DP variant the Windows build compiles (D3D11, D3D12, GL, VK) plus xrt_dp_lift.h, the lift contract the D3D11 DP implements (its XRT_DP_LIFT_HAS_* macros gate plug-in code too; v2.31.0 shipped XRT_DP_LIFT_HAS_VIEWPOINT_POLICY there and the gate skipped the repin, leia-plugin#317). Still gated, not tag-chasing: the installer's MIN_RUNTIME_VERSION follows this pin, so it moves only when the plug-in-facing feature surface did.",
"feature_headers": [
"src/xrt/include/xrt/xrt_plugin.h",
"src/xrt/include/xrt/xrt_display_processor.h",
"src/xrt/include/xrt/xrt_display_processor_d3d11.h",
"src/xrt/include/xrt/xrt_display_processor_d3d12.h",
"src/xrt/include/xrt/xrt_display_processor_gl.h",
"src/xrt/include/xrt/xrt_display_processor_vk.h"
"src/xrt/include/xrt/xrt_display_processor_vk.h",
"src/xrt/include/xrt/xrt_dp_lift.h"
],
"locations": [
{ "file": "CMakeLists.txt", "kind": "cmake_set", "key": "DXR_RUNTIME_GIT_TAG" },
Expand Down
5 changes: 4 additions & 1 deletion scripts/tests/test_downstream_pin_bump.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,11 @@ def test_feature_headers_exist(self):
def test_default_surface_covers_every_dp_header(self):
# A new graphics-API DP header that is not listed would be invisible to
# the features gate -- its new slots would never trigger a repin.
# xrt_dp_*.h are DP-side contracts (e.g. xrt_dp_lift.h) whose XRT_DP_*_HAS_*
# macros gate plug-in code exactly like the per-API vtable headers.
inc = REPO_ROOT / "src/xrt/include/xrt"
on_disk = {"src/xrt/include/xrt/" + p.name
for p in (REPO_ROOT / "src/xrt/include/xrt").glob("xrt_display_processor*.h")}
for pat in ("xrt_display_processor*.h", "xrt_dp_*.h") for p in inc.glob(pat)}
missing = on_disk - set(self.man["feature_surface"]["headers"])
self.assertFalse(missing, "add to downstream-pins.json feature_surface.headers: %s" % sorted(missing))

Expand Down
Loading