Open tagcode opened 1 year ago
Does anyone understand the Asset Compiler? What is those asserts are about?
I tried disabling them to see what happens. This is what happened:
Thread started: Bitmap Builder thread #3
[Stride] [Game]: Error: Unexpected exception. Stride.Core.Serialization.Contents.ContentManagerException: Unexpected exception while loading asset [0001_color]. Reason: Unsupported texture format: ETC2_RGB_SRgb. Check inner-exception for details.
[Stride] ---> System.InvalidOperationException: Unsupported texture format: ETC2_RGB_SRgb
[Stride] at Stride.Graphics.OpenGLConvertExtensions.ConvertPixelFormat(GraphicsDevice graphicsDevice, PixelFormat& inputFormat, InternalFormat& internalFormat, PixelFormat& format, PixelType& type, Int32& pixelSize, Boolean& compressed) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\OpenGL\OpenGLConvertExtensions.cs:line 491
[Stride] at Stride.Graphics.Texture.InitializeFromImpl(DataBox[] dataBoxes) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\OpenGL\Texture.OpenGL.cs:line 185
[Stride] at Stride.Graphics.Texture.InitializeFrom(Texture parentTexture, TextureDescription description, TextureViewDescription viewDescription, DataBox[] textureDatas) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Texture.cs:line 515
[Stride] at Stride.Graphics.Texture.InitializeFrom(TextureDescription description, TextureViewDescription viewDescription, DataBox[] textureDatas) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Texture.cs:line 466
[Stride] at Stride.Graphics.Data.TextureContentSerializer.Serialize(ArchiveMode mode, SerializationStream stream, Texture texture, Boolean allowContentStreaming) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Data\TextureContentSerializer.cs:line 83
[Stride] at Stride.Graphics.Data.TextureContentSerializer.Serialize(ContentSerializerContext context, SerializationStream stream, Texture texture) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Data\TextureContentSerializer.cs:line 16
[Stride] at Stride.Core.Serialization.Contents.ContentSerializerBase`1[[Stride.Graphics.Texture, Stride.Graphics, Version=4.1.0.1, Culture=neutral, PublicKeyToken=null]].Serialize(ContentSerializerContext context, SerializationStream stream, Object obj) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentSerializerBase.cs:line 45
[Stride] at Stride.Core.Serialization.Contents.ContentSerializerContext.SerializeContent(SerializationStream stream, IContentSerializer serializer, Object objToSerialize) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentSerializerContext.cs:line 56
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 542
[Stride] Exception_EndOfInnerExceptionStack
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 550
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(String initialUrl, String newUrl, Type type, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 387
[Stride] at Stride.Core.Serialization.Contents.ContentManager.Load(Type type, String url, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 136
[Stride] at Stride.Core.Serialization.Contents.ContentManager.Load[Scene](String url, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 113
[Stride] at Stride.Engine.SceneSystem.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Engine\Engine\SceneSystem.cs:line 120
[Stride] at Stride.Games.GameSystemBase.Stride.Games.IContentable.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameSystemBase.cs:line 216
[Stride] at Stride.Games.GameSystemCollection.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameSystemCollection.cs:line 165
[Stride] at Stride.Games.GameBase.LoadContentInternal() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameBase.cs:line 853
[Stride] at Stride.Engine.Game.LoadContentInternal() in C:\repos\stride-tagcode\sources\engine\Stride.Engine\Engine\Game.cs:line 458
[Stride] at Stride.Games.GameBase.InitializeBeforeRun() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameBase.cs:line 374Stride.Core.Serialization.Contents.ContentManagerException: Unexpected exception while loading asset [0001_color]. Reason: Unsupported texture format: ETC2_RGB_SRgb. Check inner-exception for details.
[Stride] ---> System.InvalidOperationException: Unsupported texture format: ETC2_RGB_SRgb
[Stride] at Stride.Graphics.OpenGLConvertExtensions.ConvertPixelFormat(GraphicsDevice graphicsDevice, PixelFormat& inputFormat, InternalFormat& internalFormat, PixelFormat& format, PixelType& type, Int32& pixelSize, Boolean& compressed) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\OpenGL\OpenGLConvertExtensions.cs:line 491
[Stride] at Stride.Graphics.Texture.InitializeFromImpl(DataBox[] dataBoxes) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\OpenGL\Texture.OpenGL.cs:line 185
[Stride] at Stride.Graphics.Texture.InitializeFrom(Texture parentTexture, TextureDescription description, TextureViewDescription viewDescription, DataBox[] textureDatas) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Texture.cs:line 515
[Stride] at Stride.Graphics.Texture.InitializeFrom(TextureDescription description, TextureViewDescription viewDescription, DataBox[] textureDatas) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Texture.cs:line 466
[Stride] at Stride.Graphics.Data.TextureContentSerializer.Serialize(ArchiveMode mode, SerializationStream stream, Texture texture, Boolean allowContentStreaming) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Data\TextureContentSerializer.cs:line 83
[Stride] at Stride.Graphics.Data.TextureContentSerializer.Serialize(ContentSerializerContext context, SerializationStream stream, Texture texture) in C:\repos\stride-tagcode\sources\engine\Stride.Graphics\Data\TextureContentSerializer.cs:line 16
[Stride] at Stride.Core.Serialization.Contents.ContentSerializerBase`1[[Stride.Graphics.Texture, Stride.Graphics, Version=4.1.0.1, Culture=neutral, PublicKeyToken=null]].Serialize(ContentSerializerContext context, SerializationStream stream, Object obj) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentSerializerBase.cs:line 45
[Stride] at Stride.Core.Serialization.Contents.ContentSerializerContext.SerializeContent(SerializationStream stream, IContentSerializer serializer, Object objToSerialize) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentSerializerContext.cs:line 56
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 542
[Stride] Exception_EndOfInnerExceptionStack
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 550
[Stride] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(String initialUrl, String newUrl, Type type, Object obj, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 387
[Stride] at Stride.Core.Serialization.Contents.ContentManager.Load(Type type, String url, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 136
[Stride] at Stride.Core.Serialization.Contents.ContentManager.Load[Scene](String url, ContentManagerLoaderSettings settings) in C:\repos\stride-tagcode\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 113
[Stride] at Stride.Engine.SceneSystem.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Engine\Engine\SceneSystem.cs:line 120
[Stride] at Stride.Games.GameSystemBase.Stride.Games.IContentable.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameSystemBase.cs:line 216
[Stride] at Stride.Games.GameSystemCollection.LoadContent() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameSystemCollection.cs:line 165
[Stride] at Stride.Games.GameBase.LoadContentInternal() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameBase.cs:line 853
[Stride] at Stride.Engine.Game.LoadContentInternal() in C:\repos\stride-tagcode\sources\engine\Stride.Engine\Engine\Game.cs:line 458
[Stride] at Stride.Games.GameBase.InitializeBeforeRun() in C:\repos\stride-tagcode\sources\engine\Stride.Games\GameBase.cs:line 374
[InsetsController] cancelAnimation of types: 2, animType: 0, host: GameMenu.GameMenu/crc64c83969b9872c8cbe.GameMenuActivity, from:android.view.InsetsController.notifyFinished:1375 android.view.InsetsAnimationThreadControlRunner$1.lambda$notifyFinished$0$android-view-InsetsAnimationThreadControlRunner$1:84 android.view.InsetsAnimationThreadControlRunner$1$$ExternalSyntheticLambda1.run:4
[InsetsSourceConsumer] ensureControlPosition: Point(0, 3008) for ITYPE_NAVIGATION_BAR on GameMenu.GameMenu/crc64c83969b9872c8cbe.GameMenuActivity from android.view.InsetsSourceConsumer.notifyAnimationFinished:417
[InsetsController] cancelAnimation of types: 1, animType: 0, host: GameMenu.GameMenu/crc64c83969b9872c8cbe.GameMenuActivity, from:android.view.InsetsController.notifyFinished:1375 android.view.InsetsAnimationThreadControlRunner$1.lambda$notifyFinished$0$android-view-InsetsAnimationThreadControlRunner$1:84 android.view.InsetsAnimationThreadControlRunner$1$$ExternalSyntheticLambda1.run:4
[InsetsSourceConsumer] ensureControlPosition: Point(0, 0) for ITYPE_STATUS_BAR on GameMenu.GameMenu/crc64c83969b9872c8cbe.GameMenuActivity from android.view.InsetsSourceConsumer.notifyAnimationFinished:417
**Stride.Core.Serialization.Contents.ContentManagerException:** 'Unexpected exception while loading asset [0001_color]. Reason: Unsupported texture format: ETC2_RGB_SRgb. Check inner-exception for details.'
I figured a workaround, sort of. ETC2_RGB_SRgb is enabled at opengl level >10.0.
Android boots up if I lower to 9.3 in GameSettings.sdgamesettings
DefaultGraphicsProfile: Level_9_3
However, now I cannot use most of my materials.
Stride.Core.Serialization.Contents.ContentManagerException: 'Unexpected exception while loading asset [GameSettings]. Reason: TypeInitialization_Type, Stride.Core.LZ4.LZ4Codec. Check inner-exception for details.
[ViewRootImpl@8791217[GameMenuActivity]] Relayout returned: old=(0,0,1440,2678) new=(0,0,1440,2678) req=(1440,2678)0 dur=5 res=0x100000 s={true 0x7bcb6fff20} ch=false seqId=0
[ViewRootImpl@8791217[GameMenuActivity]] updateBoundsLayer: t = android.view.SurfaceControl$Transaction@7b0951b sc = Surface(name=Bounds for - GameMenu.GameMenu/crc64c83969b9872c8cbe.GameMenuActivity@0)/@0x17fe6b8 frame = 5
[ViewRootImpl@8791217[GameMenuActivity]] mWNT: t=0x7afb114a90 mBlastBufferQueue=0x7b3b1288f0 fn= 5 caller= android.view.ViewRootImpl.prepareSurfaces:2865 android.view.ViewRootImpl.performTraversals:4108 android.view.ViewRootImpl.doTraversal:2991
[BLASTBufferQueue] mergeWithNextTransaction, mNativeObject= 0x7b3b1288f0 t.mNativeObject= 0x7afb114a90 frameNumber= 5 caller= android.view.ViewRootImpl.mergeWithNextTransaction:12594 android.view.ViewRootImpl.prepareSurfaces:2865 android.view.ViewRootImpl.performTraversals:4108 android.view.ViewRootImpl.doTraversal:2991 android.view.ViewRootImpl$TraversalRunnable.run:10665 android.view.Choreographer$CallbackRecord.run:1301
[ViewRootImpl@8791217[GameMenuActivity]] Surface Surface(name=null)/@0x26caf07 drawing to bitmap w=1440, h=2678
[ViewRootImpl@8791217[GameMenuActivity]] Drawing: package:GameMenu.GameMenu, metrics=DisplayMetrics{density=4.0, width=1440, height=2678, scaledDensity=4.0, xdpi=571.5, ydpi=564.444}, compatibilityInfo={480dpi always-compat}
[monodroid-assembly] Shared library 'libc.so' not loaded, p/invoke '__system_property_get' may fail
[monodroid-assembly] open_from_bundles: failed to load assembly System.Threading.Overlapped.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.IO.Compression.dll
[monodroid-assembly] Symbol 'LZ4_compress_limitedOutput' not found in shared library 'libcore', p/invoke may fail
[monodroid-assembly] Symbol 'LZ4_compress_limitedOutput' not found in shared library 'libcore', p/invoke may fail
[monodroid-assembly] Symbol 'LZ4_compress_limitedOutput' not found in shared library 'libcore', p/invoke may fail
**Stride.Core.Serialization.Contents.ContentManagerException:** 'Unexpected exception while loading asset [GameSettings]. Reason: TypeInitialization_Type, Stride.Core.LZ4.LZ4Codec. Check inner-exception for details.'
[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Stride.Core.Serialization.Contents.ContentManagerException: Unexpected exception while loading asset [GameSettings]. Reason: TypeInitialization_Type, Stride.Core.LZ4.LZ4Codec. Check inner-exception for details.
[mono-rt] ---> System.TypeInitializationException: TypeInitialization_Type, Stride.Core.LZ4.LZ4Codec
[mono-rt] ---> System.NotSupportedException: No LZ4 compression service found
[mono-rt] at Stride.Core.LZ4.LZ4Codec..cctor() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\LZ4\LZ4Codec.cs:line 90
[mono-rt] Exception_EndOfInnerExceptionStack
[mono-rt] at Stride.Core.LZ4.LZ4Stream.AcquireNextChunk() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\LZ4\LZ4Stream.cs:line 313
[mono-rt] at Stride.Core.LZ4.LZ4Stream.Read(Byte[] buffer, Int32 offset, Int32 count) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\LZ4\LZ4Stream.cs:line 411
[mono-rt] at Stride.Core.Serialization.VirtualFileStream.Read(Byte[] buffer, Int32 offset, Int32 count) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.IO\VirtualFileStream.cs:line 135
[mono-rt] at Stride.Core.IO.NativeStream.ReadUInt32() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core\IO\NativeStream.cs:line 41
[mono-rt] at Stride.Core.Serialization.BinarySerializationReader.Serialize(Int32& value) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core\Serialization\Binary\BinarySerializationReader.cs:line 59
[mono-rt] at Stride.Core.Serialization.Contents.ChunkHeader.Read(SerializationStream stream) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ChunkHeader.cs:line 49
[mono-rt] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 501
[mono-rt] Exception_EndOfInnerExceptionStack
[mono-rt] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(Queue`1 serializeOperations, Reference parentReference, String url, Type objType, Object obj, ContentManagerLoaderSettings settings) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 550
[mono-rt] at Stride.Core.Serialization.Contents.ContentManager.DeserializeObject(String initialUrl, String newUrl, Type type, Object obj, ContentManagerLoaderSettings settings) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 387
[mono-rt] at Stride.Core.Serialization.Contents.ContentManager.Load(Type type, String url, ContentManagerLoaderSettings settings) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 136
[mono-rt] at Stride.Core.Serialization.Contents.ContentManager.Load[GameSettings](String url, ContentManagerLoaderSettings settings) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\core\Stride.Core.Serialization\Serialization\Contents\ContentManager.cs:line 113
[mono-rt] at Stride.Engine.Game.PrepareContext() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 264
[mono-rt] at Stride.Games.GameBase.Run(GameContext gameContext) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Games\GameBase.cs:line 435
[mono-rt] at GameMenu.GameMenuActivity.OnRun() in C:\Users\tonik\source\repos\GameMenu\GameMenu.Android\GameMenuActivity.cs:line 24
[mono-rt] at Silk.NET.Windowing.Sdl.Android.SilkActivity.Run()
[mono-rt] at Silk.NET.Windowing.Sdl.Android.SilkActivity.Main()
The Unsupported texture format: ETC2_RGB_SRgb
is due to the unhandled case in this method
Any rendering guru that know what the correct format(s) should be?
EDIT: Should be fixed as per #1898
Release Type: GitHub
Version: git branch main
Platform(s): Android
Describe the bug Asset compiler does not compile textures. StrideTexLibrary.Export Throws InvalidOperationException and here.
To Reproduce Steps to reproduce the behavior:
Expected behavior Build to succeed
Screenshots
Log and callstacks