|
2 | 2 | -- each member selected by a feature. |
3 | 3 | -- |
4 | 4 | -- [dependencies.mcpp] |
5 | | --- plugins = { version = "0.2.6", features = ["rules-spirv"], host-module = true } |
| 5 | +-- plugins = { version = "0.3.0", features = ["rules-spirv"], host-module = true } |
6 | 6 | -- |
7 | 7 | -- // build.mcpp |
8 | 8 | -- import mcpp; |
9 | 9 | -- import mcpp.rules.spirv; |
10 | 10 | -- |
11 | | --- Members of 0.2.6, with the mcpp release each relies on: |
| 11 | +-- 0.3.0 is the release in which an embedded payload is reached by IMPORTING a |
| 12 | +-- module rather than by including a header whose name the rule chose. It also |
| 13 | +-- adds two members and the two declarations that let a rule package introduce a |
| 14 | +-- device language on its own. It requires **mcpp 2026.9.7.1**, which is where |
| 15 | +-- those declarations are read. |
| 16 | +-- |
| 17 | +-- mcpp.rules.slang `rules-slang` >= 2026.9.7.1. Slang is a language rather |
| 18 | +-- than a second driver for GLSL -- its own |
| 19 | +-- module system, generics, and targets |
| 20 | +-- beyond SPIR-V -- so it has its own rule |
| 21 | +-- and its own extension. `.slang` is NOT in |
| 22 | +-- the engine's built-in table: this feature |
| 23 | +-- declares `device_extensions = [".slang"]` |
| 24 | +-- and `rule_module = "mcpp.rules.slang"`, |
| 25 | +-- and the engine routes it from there. That |
| 26 | +-- is the criterion for the whole |
| 27 | +-- arrangement -- a new device language costs |
| 28 | +-- no engine release |
| 29 | +-- mcpp.tools.island `tools-island` >= 2026.9.7.1. Generates the `extern "C"` |
| 30 | +-- boundary a device island is reached |
| 31 | +-- across: the header its compiler reads and |
| 32 | +-- the module the C++ side imports, from |
| 33 | +-- declarations marked where they are |
| 34 | +-- defined. Handed both halves of a seam, it |
| 35 | +-- refuses two that declare one name |
| 36 | +-- differently -- the only check available at |
| 37 | +-- a boundary where C linkage does not mangle |
| 38 | +-- and the two halves never meet at the link |
| 39 | +-- |
| 40 | +-- Every rule that generates a consumer-facing declaration now chooses a module |
| 41 | +-- interface or a header from `[language] modules`, which the engine reports; and |
| 42 | +-- a project that declares its rules needs no `build.mcpp` at all, because mcpp |
| 43 | +-- writes the program those declarations describe. |
| 44 | +-- |
| 45 | +-- Members of 0.3.0, with the mcpp release each relies on: |
12 | 46 | -- |
13 | 47 | -- mcpp.rules.cuda `rules-cuda` >= 2026.9.5.2 |
14 | 48 | -- mcpp.rules.spirv `rules-spirv` >= 2026.9.5.3; since 0.2.0 it drives glslc |
|
174 | 208 | -- adds the engine's half -- a device source that reached no action is refused, |
175 | 209 | -- naming the file -- but a rule package does not require it to work. |
176 | 210 | -- |
177 | | --- The floor is the HIGHEST of those, and from 0.2.4 every member shares one: |
178 | | --- 2026.9.6.6. It is DOCUMENTATION rather than a gate -- nothing in this |
| 211 | +-- The floor is the HIGHEST of those, and from 0.3.0 every member shares one: |
| 212 | +-- 2026.9.7.1 -- the release that reads `device_extensions` and `rule_module`, |
| 213 | +-- reports `[language] modules` and the package's own name to a build program, |
| 214 | +-- and writes the build program a declared rule set describes. A client below it |
| 215 | +-- does not see a degraded surface, it sees the rules never route: the file falls |
| 216 | +-- through to the ordinary source scan and mcpp says it has no role for the |
| 217 | +-- extension. It is DOCUMENTATION rather than a gate -- nothing in this |
179 | 218 | -- descriptor or in the package's manifest records a per-package engine floor, |
180 | 219 | -- and the index-level `min_mcpp` is deliberately not raised for a package |
181 | 220 | -- (raising it would make the whole index unreadable to clients stopped below |
@@ -209,6 +248,13 @@ package = { |
209 | 248 |
|
210 | 249 | xpm = { |
211 | 250 | linux = { |
| 251 | + ["0.3.0"] = { |
| 252 | + url = { |
| 253 | + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.3.0.tar.gz", |
| 254 | + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.3.0/mcpp-plugins-0.3.0.tar.gz", |
| 255 | + }, |
| 256 | + sha256 = "c4ce00e2b79c43ee4a08a8876a8ab7113f41081895a6036dfede6aa7719d731b", |
| 257 | + }, |
212 | 258 | ["0.2.6"] = { |
213 | 259 | url = { |
214 | 260 | GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.6.tar.gz", |
@@ -272,9 +318,16 @@ package = { |
272 | 318 | }, |
273 | 319 | sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5", |
274 | 320 | }, |
275 | | - ["latest"] = { ref = "0.2.6" }, |
| 321 | + ["latest"] = { ref = "0.3.0" }, |
276 | 322 | }, |
277 | 323 | macosx = { |
| 324 | + ["0.3.0"] = { |
| 325 | + url = { |
| 326 | + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.3.0.tar.gz", |
| 327 | + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.3.0/mcpp-plugins-0.3.0.tar.gz", |
| 328 | + }, |
| 329 | + sha256 = "c4ce00e2b79c43ee4a08a8876a8ab7113f41081895a6036dfede6aa7719d731b", |
| 330 | + }, |
278 | 331 | ["0.2.6"] = { |
279 | 332 | url = { |
280 | 333 | GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.6.tar.gz", |
@@ -338,9 +391,16 @@ package = { |
338 | 391 | }, |
339 | 392 | sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5", |
340 | 393 | }, |
341 | | - ["latest"] = { ref = "0.2.6" }, |
| 394 | + ["latest"] = { ref = "0.3.0" }, |
342 | 395 | }, |
343 | 396 | windows = { |
| 397 | + ["0.3.0"] = { |
| 398 | + url = { |
| 399 | + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.3.0.tar.gz", |
| 400 | + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.3.0/mcpp-plugins-0.3.0.tar.gz", |
| 401 | + }, |
| 402 | + sha256 = "c4ce00e2b79c43ee4a08a8876a8ab7113f41081895a6036dfede6aa7719d731b", |
| 403 | + }, |
344 | 404 | ["0.2.6"] = { |
345 | 405 | url = { |
346 | 406 | GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.6.tar.gz", |
@@ -404,7 +464,7 @@ package = { |
404 | 464 | }, |
405 | 465 | sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5", |
406 | 466 | }, |
407 | | - ["latest"] = { ref = "0.2.6" }, |
| 467 | + ["latest"] = { ref = "0.3.0" }, |
408 | 468 | }, |
409 | 469 | }, |
410 | 470 |
|
|
0 commit comments