Jonathan G Rennison
87948d8029
Thread: Adjust checks for whether current thread is the game thread
2021-06-20 10:00:36 +01:00
Michael Lutz
5be60d03a9
Fix: [OpenGL] Increase timeout when waiting for the GPU to be done with the drawing buffer.
...
The old timeout could be too short if v-sync was on on lower refresh rates.
(cherry picked from commit 97722931a9 )
2021-06-07 18:28:10 +01:00
Jonathan G Rennison
bf87578173
Fix #264 : Crash before calling SDL_SetTextInputRect with no window focused
2021-05-30 07:38:37 +01:00
Patric Stout
457b4f80b6
Fix 91b8ce07: dedicated servers could no longer create screenshots ( #9232 )
...
Although most commands are not useful on a dedicated server,
screenshot commands should be dequeued.
(cherry picked from commit 56050fc96f )
2021-05-14 18:25:34 +01:00
Milek7
deb2ad8997
Codechange: Acquire video buffer before taking game state lock to prevent erratic fast forward behaviour ( #9140 )
...
(cherry picked from commit 20762f9117 )
2021-05-06 21:12:59 +01:00
Michael Lutz
1b46ef756e
Codechange: Generalise the delayed blitter change to a generic video driver command queue.
...
(cherry picked from commit 91b8ce073f )
2021-05-06 20:52:00 +01:00
Peter Nelson
a469b4f395
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
...
(cherry picked from commit 4791ff2862 )
2021-05-06 20:11:55 +01:00
Jonathan G Rennison
8eb27e1ac7
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/lang/japanese.txt
# src/network/core/config.h
# src/network/core/packet.cpp
# src/network/core/tcp.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/toolbar_gui.cpp
# src/vehicle_gui_base.h
2021-04-25 22:14:59 +01:00
Jonathan G Rennison
253772e9af
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# COMPILING.md
# src/console.cpp
# src/console_cmds.cpp
# src/console_internal.h
# src/rev.cpp.in
2021-04-25 02:14:58 +01:00
Michael Lutz
f4d5c8d99e
Fix: [OpenGL] Main loop expects to start with the video buffer unmapped. ( #9100 )
2021-04-25 00:43:38 +02:00
Michael Lutz
d1dd997f07
Change: [Win32] Limit the OpenGL video driver to OpenGL 3.2 or newer on Windows.
2021-04-22 21:04:04 +02:00
Michael Lutz
ef80baf75c
Codechange: [Win32] Try getting an OpenGL 4.5 context first before aiming at 3.2.
2021-04-22 21:04:04 +02:00
Michael Lutz
e53313391a
Fix: [OpenGL] Check maximum supported texture size against screen resolution.
2021-04-21 22:44:59 +02:00
Jonathan G Rennison
205673715c
MinGW32: Fix EnumDisplayMonitors callback calling convention compile error
2021-04-14 20:49:26 +01:00
Jonathan G Rennison
253d54ce05
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/french.txt
# src/network/network_udp.cpp
2021-04-12 22:59:30 +01:00
Michael Lutz
433602b072
Fix #9028 : [OpenGL] Clear cursor cache on destroying the OpenGL backend.
2021-04-12 22:40:40 +02:00
Rubidium
468b1c6c5d
Fix: [win32] buffer_locked state not initialised, causing _screen.dst_ptr to be potentially not set
2021-04-12 21:14:01 +02:00
Rubidium
8562395413
Fix: [Video] fast forward boolean states not initialised, potentially causing unstoppable fast forward
2021-04-12 21:14:01 +02:00
Rubidium
64e8305874
Fix: [SDL] buffer_locked state not initialised, causing _screen.dst_ptr to be potentially not set
2021-04-12 21:14:01 +02:00
Jonathan G Rennison
272e583478
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/korean.txt
# src/settings.cpp
2021-04-12 00:22:13 +01:00
Michael Lutz
5644c00482
Fix: Check for a validly mapped OpenGL screen buffer during driver init. ( #9007 )
2021-04-11 14:28:29 +02:00
Patric Stout
f0f2073006
Feature: allow a toggle to enable/disable vsync
...
Vsync should be off by default, as for most players it will be
better to play without vsync. Exception exist, mainly people who
play in fullscreen mode.
2021-04-11 14:26:00 +02:00
Jonathan G Rennison
227041008f
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/debug.cpp
# src/lang/russian.txt
# src/misc_gui.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/font_win32.cpp
# src/os/windows/win32.cpp
# src/rail_cmd.cpp
# src/window_gui.h
2021-04-11 03:05:08 +01:00
Jonathan G Rennison
edfa04286b
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release.yml
# bin/CMakeLists.txt
# src/dock_gui.cpp
# src/lang/brazilian_portuguese.txt
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/dutch.txt
# src/lang/english.txt
# src/lang/english_US.txt
# src/lang/estonian.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/german.txt
# src/lang/hungarian.txt
# src/lang/indonesian.txt
# src/lang/italian.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/lithuanian.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/polish.txt
# src/lang/portuguese.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/newgrf.cpp
# src/newgrf_gui.cpp
# src/object_gui.cpp
# src/pathfinder/yapf/yapf_costrail.hpp
# src/pathfinder/yapf/yapf_node_rail.hpp
# src/rail_cmd.cpp
# src/roadveh_cmd.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/water_cmd.cpp
2021-04-11 02:39:33 +01:00
Jonathan G Rennison
39b7ef31f8
Fix: Data races on cursor state in OpenGL backends
2021-04-10 18:31:42 +02:00
Jonathan G Rennison
fbd0a2e65a
Fix: Thread unsafe use of sprite cache in OpenGLBackend::DrawMouseCursor
...
See also: #8870
See also: #8977
2021-04-10 18:31:42 +02:00
Michael Lutz
96d33ab46a
Fix #8930 : [Win32] Don't handle printable keys on keydown if an edit box is in focus.
...
Handle printable input only when the matching WM_CHAR message is incoming.
Without an edit box, do the handling in keydown as usual to support hotkeys.
2021-04-09 12:24:27 +02:00
Niels Martin Hansen
e0561dbded
Fix #8713 : Change OTTD2FS and FS2OTTD to return string objects instead of static buffers
2021-04-07 09:31:47 +02:00
Jonathan G Rennison
ef81729dde
Partially fix data race issues around _cur_palette
...
See: https://github.com/OpenTTD/OpenTTD/issues/8712
2021-04-06 19:32:15 +01:00
Jonathan G Rennison
63ddf7f587
Crashlog: Update thread/lock handling to match GameLoop changes
2021-04-06 18:43:50 +01:00
Jonathan G Rennison
0e959a0563
OpenGL: Avoid data races around _cursor
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
59daa573b5
Avoid data races around modifier keys and pause/FF state
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
f2bfcc5524
Partially fix data race issues around _cur_palette
...
See: https://github.com/OpenTTD/OpenTTD/issues/8712
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
e9186308e9
Fix data race in OpenGLBackend::DrawMouseCursor
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
70897c3e5e
Only call InteractiveRandom when game state mutex is held
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
e094b7f1d6
Partially fix thread safety issues around _cur_palette
...
Replaces: 4c59dfb6
See also: https://github.com/OpenTTD/OpenTTD/issues/8712
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
f94eb286f2
Fix missing MinGW thread includes
2021-04-05 20:04:53 +01:00
Jonathan G Rennison
2a13c8623c
Revert: 4c59dfb6, move DoPaletteAnimations back into GameLoop
...
Race fix to follow
2021-04-05 19:55:53 +01:00
Jonathan G Rennison
2e6dbfee05
Merge branch 'master' into jgrpp
2021-04-05 19:31:34 +01:00
Jonathan G Rennison
5e14b54a0c
Merge branch 'master' into jgrpp
2021-04-05 17:51:45 +01:00
Jonathan G Rennison
297b340697
Revert "OpenGL: Temporarily reduce OpenGL driver priorities"
...
This reverts commit f81c71e15b .
2021-04-05 17:48:46 +01:00
Michael Lutz
1cd3a3b070
Fix #8935 : [OSX] Crash when clicking 'Save' due to wrongly-threaded OS call. ( #8944 )
2021-04-05 12:18:45 +02:00
Milek7
7a886cb4d4
Change: Do not disallow persistent buffer mapping on AMD GPUs, as it is actually faster.
2021-03-25 19:37:24 +00:00
Michael Lutz
df958dc907
Fix f0f96e31: [OpenGL] Broken window resizing due to invalid buffer pitch on texture creation.
2021-03-21 22:26:55 +01:00
frosch
0230624359
Fix f0f96e31: [OpenGL] warning: comparison of integer expressions of different signedness. ( #8881 )
2021-03-21 18:38:51 +01:00
Michael Lutz
f0f96e3103
Fix #8871 : [OpenGL] Initialize all buffers after resize and clear back buffer. ( #8877 )
2021-03-20 19:43:54 +01:00
Patric Stout
970fedd78c
Add: make modal windows update more smooth
...
Basically, modal windows had their own thread-locking for what
drawing was possible. This is a bit nonsense now we have a
game-thread. And it makes much more sense to do things like
NewGRFScan and GenerateWorld in the game-thread, and not in a
thread next to the game-thread.
This commit changes that: it removes the threads for NewGRFScan
and GenerateWorld, and just runs the code in the game-thread.
On regular intervals it allows the draw-thread to do a tick,
which gives a much smoother look and feel.
It does slow down NewGRFScan and GenerateWorld ever so slightly
as it spends more time on drawing. But the slowdown is not
measureable on my machines (with 700+ NewGRFs / 4kx4k map and
a Debug build).
Running without a game-thread means NewGRFScan and GenerateWorld
are now blocking.
2021-03-10 13:41:18 +01:00
sean
0464a50ab8
Add: Display refresh rate game option ( #8813 )
2021-03-09 10:22:52 +01:00
Michael Lutz
436cdf1fc8
Fix #8825 : [OpenGL] Don't clear cursor cache from the game loop thread.
2021-03-08 21:35:35 +01:00
Patric Stout
8946b41d20
Fix: ensure switching blitter happens in the main thread
...
This because video-drivers might need to make changes to their
context, which for most video-drivers has to be done in the same
thread as the window was created; main thread in our case.
2021-03-08 19:18:55 +01:00