mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[Docs] (P11 M2): TextureEmit.h and the applier's accumulation name the one box-only record that is not a whole level - the oversize fallback's withheld cover, a partial box spanning gaps
This commit is contained in:
@@ -1479,11 +1479,15 @@ namespace MobileGL::MG_Pipe {
|
||||
// hold GPU writes (and otherwise it re-applies the storage's box-or-rects choice
|
||||
// itself, so the Mali job count is the server's call as before).
|
||||
//
|
||||
// 0 IS NOW THE WHOLE-LEVEL SPELLING ONLY: a footprint that is the whole level. Every
|
||||
// other write carries its boxes, a single one included, so that the applier's
|
||||
// accumulation (boxes union, lists concatenate, "0 regions" makes the entry box only)
|
||||
// never widens two exact contributions into their union box. A footprint larger than
|
||||
// one record may carry falls back to the storage's rect list - a COVER, stated once.
|
||||
// 0 IS NOW THE WHOLE-LEVEL SPELLING - a footprint that is the whole level - with one
|
||||
// exception (below). Every other write carries its boxes, a single one included, so the
|
||||
// applier's accumulation (boxes union, lists concatenate, "0 regions" makes the entry
|
||||
// box only) never widens two exact contributions into their union box. THE EXCEPTION:
|
||||
// a footprint larger than one record may carry (kMGPipeMaxPendingUploadRegions) falls
|
||||
// back to the storage's rect list - a COVER, stated once in the log - and when that list
|
||||
// is withheld (0: its rects fill 3/4 of the union box) this 0 is a PARTIAL, INEXACT
|
||||
// box. A reader that takes "box only" as "the client owns every texel of the box"
|
||||
// (AdoptDriverLevelIntoShadow's covering-box rule) is exact everywhere but here.
|
||||
//
|
||||
// READ AS BOXES, ONCE, because both shapes below want them in that form: the
|
||||
// whole-level record converts each one straight back through MGPipeBuildSubRegion,
|
||||
|
||||
@@ -902,8 +902,12 @@ namespace MobileGL::MG_Pipe {
|
||||
if (entry.UploadTarget != record.Target || entry.Level != record.Level) continue;
|
||||
entry.UnionBox = UnionOfBoxes(entry.UnionBox, record.UnionBox);
|
||||
if (record.RegionCount == 0 || entry.Regions.empty()) {
|
||||
// A whole-level contribution (the emitter's only box-only spelling since P11
|
||||
// M2) owns every texel of the level, so the entry is that box, exactly.
|
||||
// A whole-level contribution (the emitter's box-only spelling since P11 M2)
|
||||
// owns every texel of the level, so the entry is that box, exactly. The one
|
||||
// other box-only record is the emitter's oversize fallback (a footprint past
|
||||
// kMGPipeMaxPendingUploadRegions goes out as the storage's cover, which it
|
||||
// withholds as 0 at 3/4 of the box), a partial box spanning gaps - already
|
||||
// inexact, and logged once where it is emitted (TextureEmit.h).
|
||||
entry.Regions.clear();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user