mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-12 14:18:31 +09:00
[Fix] (Pipe): refuse an eighth sticky row at compile time - the forwarded count equals the generated sticky count
- kMGPipeForwardedFieldCount = 7 was a hand-written twin of the generated kMGPipeInputStickyFieldCount, tied only by PipeCatalogue.StickyFieldsAreExactlyTheSeven; a static_assert in the header makes a PipeFields.def sticky row without a forwarder a build error instead of a test failure.
This commit is contained in:
@@ -130,7 +130,11 @@ namespace MobileGL::MG_Pipe {
|
|||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
// The seven F-class fields, for the arithmetic below and for the sticky table's proof.
|
// The seven F-class fields, for the arithmetic below and for the sticky table's proof.
|
||||||
|
// The forwarded set IS the sticky set (PipeFields.def marks the same seven rows F and
|
||||||
|
// sticky), so an eighth sticky row without a forwarder is refused here, not by a test.
|
||||||
inline constexpr SizeT kMGPipeForwardedFieldCount = 7;
|
inline constexpr SizeT kMGPipeForwardedFieldCount = 7;
|
||||||
|
static_assert(kMGPipeForwardedFieldCount == kMGPipeInputStickyFieldCount,
|
||||||
|
"the forwarded (F-class) fields and the sticky fields of PipeFields.def are the same seven rows");
|
||||||
|
|
||||||
// The block the backends read instead of GLContext (ARCHITECTURE.md 9.2 phase A, P1 brief
|
// The block the backends read instead of GLContext (ARCHITECTURE.md 9.2 phase A, P1 brief
|
||||||
// D4). One struct, three storage classes, and every accessor keeps the NAME, PARAMETERS
|
// D4). One struct, three storage classes, and every accessor keeps the NAME, PARAMETERS
|
||||||
|
|||||||
Reference in New Issue
Block a user