Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenGL backend] Add fallback for if glGenerateMipmap is unavailable #260

Merged
merged 1 commit into from Mar 11, 2019

Conversation

@past-due
Copy link
Contributor

commented Mar 11, 2019

We have reports that certain (older) Intel graphics drivers may not provide glGenerateMipmap support on Windows (in certain situations).

Provide a fallback path for when glGenerateMipmap is unavailable.

@past-due

This comment has been minimized.

Copy link
Contributor Author

commented Mar 11, 2019

Player confirmed (on IRC) that this fixed their issues.

For reference, here is a log showing the error in 3.3.0_beta1:

Expand log

-------------------
 
Error occurred on Monday, March 11, 2019 at 13:47:15.
 
Program: C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe (warzone2100)
Command line: "C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe"
Version: Version: 3.3.0-beta1, Built: Feb 10 2019
Distributor: wz2100.net
Compiled on: Feb 10 2019 21:03:39
Compiled by: MSVC 191627025 (c++ std: 201402)
Compiled mode: Release build
Executed on: Mon Mar 11 13:47:07 2019
Operating system: Windows
Version: 6.1.7601.24354
Machine: x86_64
 
Pointers: 32bit
 
Compiled against PhysicsFS version: 3.0.1
Running with PhysicsFS version: 3.0.1
 
Misc Data:
[13:47:08]Video Mode 640 x 480 (fullscreen)
[13:47:08]OpenGL Vendor: Intel
[13:47:08]OpenGL Renderer: Mobile Intel(R) 4 Series Express Chipset Family
[13:47:08]OpenGL Version: 2.1.0 - Build 8.15.10.2302
[13:47:08]GLEW Version: 2.1.0
[13:47:08]OpenGL GLSL Version : 1.20  - Intel Build 8.15.10.2302
[13:47:09]OpenAL Device Name: OpenAL Soft
[13:47:09]OpenAL Vendor: OpenAL Community
[13:47:09]OpenAL Version: 1.1 ALSOFT 1.19.1
[13:47:09]OpenAL Renderer: OpenAL Soft
[13:47:09]OpenAL Extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_block_alignment AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFTX_events AL_SOFTX_filter_gain_ex AL_SOFT_gain_clamp_ex AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SO
[13:47:09]Using Backend: SDL
[13:47:09]Using language: System locale
 
 
C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe caused an Access Violation at location 00000000 Writing to location 00000000.
 
 
Registers:
eax=00000000 ebx=003fdf1c ecx=0569d7f0 edx=00000027 esi=00000220 edi=00000008
eip=00000000 esp=003fde58 ebp=003fdef8 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206

<snip>

Call Stack:
0138733E  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  gl_texture::generate_mip_levels  c:\projects\warzone2100\lib\ivis_opengl\gfx_api_gl.cpp:102
01386626  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  pie_AddTexPage  c:\projects\warzone2100\lib\ivis_opengl\tex.cpp:121
01386255  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  iV_GetTexture  c:\projects\warzone2100\lib\ivis_opengl\tex.cpp:224
013851A8  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  iV_ProcessIMD  c:\projects\warzone2100\lib\ivis_opengl\imdload.cpp:1012
01385DAD  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  tryLoad  c:\projects\warzone2100\lib\ivis_opengl\imdload.cpp:80
013857CB  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  modelGet  c:\projects\warzone2100\lib\ivis_opengl\imdload.cpp:110
0133EA8F  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  statsGetIMD  c:\projects\warzone2100\src\stats.cpp:259
0133D3DD  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  loadWeaponStats  c:\projects\warzone2100\src\stats.cpp:409
011DDD2C  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  bufferSWEAPONLoad  c:\projects\warzone2100\src\data.cpp:175
013CAA12  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  resLoadFile  c:\projects\warzone2100\lib\framework\frameresource.cpp:547
013CD401  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  res_parse  c:\projects\warzone2100\build\lib\framework\resource_parser.ypp:119
013CA3F5  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  resLoad  c:\projects\warzone2100\lib\framework\frameresource.cpp:206
01296417  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  startMultiplayerGame  c:\projects\warzone2100\src\multiint.cpp:3487
01292EB7  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  processMultiopWidgets  c:\projects\warzone2100\src\multiint.cpp:3379
01294DF7  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  runMultiOptions  c:\projects\warzone2100\src\multiint.cpp:3896
013608C4  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  titleLoop  c:\projects\warzone2100\src\wrappers.cpp:183
0126CFBD  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  runTitleLoop  c:\projects\warzone2100\src\main.cpp:981
0126BF62  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  mainLoop  c:\projects\warzone2100\src\main.cpp:1058
013B14CB  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  wzMainEventLoop  c:\projects\warzone2100\lib\sdl\main_sdl.cpp:2274
0126CEEE  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  realmain  c:\projects\warzone2100\src\main.cpp:1393
013EC3DE  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  main_getcmdline  c:\projects\warzone2100\vcpkg\buildtrees\sdl2\src\ease-2.0.9-ad425106c1\src\main\windows\sdl_windows_main.c:177
013EC325  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  WinMain  c:\projects\warzone2100\vcpkg\buildtrees\sdl2\src\ease-2.0.9-ad425106c1\src\main\windows\sdl_windows_main.c:205
013EB804  C:\Program Files (x86)\Warzone 2100-3.3.0-beta1\bin\warzone2100.exe  __scrt_common_main_seh  d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
76BA343D  C:\Windows\syswow64\kernel32.dll:76BA343D  BaseThreadInitThunk
777F9802  C:\Windows\SysWOW64\ntdll.dll:777F9802  RtlInitializeExceptionChain
777F97D5  C:\Windows\SysWOW64\ntdll.dll:777F97D5  RtlInitializeExceptionChain

@past-due past-due merged commit a850fb5 into Warzone2100:master Mar 11, 2019
7 of 8 checks passed
7 of 8 checks passed
LGTM analysis: C/C++ Running analyses for revisions
Details
LGTM analysis: JavaScript No code changes detected
Details
LGTM analysis: Python No code changes detected
Details
WIP Ready for review
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
freebsd_build FreeBSD:freebsd-11-2-release-amd64 Task Summary
Details
freebsd_build FreeBSD:freebsd-12-0-release-amd64 Task Summary
Details
@past-due past-due deleted the past-due:2019_03_11_mipmap_fallback_1 branch Mar 11, 2019
@past-due past-due added this to the 3.3.0_beta2 milestone Mar 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.