Intel GMA 4500M and similar GL 2.1 hardware and even some GL 3.1 hardware (HD 3000?)
The engine crashes at startup with GLES selected. I know the backtrace it's not very helpful and i wanted to compile a later revision ('Fixing GLES mode to work on real GLES hardware and OpenGL 2 again') installing Windows 10 and VS 2019 but that old laptop now turns itself off. Now it has Windows 7 and VS 2017 installed and i can't compile a later commit. This is from 'GLES: Fix texture MapBuffer and AllocateBuffer create client side memory.' but all versions crash. @emileb
0000000000000000() Desconocido
> gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::InitializeState() Línea 150 C++
gzdoom.exe!IVideo::SetResolution() Línea 325 C++
gzdoom.exe!V_Init2() Línea 392 C++
gzdoom.exe!D_DoomMain_Internal() Línea 3497 C++
gzdoom.exe!GameMain() Línea 3603 C++
gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Línea 981 C++
gzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Línea 1270 C++
linea 150: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- this 0x000000000ba26270 {HWGammaActive=false mDebug=empty camtexcount=0 } OpenGLESRenderer::OpenGLFrameBuffer *
- SystemGLFrameBuffer {SwapInterval=1 } SystemGLFrameBuffer
- SystemBaseFrameBuffer {m_Gamma=-431602080. m_Brightness=-431602080. m_Contrast=-431602080. ...} SystemBaseFrameBuffer
- DFrameBuffer {Width=1008 Height=602 hwcaps=32 ...} DFrameBuffer
- __vfptr 0x00000001403d7100 {gzdoom.exe!void(* OpenGLESRenderer::OpenGLFrameBuffer::`vftable'[46])()} {0x000000013f389a0f {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::`vector deleting destructor'(unsigned int)}, ...} void * *
[0] 0x000000013f389a0f {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::`vector deleting destructor'(unsigned int)} void *
[1] 0x000000013f369840 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::InitializeState(void)} void *
[2] 0x000000013f372b16 {gzdoom.exe!DFrameBuffer::IsVulkan(void)} void *
[3] 0x000000013f3835ec {gzdoom.exe!DFrameBuffer::IsPoly(void)} void *
[4] 0x000000013f373a20 {gzdoom.exe!DFrameBuffer::GetCanvas(void)} void *
[5] 0x000000013f38cdcc {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::Update(void)} void *
[6] 0x000000013f374f3d {gzdoom.exe!DFrameBuffer::UpdatePalette(void)} void *
[7] 0x000000013f37e6b9 {gzdoom.exe!SystemBaseFrameBuffer::IsFullscreen(void)} void *
[8] 0x000000013f38cd0e {gzdoom.exe!SystemBaseFrameBuffer::ToggleFullscreen(bool)} void *
[9] 0x000000013f37d967 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::SetVSync(bool)} void *
[10] 0x000000013f38243a {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::SetTextureFilterMode(void)} void *
[11] 0x000000013f3803e2 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::CreateHardwareTexture(int)} void *
[12] 0x000000013f37cdd2 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::PrecacheMaterial(class FMaterial *,int)} void *
[13] 0x000000013f37a22b {gzdoom.exe!DFrameBuffer::CreateMaterial(class FGameTexture *,int)} void *
[14] 0x000000013f375073 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::BeginFrame(void)} void *
[15] 0x000000013f37ded0 {gzdoom.exe!SystemBaseFrameBuffer::SetWindowSize(int,int)} void *
[16] 0x000000013f38b20b {gzdoom.exe!DFrameBuffer::StartPrecaching(void)} void *
[17] 0x000000013f38ad7e {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::RenderState(void)} void *
[18] 0x000000013f366aa5 {gzdoom.exe!SystemBaseFrameBuffer::GetClientWidth(void)} void *
[19] 0x000000013f375b1d {gzdoom.exe!SystemBaseFrameBuffer::GetClientHeight(void)} void *
[20] 0x000000013f38a53b {gzdoom.exe!DFrameBuffer::BlurScene(float)} void *
[21] 0x000000013f386cc9 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::CreateVertexBuffer(void)} void *
[22] 0x000000013f383c54 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::CreateIndexBuffer(void)} void *
[23] 0x000000013f381503 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::CreateDataBuffer(int,bool,bool)} void *
[24] 0x000000013f3668c0 {gzdoom.exe!DFrameBuffer::RenderTextureIsFlipped(void)const } void *
[25] 0x000000013f37e35d {gzdoom.exe!DFrameBuffer::Backend(void)} void *
[26] 0x000000013f36c5e5 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::DeviceName(void)const } void *
[27] 0x000000013f372afd {gzdoom.exe!DFrameBuffer::AmbientOccludeScene(float)} void *
[28] 0x000000013f36ead9 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::FirstEye(void)} void *
[29] 0x000000013f377e0e {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::NextEye(int)} void *
[30] 0x000000013f366a19 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::SetSceneRenderTarget(bool)} void *
[31] 0x000000013f3639bd {gzdoom.exe!DFrameBuffer::UpdateShadowMap(void)} void *
[32] 0x000000013f371a09 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::WaitForCommands(bool)} void *
[33] 0x000000013f376d47 {gzdoom.exe!DFrameBuffer::SetSaveBuffers(bool)} void *
[34] 0x000000013f361d66 {gzdoom.exe!DFrameBuffer::ImageTransitionScene(bool)} void *
[35] 0x000000013f364836 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::CopyScreenToBuffer(int,int,unsigned char *)} void *
[36] 0x000000013f3834d9 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::FlipSavePic(void)const } void *
[37] 0x000000013f361d8e {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::RenderTextureView(class FCanvasTexture *,class std::function<void >)} void *
[38] 0x000000013f36b500 {gzdoom.exe!DFrameBuffer::SetActiveRenderTarget(void)} void *
[39] 0x000000013f371c7f {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::WipeStartScreen(void)} void *
[40] 0x000000013f364bf1 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::WipeEndScreen(void)} void *
[41] 0x000000013f386e72 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::PostProcessScene(bool,int,float,class std::function<void > const &)} void *
[42] 0x000000013f36b60e {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::Draw2D(void)} void *
[43] 0x000000013f3818f0 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::SetViewportRects(struct IntRect *)} void *
[44] 0x000000013f36be74 {gzdoom.exe!OpenGLESRenderer::OpenGLFrameBuffer::GetScreenshotBuffer(int &,enum ESSType &,float &)} void *
Width 1008 int
Height 602 int
hwcaps 32 int
glslversion 0.000000000 float
+ instack 0x000000000ba26288 {0, 0} int[2]
stencilValue 0 int
uniformblockalignment 256 unsigned int
maxuniformblock 65536 unsigned int
+ vendorstring 0x0000000180b7d920 "Intel" const char *
+ mSkyData 0x0000000000000000 <NULL> FSkyVertexBuffer *
+ mVertexData 0x0000000000000000 <NULL> FFlatVertexBuffer *
+ mViewpoints 0x0000000000000000 <NULL> HWViewpointBuffer *
+ mLights 0x0000000000000000 <NULL> FLightBuffer *
- mShadowMap {mLights=Size = 0 mAABBTree=0x0000000000000000 <NULL> mNewTree=false ...} IShadowMap
- __vfptr 0x00000001405100e8 {gzdoom.exe!void(* IShadowMap::`vftable'[2])()} {0x000000013f387755 {gzdoom.exe!IShadowMap::`vector deleting destructor'(unsigned int)}} void * *
[0] 0x000000013f387755 {gzdoom.exe!IShadowMap::`vector deleting destructor'(unsigned int)} void *
- mLights Size = 0 TArray<float,float>
Size 0 unsigned int
Capacity 0 unsigned int
+ [Vista sin formato] {Array=0x0000000000000000 {???} Count=0 Most=0 } TArray<float,float>
+ mAABBTree 0x0000000000000000 <NULL> hwrenderer::LevelAABBTree *
mNewTree false bool
+ mLightList 0x0000000000000000 <NULL> IDataBuffer *
+ mNodesBuffer 0x0000000000000000 <NULL> IDataBuffer *
+ mLinesBuffer 0x0000000000000000 <NULL> IDataBuffer *
+ CollectLights empty std::function<void __cdecl(void)>
- mScreenViewport {left=-842150451 top=-842150451 width=-842150451 ...} IntRect
left -842150451 int
top -842150451 int
width -842150451 int
height -842150451 int
- mSceneViewport {left=-842150451 top=-842150451 width=-842150451 ...} IntRect
left -842150451 int
top -842150451 int
width -842150451 int
height -842150451 int
- mOutputLetterbox {left=-842150451 top=-842150451 width=-842150451 ...} IntRect
left -842150451 int
top -842150451 int
width -842150451 int
height -842150451 int
- mSceneClearColor 0x000000000ba26378 {0.000000000, 0.000000000, 0.000000000, 255.000000} float[4]
[0] 0.000000000 float
[1] 0.000000000 float
[2] 0.000000000 float
[3] 255.000000 float
mPipelineNbr 2 int
mPipelineType 1 int
FrameTime 0 unsigned __int64
fpsLimitTime 0 unsigned __int64
isIn2D false bool
m_Gamma -431602080. float
m_Brightness -431602080. float
m_Contrast -431602080. float
+ m_origGamma 0x000000000ba263b4 {52685, 52685, 52685, 52685, 52685, 52685, 52685, 52685, 52685, 52685, 52685, 52685, ...} unsigned short[768]
m_Fullscreen false bool
- m_displayDeviceNameBuffer 0x000000000ba269b5 "\\\\.\\DISPLAY1" char[32]
[0] 92 '\\' char
[1] 92 '\\' char
[2] 46 '.' char
[3] 92 '\\' char
[4] 68 'D' char
[5] 73 'I' char
[6] 83 'S' char
[7] 80 'P' char
[8] 76 'L' char
[9] 65 'A' char
[10] 89 'Y' char
[11] 49 '1' char
[12] 0 '\0' char
[13] -51 'Í' char
[14] -51 'Í' char
[15] -51 'Í' char
[16] -51 'Í' char
[17] -51 'Í' char
[18] -51 'Í' char
[19] -51 'Í' char
[20] -51 'Í' char
[21] -51 'Í' char
[22] -51 'Í' char
[23] -51 'Í' char
[24] -51 'Í' char
[25] -51 'Í' char
[26] -51 'Í' char
[27] -51 'Í' char
[28] -51 'Í' char
[29] -51 'Í' char
[30] -51 'Í' char
[31] -51 'Í' char
- m_displayDeviceName 0x000000000ba269b5 "\\\\.\\DISPLAY1" char *
92 '\\' char
m_Monitor 0x0000000000010001 void *
SwapInterval 1 int
HWGammaActive false bool
- mDebug empty std::shared_ptr<OpenGLESRenderer::FGLDebug>
- [Vista sin formato] {...} std::shared_ptr<OpenGLESRenderer::FGLDebug>
+ std::_Ptr_base<OpenGLESRenderer::FGLDebug> {_Ptr=0x0000000000000000 <NULL> _Rep=0x0000000000000000 <NULL> } std::_Ptr_base<OpenGLESRenderer::FGLDebug>
camtexcount 0 int
Just select GLES and run any iwad.
GZDoom version
All versions
Which game are you running with GZDoom?
Doom 2
What Operating System are you using?
Windows
Please describe your specific OS version
All Windows versions
Relevant hardware info
Intel GMA 4500M and similar GL 2.1 hardware and even some GL 3.1 hardware (HD 3000?)
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
The engine crashes at startup with GLES selected. I know the backtrace it's not very helpful and i wanted to compile a later revision ('Fixing GLES mode to work on real GLES hardware and OpenGL 2 again') installing Windows 10 and VS 2019 but that old laptop now turns itself off. Now it has Windows 7 and VS 2017 installed and i can't compile a later commit. This is from 'GLES: Fix texture MapBuffer and AllocateBuffer create client side memory.' but all versions crash. @emileb
Steps to reproduce the behaviour.
Just select GLES and run any iwad.
Your configuration
Provide a Log
No response