ufna / UE-HTML5

HTML5 platform support for Unreal Engine development tracker
https://github.com/ufna/UE-HTML5-DEV
MIT License
61 stars 9 forks source link

FHTML5OpenGL for OpenGLES3 #12

Open ufna opened 2 years ago

ufna commented 2 years ago

WebGL2.0 is based on open gl es 3.0, which is not exactly es 3.1 used by the engine for mobile devices, but it looks like general difference is compute shaders and random access buffers, which is not what we want at HTML5 game.

ufna commented 2 years ago
WebGL: INVALID_ENUM: getParameter: invalid parameter name
c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47159 WebGL: INVALID_ENUM: getParameter: invalid parameter name
emscriptenWebGLGet @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47159
_glGetIntegerv @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47278
$FOpenGLDynamicRHIModule::CreateRHI(ERHIFeatureLevel::Type) @ 14cdf2ba:0xdc07dd
$HTML5_Init() @ 14cdf2ba:0x2b1e53
$main @ 14cdf2ba:0x2ba5dc
MyProject.UE4.js:115 GL_INVALID_ENUM in glGet0v(33379) and it returns null!
Module.printErr @ MyProject.UE4.js:115
emscriptenWebGLGet @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47204
_glGetIntegerv @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47278
$FOpenGLDynamicRHIModule::CreateRHI(ERHIFeatureLevel::Type) @ 14cdf2ba:0xdc0887
$HTML5_Init() @ 14cdf2ba:0x2b1e53
$main @ 14cdf2ba:0x2ba5dc
WebGL: INVALID_ENUM: bindTexture: invalid target
c86154a6-dc8f-46e0-9f7a-266ff2b2d002:46764 WebGL: INVALID_ENUM: bindTexture: invalid target
_glBindTexture @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:46764
$FOpenGLDynamicRHI::CachedSetupTextureStageInner(FOpenGLContextState&, int, unsigned int, unsigned int, int, int) @ 14cdf2ba:0xdb4141
$UE4Function_Private::TFunctionRefCaller<FOpenGLDynamicRHI::RHICreateShaderResourceView(FShaderResourceViewInitializer const&)::$_6, FOpenGLShaderResourceView* (FRHIShaderResourceView*)>::Call(void*, FRHIShaderResourceView*&) @ 14cdf2ba:0xe1c255
$UE4Function_Private::TFunctionRefBase<UE4Function_Private::TFunctionStorage<false>, FOpenGLShaderResourceView* (FRHIShaderResourceView*)>::operator()(FRHIShaderResourceView*) const @ 14cdf2ba:0xdf7933
$FOpenGLShaderResourceViewProxy::FOpenGLShaderResourceViewProxy(TFunction<FOpenGLShaderResourceView* (FRHIShaderResourceView*)>) @ 14cdf2ba:0xdebb81
$FOpenGLDynamicRHI::RHICreateShaderResourceView(FShaderResourceViewInitializer const&) @ 14cdf2ba:0xe0cff0
$FOpenGLDynamicRHI::RHICreateShaderResourceView(FRHIVertexBuffer*, unsigned int, unsigned char) @ 14cdf2ba:0xe0ced8
$FOpenGLDynamicRHI::CreateShaderResourceView_RenderThread(FRHICommandListImmediate&, FRHIVertexBuffer*, unsigned int, unsigned char) @ 14cdf2ba:0xdc5c58
$FEmptyVertexBuffer::InitRHI() @ 14cdf2ba:0xe52c9c
$FRenderResource::InitRHIForAllResources() @ 14cdf2ba:0xeb575a
$FOpenGLDynamicRHI::Init() @ 14cdf2ba:0xdc2b51
$HTML5_Init() @ 14cdf2ba:0x2b1e7a
$main @ 14cdf2ba:0x2ba5dc
86154a6-dc8f-46e0-9f7a-266ff2b2d002:46764 WebGL: INVALID_ENUM: bindTexture: invalid target
_glBindTexture @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:46764
$FOpenGLDynamicRHI::CachedSetupTextureStageInner(FOpenGLContextState&, int, unsigned int, unsigned int, int, int) @ 14cdf2ba:0xdb4141
$FOpenGLDynamicRHI::RHICreateUnorderedAccessView(FRHIVertexBuffer*, unsigned char) @ 14cdf2ba:0xe0dd21
$FOpenGLDynamicRHI::RHICreateUnorderedAccessView_RenderThread(FRHICommandListImmediate&, FRHIVertexBuffer*, unsigned char)::'lambda'()::operator()() const @ 14cdf2ba:0xdc8ce1
$FOpenGLDynamicRHI::RHICreateUnorderedAccessView_RenderThread(FRHICommandListImmediate&, FRHIVertexBuffer*, unsigned char) @ 14cdf2ba:0xdc87a5
$FEmptyVertexBuffer::InitRHI() @ 14cdf2ba:0xe52d1b
$FRenderResource::InitRHIForAllResources() @ 14cdf2ba:0xeb575a
$FOpenGLDynamicRHI::Init() @ 14cdf2ba:0xdc2b51
$HTML5_Init() @ 14cdf2ba:0x2b1e7a
$main @ 14cdf2ba:0x2ba5dc
c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47710 WebGL: INVALID_ENUM: texParameter: invalid parameter name
_glTexParameteri @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47710
$FOpenGLDynamicRHI::InitializeGLTextureInternal(unsigned int, FRHITexture*, unsigned int, unsigned int, bool, bool, bool, unsigned char, unsigned int, unsigned int, unsigned int, ETextureCreateFlags, FClearValueBinding const&, FResourceBulkDataInterface*) @ 14cdf2ba:0xde8bf1
$FOpenGLDynamicRHI::InitializeGLTexture(FRHITexture*, unsigned int, unsigned int, bool, bool, bool, unsigned char, unsigned int, unsigned int, unsigned int, ETextureCreateFlags, FClearValueBinding const&, FResourceBulkDataInterface*) @ 14cdf2ba:0xde8671
$UE4Function_Private::TFunctionRefCaller<FOpenGLDynamicRHI::RHICreateTexture2D_RenderThread(FRHICommandListImmediate&, unsigned int, unsigned int, unsigned char, unsigned int, unsigned int, ETextureCreateFlags, ERHIAccess, FRHIResourceCreateInfo&)::'lambda'(), void ()>::Call(void*) @ 14cdf2ba:0xdcc9e1
$UE4Function_Private::TFunctionRefBase<UE4Function_Private::TFunctionStorage<true>, void ()>::operator()() const @ 14cdf2ba:0x3cd53e
$RunOnGLRenderContextThread(TUniqueFunction<void ()>, bool) @ 14cdf2ba:0xe0abd3
$FOpenGLDynamicRHI::RHICreateTexture2D_RenderThread(FRHICommandListImmediate&, unsigned int, unsigned int, unsigned char, unsigned int, unsigned int, ETextureCreateFlags, ERHIAccess, FRHIResourceCreateInfo&) @ 14cdf2ba:0xdc6713
$FSlateTexture2DRHIRef::InitDynamicRHI() @ 14cdf2ba:0x2891936
$non-virtual thunk to FSlateTexture2DRHIRef::InitDynamicRHI() @ 14cdf2ba:0x2891f92
$FRenderResource::InitResource() @ 14cdf2ba:0xeb5b9a
$BeginInitResource(FRenderResource*)::$_2::operator()(FRHICommandListImmediate&) const @ 14cdf2ba:0xeb638e
$BeginInitResource(FRenderResource*) @ 14cdf2ba:0xeb5ed0
$FSlateRHIResourceManager::CreateTextures(TArray<FSlateBrush const*, TSizedDefaultAllocator<32> > const&) @ 14cdf2ba:0x1e4e5e0
$FSlateRHIResourceManager::LoadUsedTextures() @ 14cdf2ba:0x1e4038e
$FSlateRHIRenderer::Initialize() @ 14cdf2ba:0x1e3ffbf
$FSlateApplication::InitializeRenderer(TSharedRef<FSlateRenderer, (ESPMode)0>, bool) @ 14cdf2ba:0xa41a21
$HTML5_Init() @ 14cdf2ba:0x2b4cff
$main @ 14cdf2ba:0x2ba5dc
WebGL: INVALID_ENUM: getProgramParameter: invalid parameter name
c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47333 WebGL: INVALID_ENUM: getProgramParameter: invalid parameter name
_glGetProgramiv @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47333
$SetNewProgramStats(unsigned int) @ 14cdf2ba:0xdd5555
$FOpenGLDynamicRHI::RHICreateBoundShaderState_internal(FRHIVertexDeclaration*, FRHIVertexShader*, FRHIHullShader*, FRHIDomainShader*, FRHIPixelShader*, FRHIGeometryShader*, bool)::'lambda'()::operator()() const @ 14cdf2ba:0xdcb62e
$FOpenGLDynamicRHI::RHICreateBoundShaderState_internal(FRHIVertexDeclaration*, FRHIVertexShader*, FRHIHullShader*, FRHIDomainShader*, FRHIPixelShader*, FRHIGeometryShader*, bool) @ 14cdf2ba:0xdc506a
$FOpenGLDynamicRHI::RHISetGraphicsPipelineState(FRHIGraphicsPipelineState*, bool) @ 14cdf2ba:0xdc96d1
$non-virtual thunk to FOpenGLDynamicRHI::RHISetGraphicsPipelineState(FRHIGraphicsPipelineState*, bool) @ 14cdf2ba:0xdc9a38
$SetGraphicsPipelineState(FRHICommandList&, FGraphicsPipelineStateInitializer const&, EApplyRendertargetOption, bool) @ 14cdf2ba:0xe2c9e7
$ClearQuadSetup(FRHICommandList&, bool, int, FLinearColor const*, bool, float, bool, unsigned int, TFunction<void (FGraphicsPipelineStateInitializer&)>) @ 14cdf2ba:0xe5b468
$DrawClearQuadMRT(FRHICommandList&, bool, int, FLinearColor const*, bool, float, bool, unsigned int) @ 14cdf2ba:0xe5b110
$DrawClearQuad(FRHICommandList&, FLinearColor const&) @ 14cdf2ba:0xeb30bd
$FCanvas::Clear(FLinearColor const&)::$_44::operator()(FRHICommandList&) const @ 14cdf2ba:0x29dbf50
$FCanvas::Clear(FLinearColor const&) @ 14cdf2ba:0x29db4fc
$UGameViewportClient::Draw(FViewport*, FCanvas*) @ 14cdf2ba:0x248358b
$non-virtual thunk to UGameViewportClient::Draw(FViewport*, FCanvas*) @ 14cdf2ba:0x248bc3d
$FViewport::Draw(bool) @ 14cdf2ba:0x294d46e
$FSceneViewport::ResizeViewport(unsigned int, unsigned int, EWindowMode::Type) @ 14cdf2ba:0x2880b50
$FSceneViewport::ResizeFrame(unsigned int, unsigned int, EWindowMode::Type) @ 14cdf2ba:0x2880320
$UGameEngine::SwitchGameWindowToUseGameViewport() @ 14cdf2ba:0x2449245
$UGameEngine::Init(IEngineLoop*) @ 14cdf2ba:0x2449d7d
$FEngineLoop::Init() @ 14cdf2ba:0x2c0557
$HTML5_Init() @ 14cdf2ba:0x2ba429
$main @ 14cdf2ba:0x2ba5dc
c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47001 WebGL: INVALID_OPERATION: drawArrays: no buffer is bound to enabled attribute
_glDrawArrays @ c86154a6-dc8f-46e0-9f7a-266ff2b2d002:47001
$FOpenGLDynamicRHI::RHIDrawPrimitive(unsigned int, unsigned int, unsigned int) @ 14cdf2ba:0xdbafa8
$non-virtual thunk to FOpenGLDynamicRHI::RHIDrawPrimitive(unsigned int, unsigned int, unsigned int) @ 14cdf2ba:0xdbb6fb
$DrawClearQuadMRT(FRHICommandList&, bool, int, FLinearColor const*, bool, float, bool, unsigned int) @ 14cdf2ba:0xe5b1f4
$DrawClearQuad(FRHICommandList&, FLinearColor const&) @ 14cdf2ba:0xeb30bd
$FCanvas::Clear(FLinearColor const&)::$_44::operator()(FRHICommandList&) const @ 14cdf2ba:0x29dbf50
$FCanvas::Clear(FLinearColor const&) @ 14cdf2ba:0x29db4fc
$UGameViewportClient::Draw(FViewport*, FCanvas*) @ 14cdf2ba:0x248358b
$non-virtual thunk to UGameViewportClient::Draw(FViewport*, FCanvas*) @ 14cdf2ba:0x248bc3d
$FViewport::Draw(bool) @ 14cdf2ba:0x294d46e
$FSceneViewport::ResizeViewport(unsigned int, unsigned int, EWindowMode::Type) @ 14cdf2ba:0x2880b50
$FSceneViewport::ResizeFrame(unsigned int, unsigned int, EWindowMode::Type) @ 14cdf2ba:0x2880320
$UGameEngine::SwitchGameWindowToUseGameViewport() @ 14cdf2ba:0x2449245
$UGameEngine::Init(IEngineLoop*) @ 14cdf2ba:0x2449d7d
$FEngineLoop::Init() @ 14cdf2ba:0x2c0557
$HTML5_Init() @ 14cdf2ba:0x2ba429
$main @ 14cdf2ba:0x2ba5dc
[.WebGL-000070AE0134CE00] GL_INVALID_OPERATION: Level of detail outside of range.
MyProject.html:1 [.WebGL-000070AE0134CE00] GL_INVALID_OPERATION: Level of detail outside of range.
MyProject.html:1 [.WebGL-000070AE0134CE00] GL_INVALID_OPERATION: No defined conversion between clear value and attachment format.