From d49df3549f6c37b80c291f167838963fd88fb2b1 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Wed, 23 Sep 2026 09:55:25 -0400 Subject: [PATCH] [MG_Backend, MG_State, scripts] (P7): retire the texture legacy-arm scope and tag the p7-magma remainder P13 --- .../Renderer/VkTextureManager.cpp | 24 +-- .../GLState/TextureState/MipmapStorage.cpp | 46 ++--- .../GLState/TextureState/MipmapStorage.h | 36 ---- scripts/data/link_ratchet_baseline.txt | 178 +++++++++--------- 4 files changed, 113 insertions(+), 171 deletions(-) diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/VkTextureManager.cpp b/MobileGL/MG_Backend/DirectVulkan/Renderer/VkTextureManager.cpp index a1261718..b0c44aa1 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/VkTextureManager.cpp +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/VkTextureManager.cpp @@ -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 diff --git a/MobileGL/MG_State/GLState/TextureState/MipmapStorage.cpp b/MobileGL/MG_State/GLState/TextureState/MipmapStorage.cpp index 322b9016..92b08d97 100644 --- a/MobileGL/MG_State/GLState/TextureState/MipmapStorage.cpp +++ b/MobileGL/MG_State/GLState/TextureState/MipmapStorage.cpp @@ -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"); diff --git a/MobileGL/MG_State/GLState/TextureState/MipmapStorage.h b/MobileGL/MG_State/GLState/TextureState/MipmapStorage.h index 0e9c7a59..fe632db4 100644 --- a/MobileGL/MG_State/GLState/TextureState/MipmapStorage.h +++ b/MobileGL/MG_State/GLState/TextureState/MipmapStorage.h @@ -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; diff --git a/scripts/data/link_ratchet_baseline.txt b/scripts/data/link_ratchet_baseline.txt index 16ea5961..9a17f91f 100644 --- a/scripts/data/link_ratchet_baseline.txt +++ b/scripts/data/link_ratchet_baseline.txt @@ -2,20 +2,20 @@ # Regenerate: python3 scripts/link_ratchet.py --build-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 const&, MobileGL::TextureUploadTarget, int, unsigned int, unsigned int, int, void*, char const*) +MobileGL::MG_Impl::GLImpl::CopyTextureImageToClientOrPBO_State(std::shared_ptr 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::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 const&) -MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorI(MobileGL::Vec4 const&) -MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorUI(MobileGL::Vec4 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 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 const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12) +MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorI(MobileGL::Vec4 const&) # P13 monolith arm: UniformManager builds frontend TextureObject placeholders (CONTRACT-P7 §12) +MobileGL::MG_State::GLState::TextureObjectBase::SetBorderColorUI(MobileGL::Vec4 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 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, MobileGL::Vec3) -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, MobileGL::Vec3) # 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)