[MG_Backend, MG_State, scripts] (P7): retire the texture legacy-arm scope and tag the p7-magma remainder P13

This commit is contained in:
2026-09-23 13:23:09 -04:00
parent e751b07baa
commit d49df3549f
4 changed files with 113 additions and 171 deletions
@@ -1807,8 +1807,8 @@ namespace MobileGL::MG_Backend::DirectVulkan {
// SyncTexture reads the frontend ITextureObject: the target, the format, the level
// chain, the dirty scan and - through UploadDirtyMipLevels - the CLIENT's mip shadow
// texels. Under an active transport none of that memory is the server's to read
// (rule E), which is exactly what Magma's texture-legacy-arm scope has been waiving
// since P5c. This arm is the same sync re-sourced: the SHAPE comes from the applier's
// (rule E), which is exactly what Magma's texture-legacy-arm scope waived from P5c until
// P7 retired it (SyncTexture). This arm is the same sync re-sourced: the SHAPE comes from the applier's
// resource record (MGPipeApplier().TextureResources - the resource_create /
// resource_respecify descriptors), the TEXELS from the server's staged-texture store
// (P5c tx, adopted at apply time), and the WHICH-LEVELS from the record's
@@ -2958,16 +2958,16 @@ namespace MobileGL::MG_Backend::DirectVulkan {
Bool VkTextureManager::SyncTexture(MG_State::GLState::ITextureObject &texture,
TextureResource &outResource) {
#if MOBILEGL_BUILD_DISAGGREGATED
// P5c (gt): Magma's texture sync still reads - and clears - the CLIENT's mip shadow:
// the dirty scan below, and UploadDirtyMipLevels' texel reads / region reads /
// MarkStorageDirty(false) clears. CONTRACT-P5C §2 migrated Espryt's sync and Magma's
// T5 writes, and left THIS path on the legacy arm; under the verb barrier and one
// address space the reads answer correctly, and the migration is P7's server-side
// sync. The scope is the debt's greppable form (MipmapStorage.h); outside it the
// layer-1 guard still aborts.
const MG_State::GLState::MGPipeTextureLegacyArmScope textureLegacyArm;
#endif
// This is the FRONTEND-object sync: it reads - and clears - the client's mip shadow (the
// dirty scan below, UploadDirtyMipLevels' texel / region reads and MarkStorageDirty(false)
// clears), so it belongs to the monolith arm only. Under an active transport every wire
// verb syncs through the handle-keyed arm (SyncTextureResourceByHandle, and the sampled
// wire descriptors in UniformManager) from the applier's record and the staged-texture
// store. P5c's named exemption for this function (MGPipeTextureLegacyArmScope) was retired
// in P7 (ratchet88) once a probe proved it never armed on the apply thread; a regression
// now meets the layer-1 guard (Fatal{RoleViolation, "texture-legacy-arm"},
// MipmapStorage.cpp) by accessor name. This block is exactly as many lines as the one it
// replaced: __LINE__ reaches this file's pull .text, and G1 compares the bytes.
// Cross-draw fast path: if the resource is already built and neither the texture's
// pixel content (bumped in MarkStorageDirty), its SHAPE (bumped in BumpShapeVersion)
// nor its params changed since the last sync, there is nothing to re-check or
@@ -49,14 +49,22 @@ namespace MobileGL {
// instead of rendering from client memory.
//
// A client-thread caller is unaffected (this is the frontend's own state, and the
// guard returns unless ServerLoop::OnApplyThread()); Magma's texture sync keeps
// its named scope exemption; the pull build compiles none of it.
// guard returns unless ServerLoop::OnApplyThread()); the pull build compiles none
// of it.
//
// P7 (ratchet88): NO EXEMPTION IS LEFT. P5c gave Magma's texture sync a named
// scope (MGPipeTextureLegacyArmScope) that waived this guard around
// VkTextureManager::SyncTexture on the apply thread. Since P5f's handle-keyed arm
// the wire draw, blit, copy, clear, mipmap and readback verbs sync from the
// applier's resource record and the staged-texture store, and SyncTexture - the
// frontend-object sync - is monolith-only: a probe that aborted whenever the scope
// armed on the apply thread stayed silent across the Magma split / spawn / tcp
// lanes and their full-binary variants. The scope was retired with it, so a
// regression that routes a wire verb back through the frontend object aborts
// here BY ACCESSOR NAME rather than being waived.
void RefuseLegacyTextureArmFromApplyThread(const char* surface) {
if (MG_Config::Transport == MG_Config::TransportMode::Monolith) return;
if (!MG_Remote::Server::ServerLoop::OnApplyThread()) return;
// The named exemption (MipmapStorage.h): Magma's texture sync is tx's
// declared leftover and retires with P7.
if (MGPipeTextureLegacyArmScope::ActiveOnApplyThread()) return;
MGLOG_F("MGPipe: Fatal{RoleViolation, \"texture-legacy-arm\"} - the apply thread "
"called TextureObjectMipmap::%s on a frontend object. With an active "
"transport the server reads the staged-texture store and the resource "
@@ -98,34 +106,6 @@ namespace MobileGL {
}
} // namespace
#if MOBILEGL_BUILD_DISAGGREGATED
namespace {
// NOT thread_local (P5d round 3, package D), for hd's reason in
// MG_Impl/Pipe/SlotAllocator.cpp: RefuseLegacyTextureArmFromApplyThread above
// is this counter's ONLY reader in the tree and it returns before it looks
// unless the transport is active and ServerLoop::OnApplyThread() is true, so
// the apply thread is the only thread whose depth could change an answer. The
// scope below therefore counts only there, which makes the apply thread the
// single writer and the single reader - no race to defend, and no
// __emutls_get_address call per access (7.4% of the apply thread, 7.7% and the
// top symbol on the monolith's GL thread).
Uint32 g_textureLegacyArmScopeDepth = 0;
}
MGPipeTextureLegacyArmScope::MGPipeTextureLegacyArmScope()
: m_counted(MG_Remote::Server::ServerLoop::OnApplyThread()) {
if (m_counted) ++g_textureLegacyArmScopeDepth;
}
MGPipeTextureLegacyArmScope::~MGPipeTextureLegacyArmScope() {
if (m_counted) --g_textureLegacyArmScopeDepth;
}
Bool MGPipeTextureLegacyArmScope::ActiveOnApplyThread() {
return g_textureLegacyArmScopeDepth != 0;
}
#endif
SizeT MipmapStorage::GetLevelCount() const {
#if MOBILEGL_BUILD_DISAGGREGATED
RefuseLegacyTextureShapeReadFromApplyThread("GetMipmapLevelCount");
@@ -38,42 +38,6 @@ namespace MobileGL {
}
};
#if MOBILEGL_BUILD_DISAGGREGATED
// P5c (gt, CONTRACT-P5C §6 layer 1): the NAMED EXEMPTION to the texture legacy-arm
// guard, the texture analogue of hd's MGPipeFrontendKeyedRegistryScope
// (MG_Impl/Pipe/SlotAllocator.h). Magma's texture sync (VkTextureManager::SyncTexture
// and the UploadDirtyMipLevels it drives) still reads and clears the CLIENT's mip
// shadow - the one texture family tx did not migrate (CONTRACT-P5C §2 names Espryt's
// sync reads and Magma's T5 writes; Magma's upload read path is absent from it), and
// inproc was green on it because the barrier and the shared address space held.
// Inside this scope the guard's surfaces stay legal - read-only-or-clean, barrier-
// held, and greppable as exactly this name; retiring the scope is P7's server-side
// Magma texture sync. Every OTHER apply-thread touch of a guarded surface is still
// Fatal{RoleViolation, "texture-legacy-arm"}.
//
// The depth is counted ONLY on the apply thread (P5d round 3, package D), exactly
// as hd's two scopes in MG_Impl/Pipe/SlotAllocator.h are: the guard above is the
// counter's only reader and it returns before it looks unless
// ServerLoop::OnApplyThread() is true, so a depth kept on any other thread could
// never change an answer. m_counted remembers the constructor's decision so the
// destructor undoes exactly what the constructor did. The query is spelled
// ActiveOnApplyThread() rather than Active() because the precondition belongs in
// the name: off the apply thread it now answers false however many scopes are
// open, and a future second reader must be made to see that rather than trust a
// bare Active().
class MGPipeTextureLegacyArmScope {
public:
MGPipeTextureLegacyArmScope();
~MGPipeTextureLegacyArmScope();
MGPipeTextureLegacyArmScope(const MGPipeTextureLegacyArmScope&) = delete;
MGPipeTextureLegacyArmScope& operator=(const MGPipeTextureLegacyArmScope&) = delete;
static Bool ActiveOnApplyThread();
private:
Bool m_counted;
};
#endif
class MipmapStorage {
public:
SizeT GetLevelCount() const;
+88 -90
View File
@@ -2,20 +2,20 @@
# Regenerate: python3 scripts/link_ratchet.py --build-dir <dir> \
# --baseline scripts/data/link_ratchet_baseline.txt \
# --write-baseline scripts/data/link_ratchet_baseline.txt
# base commit : 6af422b3e85a7d24bcfc32473bd8a0f99afaa3cd
# base commit : 14e1c8b9b103b6900be8f174cf5f5b1a50dcfd66
# configure : -DMOBILEGL_BUILD_DISAGGREGATED=ON -DMOBILEGL_BUILD_DISAGGREGATED_INPROC=ON -DMOBILEGL_PIPE_PUSH=ON -DCMAKE_BUILD_TYPE=Release
# build dir : build-split
# count : 173
# count : 171
#
# One demangled symbol per line. A trailing ` # note` is an annotation the parser
# ignores; `# P13` marks a symbol that cannot fall before P13 establishes module
# target boundaries. The LIST is the baseline, not the count: a ratchet that
# stored only a number would go green on the day one symbol is cleared and another
# added (ID-P7-7).
MobileGL::MG_Impl::GLImpl::CopyTextureImageToClientOrPBO_State(std::shared_ptr<MobileGL::MG_State::GLState::ITextureObject> const&, MobileGL::TextureUploadTarget, int, unsigned int, unsigned int, int, void*, char const*)
MobileGL::MG_Impl::GLImpl::CopyTextureImageToClientOrPBO_State(std::shared_ptr<MobileGL::MG_State::GLState::ITextureObject> const&, MobileGL::TextureUploadTarget, int, unsigned int, unsigned int, int, void*, char const*) # P13 monolith arm: MGB_CTX accessor / GL readback packer (CONTRACT-P7 §12)
MobileGL::MG_Impl::GLImpl::FramebufferImpl::pDefaultFramebufferInfo
MobileGL::MG_Pipe::MGPipeApplierIsUnbarrieredApply() # P13
MobileGL::MG_Pipe::MGPipeNoteAggregate(MobileGL::MG_Pipe::MGPipeAggregate)
MobileGL::MG_Pipe::MGPipeNoteAggregate(MobileGL::MG_Pipe::MGPipeAggregate) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_Pipe::MGPipeRefuseAllocatorFromApplyThread(char const*) # P13
MobileGL::MG_Pipe::MGPipeRefuseFrontendKeyedRegistryFromApplyThread(char const*) # P13
MobileGL::MG_Pipe::MGPipeSlotAllocator::Acquire(MobileGL::MG_Pipe::MGPipeKind, unsigned long) # P13
@@ -24,9 +24,9 @@ MobileGL::MG_Pipe::MGPipeSlotAllocator::Free(MobileGL::MG_Pipe::MGPipeKind, Mobi
MobileGL::MG_Pipe::MGPipeSlots() # P13
MobileGL::MG_Pipe::PipeInputs::GetBufferBindingPointCount(MobileGL::BufferTarget) const
MobileGL::MG_Pipe::PipeInputs::GetProgramObject(unsigned int)
MobileGL::MG_Pipe::PipeInputs::GetTextureObject(unsigned int)
MobileGL::MG_Pipe::PipeInputs::HasOpenTransformFeedbackSpan(unsigned long) const
MobileGL::MG_Pipe::PipeInputs::InvalidateCompileEnv()
MobileGL::MG_Pipe::PipeInputs::GetTextureObject(unsigned int) # P13 monolith arm: MGB_CTX accessor / GL readback packer (CONTRACT-P7 §12)
MobileGL::MG_Pipe::PipeInputs::HasOpenTransformFeedbackSpan(unsigned long) const # P13 monolith arm: MGB_CTX accessor / GL readback packer (CONTRACT-P7 §12)
MobileGL::MG_Pipe::PipeInputs::InvalidateCompileEnv() # P13 monolith arm: MGB_CTX accessor / GL readback packer (CONTRACT-P7 §12)
MobileGL::MG_Pipe::PipeInputs::IsLive() const
MobileGL::MG_Pipe::PipeInputs::RecordError(MobileGL::ErrorCode, std::unique_ptr<MobileGL::ErrorInfo, std::default_delete<MobileGL::ErrorInfo> >)
MobileGL::MG_Pipe::PipeInputs::ValidateProgramName(unsigned int) const
@@ -41,7 +41,7 @@ MobileGL::MG_Remote::Client::ClientSession::Stop()
MobileGL::MG_Remote::Client::ClientSessionInstance()
MobileGL::MG_Remote::Client::EmitObjectDeathRecord(MobileGL::MG_Pipe::MGPipeKind, unsigned long)
MobileGL::MG_State::GLState::BufferObject::DownloadSubData(void*, unsigned long, unsigned long) const
MobileGL::MG_State::GLState::BufferObject::EnsureGpuResidentStorage()
MobileGL::MG_State::GLState::BufferObject::EnsureGpuResidentStorage() # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::BufferObject::GetBackendResource() const
MobileGL::MG_State::GLState::BufferObject::GetChangeSerial() const
MobileGL::MG_State::GLState::BufferObject::GetExternalIndex() const
@@ -59,24 +59,22 @@ MobileGL::MG_State::GLState::BufferObject::WritebackFromBackend(MobileGL::DataPt
MobileGL::MG_State::GLState::ClassifyVertexAttribType(unsigned int)
MobileGL::MG_State::GLState::DecodeProgramArchive(unsigned char const*, unsigned long, MobileGL::MG_State::GLState::ProgramArchive&)
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetRenderbuffer() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetSize() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetSize() const # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetTexture() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetTextureLayer() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetTextureLevel() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::GetTextureUploadTarget() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsComplete() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsComplete() const # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsEmpty() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsLayered() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsRenderbuffer() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsTexture() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsValid() const
MobileGL::MG_State::GLState::FramebufferAttachmentObject::IsValid() const # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::FramebufferObject::GetAllAttachmentObjects() const
MobileGL::MG_State::GLState::FramebufferObject::GetAttachment(MobileGL::FramebufferAttachmentType) const
MobileGL::MG_State::GLState::FramebufferObject::GetDrawBuffers() const
MobileGL::MG_State::GLState::FramebufferObject::GetExternalIndex() const
MobileGL::MG_State::GLState::GetBufferBackendOps()
MobileGL::MG_State::GLState::MGPipeTextureLegacyArmScope::MGPipeTextureLegacyArmScope()
MobileGL::MG_State::GLState::MGPipeTextureLegacyArmScope::~MGPipeTextureLegacyArmScope()
MobileGL::MG_State::GLState::ProgramArtifactsSchemaFingerprint()
MobileGL::MG_State::GLState::ProgramObject::JoinPendingLink() const
MobileGL::MG_State::GLState::ProgramObject::JoinPendingSpirv() const
@@ -85,26 +83,26 @@ MobileGL::MG_State::GLState::RenderbufferObject::GetHeight() const
MobileGL::MG_State::GLState::RenderbufferObject::GetInternalFormat() const
MobileGL::MG_State::GLState::RenderbufferObject::GetSamples() const
MobileGL::MG_State::GLState::RenderbufferObject::GetWidth() const
MobileGL::MG_State::GLState::RenderbufferObject::IsAllocated() const
MobileGL::MG_State::GLState::RenderbufferObject::IsAllocated() const # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetAllSamplerParameters() const
MobileGL::MG_State::GLState::SamplerObject::GetBorderColor() const
MobileGL::MG_State::GLState::SamplerObject::GetBorderColorI() const
MobileGL::MG_State::GLState::SamplerObject::GetBorderColorUI() const
MobileGL::MG_State::GLState::SamplerObject::GetCompareMode() const
MobileGL::MG_State::GLState::SamplerObject::GetBorderColor() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetBorderColorI() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetBorderColorUI() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetCompareMode() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetExternalIndex() const
MobileGL::MG_State::GLState::SamplerObject::GetLifetimeId() const
MobileGL::MG_State::GLState::SamplerObject::GetLodBias() const
MobileGL::MG_State::GLState::SamplerObject::GetMagFilter() const
MobileGL::MG_State::GLState::SamplerObject::GetMaxAnisotropy() const
MobileGL::MG_State::GLState::SamplerObject::GetMaxLod() const
MobileGL::MG_State::GLState::SamplerObject::GetMinFilter() const
MobileGL::MG_State::GLState::SamplerObject::GetMinLod() const
MobileGL::MG_State::GLState::SamplerObject::GetMipmapMode() const
MobileGL::MG_State::GLState::SamplerObject::GetSamplerCompareFunc() const
MobileGL::MG_State::GLState::SamplerObject::GetMagFilter() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetMaxAnisotropy() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetMaxLod() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetMinFilter() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetMinLod() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetMipmapMode() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetSamplerCompareFunc() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetVersion() const
MobileGL::MG_State::GLState::SamplerObject::GetWrapR() const
MobileGL::MG_State::GLState::SamplerObject::GetWrapS() const
MobileGL::MG_State::GLState::SamplerObject::GetWrapT() const
MobileGL::MG_State::GLState::SamplerObject::GetWrapR() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetWrapS() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::GetWrapT() const # P13 monolith arm: sampler cache reads the app SamplerObject (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::SamplerObject::SamplerObject(unsigned int)
MobileGL::MG_State::GLState::SamplerObject::SetCompareMode(MobileGL::SamplerCompareMode)
MobileGL::MG_State::GLState::SamplerObject::SetMagFilter(MobileGL::SamplerFilterMode)
@@ -114,66 +112,66 @@ MobileGL::MG_State::GLState::SamplerObject::SetSamplerCompareFunc(MobileGL::Samp
MobileGL::MG_State::GLState::SamplerObject::~SamplerObject()
MobileGL::MG_State::GLState::SamplesAsIncompleteTexture(MobileGL::MG_State::GLState::ITextureObject const*, MobileGL::MG_State::GLState::SamplerObject const*)
MobileGL::MG_State::GLState::SetBufferBackendOps(MobileGL::MG_State::GLState::BufferBackendOps const*)
MobileGL::MG_State::GLState::TextureObject1D::TextureObject1D(unsigned int)
MobileGL::MG_State::GLState::TextureObject2D::TextureObject2D(unsigned int)
MobileGL::MG_State::GLState::TextureObject2DCube::TextureObject2DCube(unsigned int)
MobileGL::MG_State::GLState::TextureObject3D::TextureObject3D(unsigned int)
MobileGL::MG_State::GLState::TextureObjectBase::GetAllSwizzleParams() const
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColor() const
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorForm() const
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorI() const
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorUI() const
MobileGL::MG_State::GLState::TextureObjectBase::GetContentVersion() const
MobileGL::MG_State::GLState::TextureObjectBase::GetExternalIndex() const
MobileGL::MG_State::GLState::TextureObjectBase::GetFormat() const
MobileGL::MG_State::GLState::TextureObjectBase::GetImmutableLevels() const
MobileGL::MG_State::GLState::TextureObjectBase::GetLevelRange() const
MobileGL::MG_State::GLState::TextureObjectBase::GetLifetimeId() const
MobileGL::MG_State::GLState::TextureObjectBase::GetSamplerObject() const
MobileGL::MG_State::GLState::TextureObjectBase::GetSamples() const
MobileGL::MG_State::GLState::TextureObjectBase::GetShapeVersion() const
MobileGL::MG_State::GLState::TextureObjectBase::GetSwizzleParam(MobileGL::TextureSwizzleParam) const
MobileGL::MG_State::GLState::TextureObjectBase::GetTarget() const
MobileGL::MG_State::GLState::TextureObjectBase::GetTextureParamsVersion() const
MobileGL::MG_State::GLState::TextureObjectBase::GetViewStorageOwner() const
MobileGL::MG_State::GLState::TextureObjectBase::HasFixedSampleLocations() const
MobileGL::MG_State::GLState::TextureObjectBase::IsImmutable() const
MobileGL::MG_State::GLState::TextureObjectBase::IsMipmapCompleteForFilterCached(bool) const
MobileGL::MG_State::GLState::TextureObjectBase::PipePublishParams()
MobileGL::MG_State::GLState::TextureObjectBase::SetBaseLevel(unsigned int)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColor(MobileGL::Vec4<float> const&)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorI(MobileGL::Vec4<int> const&)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorUI(MobileGL::Vec4<unsigned int> const&)
MobileGL::MG_State::GLState::TextureObjectBase::SetFixedSampleLocations(bool)
MobileGL::MG_State::GLState::TextureObjectBase::SetImmutableLevels(unsigned int)
MobileGL::MG_State::GLState::TextureObjectBase::SetInternalFormat(MobileGL::TextureInternalFormat)
MobileGL::MG_State::GLState::TextureObjectBase::SetMaxLevel(unsigned int)
MobileGL::MG_State::GLState::TextureObjectBase::SetSamples(int)
MobileGL::MG_State::GLState::TextureObjectBase::SetSwizzleParam(MobileGL::TextureSwizzleParam, MobileGL::TextureSwizzleParam)
MobileGL::MG_State::GLState::TextureObjectBase::SetSwizzleParamRGBA(MobileGL::Vec4<MobileGL::TextureSwizzleParam> const&)
MobileGL::MG_State::GLState::TextureObjectBase::TextureObjectBase(MobileGL::TextureTarget, unsigned int)
MobileGL::MG_State::GLState::TextureObjectBase::~TextureObjectBase()
MobileGL::MG_State::GLState::TextureObject1D::TextureObject1D(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObject2D::TextureObject2D(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObject2DCube::TextureObject2DCube(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObject3D::TextureObject3D(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetAllSwizzleParams() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColor() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorForm() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorI() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetBorderColorUI() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetContentVersion() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetExternalIndex() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetFormat() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetImmutableLevels() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetLevelRange() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetLifetimeId() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetSamplerObject() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetSamples() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetShapeVersion() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetSwizzleParam(MobileGL::TextureSwizzleParam) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetTarget() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetTextureParamsVersion() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::GetViewStorageOwner() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::HasFixedSampleLocations() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::IsImmutable() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::IsMipmapCompleteForFilterCached(bool) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::PipePublishParams() # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetBaseLevel(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColor(MobileGL::Vec4<float> const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorI(MobileGL::Vec4<int> const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorUI(MobileGL::Vec4<unsigned int> const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetFixedSampleLocations(bool) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetImmutableLevels(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetInternalFormat(MobileGL::TextureInternalFormat) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetMaxLevel(unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetSamples(int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetSwizzleParam(MobileGL::TextureSwizzleParam, MobileGL::TextureSwizzleParam) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::SetSwizzleParamRGBA(MobileGL::Vec4<MobileGL::TextureSwizzleParam> const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::TextureObjectBase(MobileGL::TextureTarget, unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBase::~TextureObjectBase() # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectBuffer::GetBufferBindingSlot(MobileGL::TextureUploadTarget)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::AllocateStorage(MobileGL::TextureUploadTarget, unsigned int, MobileGL::MG_State::GLState::MipmapInput)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetBaseSize() const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapByteSize(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapCompressedByteSize(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapCompressedFormat(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapLevelCount() const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapRequestedCompressedFormat(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapTexelSize(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetStorageDirtyRects(MobileGL::TextureUploadTarget, unsigned int, MobileGL::MG_State::GLState::MipmapDirtyRegion*, unsigned long) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetStorageDirtyRegion(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::IsComplete() const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::IsStorageDirty(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MapMipmapCompressedImage(MobileGL::TextureUploadTarget, unsigned int) const
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MapMipmapData(MobileGL::TextureUploadTarget, unsigned int)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MarkStorageDirty(MobileGL::TextureUploadTarget, unsigned int, bool)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MarkStorageDirtyRegion(MobileGL::TextureUploadTarget, unsigned int, MobileGL::Vec3<int>, MobileGL::Vec3<int>)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::SetMipmapCompressedImage(MobileGL::TextureUploadTarget, unsigned int, unsigned int, void const*, unsigned long)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::SetMipmapRequestedCompressedFormat(MobileGL::TextureUploadTarget, unsigned int, unsigned int)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::TruncateMipmapLevels(MobileGL::TextureUploadTarget, unsigned int)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::UpdateMipmapSubData(MobileGL::TextureUploadTarget, unsigned int, MobileGL::DataPtr)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::AllocateStorage(MobileGL::TextureUploadTarget, unsigned int, MobileGL::MG_State::GLState::MipmapInput) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetBaseSize() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapByteSize(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapCompressedByteSize(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapCompressedFormat(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapLevelCount() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapRequestedCompressedFormat(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetMipmapTexelSize(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetStorageDirtyRects(MobileGL::TextureUploadTarget, unsigned int, MobileGL::MG_State::GLState::MipmapDirtyRegion*, unsigned long) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::GetStorageDirtyRegion(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::IsComplete() const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::IsStorageDirty(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MapMipmapCompressedImage(MobileGL::TextureUploadTarget, unsigned int) const # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MapMipmapData(MobileGL::TextureUploadTarget, unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MarkStorageDirty(MobileGL::TextureUploadTarget, unsigned int, bool) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::MarkStorageDirtyRegion(MobileGL::TextureUploadTarget, unsigned int, MobileGL::Vec3<int>, MobileGL::Vec3<int>) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::SetMipmapCompressedImage(MobileGL::TextureUploadTarget, unsigned int, unsigned int, void const*, unsigned long) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::SetMipmapRequestedCompressedFormat(MobileGL::TextureUploadTarget, unsigned int, unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::TruncateMipmapLevels(MobileGL::TextureUploadTarget, unsigned int) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureObjectWithOneMipmap::UpdateMipmapSubData(MobileGL::TextureUploadTarget, unsigned int, MobileGL::DataPtr) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
MobileGL::MG_State::GLState::TextureUnit::GetAllBindingSlots()
MobileGL::MG_State::GLState::TextureUnit::GetBindingSlot(MobileGL::TextureTarget)
MobileGL::MG_State::GLState::TextureUnit::GetSamplerObject() const
@@ -181,7 +179,7 @@ MobileGL::MG_State::GLState::VertexArrayObject::GetAllAttributeVersions() const
MobileGL::MG_State::GLState::VertexArrayObject::GetAllAttributes() const
MobileGL::MG_State::GLState::VertexArrayObject::GetAttribute(unsigned int) const
MobileGL::MG_State::GLState::VertexArrayObject::GetIndexBufferBindingSlot()
MobileGL::MG_State::GLState::VertexArrayObject::GetIndexBufferBindingSlot() const
MobileGL::MG_State::GLState::VertexArrayObject::GetIndexBufferBindingSlot() const # P13 monolith arm: reads an app FBO/RBO/VAO/buffer object (CONTRACT-P7 §12)
typeinfo for MobileGL::MG_State::GLState::TextureObjectBase
typeinfo for MobileGL::MG_State::GLState::TextureObjectWithOneMipmap
vtable for MobileGL::MG_State::GLState::TextureObjectWithOneMipmap
typeinfo for MobileGL::MG_State::GLState::TextureObjectWithOneMipmap # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)
vtable for MobileGL::MG_State::GLState::TextureObjectWithOneMipmap # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12)