Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
alexey.lysiuk
d9dcc26dc6
- set default magnification filter for Metal layer to nearest
...
Magnification filter is applied to swapchain image when it's copied to a physical display surface
This is needed for gfx-portability because MoltenVK uses nearest sampling by default
2019-08-04 13:37:47 +03:00
alexey.lysiuk
ff4bc8bab9
- use EXT_metal_surface extension for Vulkan surface creation
...
Prefer EXT_metal_surface over deprecated MVK_macos_surface extension, and use it only when modern one is not available
2019-08-03 13:16:12 +03:00
alexey.lysiuk
a308becb48
- pass NSView instance when creating macOS Vulkan surface
...
MoltenVK allows passing a layer, although Vulkan specs prohibit this
https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkMacOSSurfaceCreateInfoMVK.html
This helps with testing of renderer using Vulkan Portability Implementation
2019-07-27 12:55:05 +03:00
Christoph Oelckers
7346288bf5
- moved some more files.
2019-07-14 21:09:49 +02:00
alexey.lysiuk
053736363d
- extended list of predefined filenames for SDL2 shared object lookup
...
https://forum.zdoom.org/viewtopic.php?t=65348
2019-07-14 10:52:32 +03:00
alexey.lysiuk
aba7132846
- cleaned up language detection leftovers
2019-07-13 15:47:43 +03:00
Christoph Oelckers
5df8919b90
Merge branch 'master' into userlights
2019-07-07 08:11:09 +02:00
alexey.lysiuk
80c20b6a3b
- added detection of macOS Catalina
2019-06-28 12:20:52 +03:00
Christoph Oelckers
5ef43143f8
- removed unused CVAR_GUID type
2019-06-27 09:16:34 +02:00
Christoph Oelckers
3810d9beb3
- Make HAVE_VULKAN an option so that it can be disabled
...
Had to compile on a Mac with no MoltenVK and no Vulkan SDK.
2019-06-27 09:10:20 +02:00
alexey.lysiuk
ea8af08bcf
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_main.mm:225:12: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:247:17: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:545:2: error: expected '}'
2019-06-10 14:44:06 +03:00
Christoph Oelckers
2766303cfc
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Gutawer
aa75f086fa
- cleaned up SDL mouse event handling
...
* Right/middle clicking no longer cancels out the mouse motion events
* The events for the side mouse buttons (EV_GUI_BackButtonDown/Up, EV_GUI_FwdButtonDown/Up) were never fired
* The EV_GUI_WheelRight/Left events were never fired
* The key bindings for mouse buttons above 3 (from 4-8) were broken - pressing MOUSE4 would bind to MOUSE6, for example
2019-06-08 13:14:02 +03:00
alexey.lysiuk
024456048e
- fixed access to wrong event data in SDL backend
...
Wrong button state event data were read on mouse motion
https://forum.zdoom.org/viewtopic.php?t=64950
2019-06-08 10:56:54 +03:00
Magnus Norddahl
756c593e96
- create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
...
- improve vulkan errors by including the status code returned by vulkan if they fail
2019-05-23 14:09:05 +02:00
alexey.lysiuk
0c40faf0b4
- improved control over MoltenVK logging capabilities
2019-05-18 17:27:13 +03:00
alexey.lysiuk
8d36f0a0cf
- tuned internal MoltenVK settings for better performance
...
See https://github.com/KhronosGroup/MoltenVK/issues/581#issuecomment-487293665
2019-04-29 10:51:39 +03:00
alexey.lysiuk
20cc066dc7
- made Vulkan Cocoa view opaque
...
It is recommended to make content view opaque like NSOpenGLView
I didn't notice any difference in performance though
2019-04-29 10:46:50 +03:00
alexey.lysiuk
6b5f7b4763
- destroy SDL window on Vulkan to OpenGL fallback
...
https://forum.zdoom.org/viewtopic.php?t=64412
2019-04-23 14:42:43 +03:00
Christoph Oelckers
146f7035d8
- fixed: The Vulkan device may only be deleted if Vulkan is present.
2019-04-19 08:36:19 +02:00
Rachael Alexanderson
09a2b53b21
- rename vid_backend
to vid_enablevulkan
. Also changed the CVAR from a 0-state enable to 1-state. So vid_enablevulkan==1
enables vulkan now. This should be less confusing.
2019-04-16 08:10:57 -04:00
alexey.lysiuk
fb51b5d137
- fixed compilation of SDL backend
...
src/posix/sdl/sdlglvideo.cpp:358:10: error: ‘MIN_WIDTH’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:358:33: error: ‘MIN_HEIGHT’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:360:7: error: ‘MIN_WIDTH’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:361:7: error: ‘MIN_HEIGHT’ is not a member of ‘Priv’
2019-04-07 17:26:32 +03:00
Rachael Alexanderson
efa9284141
- consolidate minimum screen resolution so that it's easier to change
2019-04-07 06:49:54 -04:00
Rachael Alexanderson
ead3695844
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
...
# Conflicts:
# src/posix/sdl/gl_sysfb.h
2019-03-31 03:49:08 -04:00
Christoph Oelckers
ab16d3cd72
- limit minimum screen size to 640x400.
...
The current menu system simply does not work that well with 320x200, rendering the game hard to use at that tiny screen size. This is a clear case where the work required to keep it operational stands in no relation to the benefit.
2019-03-31 09:13:22 +02:00
Magnus Norddahl
9f0f659db0
- remove old vid_maxfps implementations as they were garbage anyway and the new one works on all the platforms
2019-03-26 11:10:17 +01:00
alexey.lysiuk
651d749eea
- limited MoltenVK logging without vk_debug
...
If vk_debug is set to zero (which is by default) only errors will be reported
2019-03-24 16:19:39 +02:00
alexey.lysiuk
15e0b6c8a7
- gave vid_autoswitch CVAR a priority over vk_device selection
...
Try to mimic OpenGL GPU selection behavior with MoltenVK when automated graphics switching is disabled
The CVAR isn't exposed in menu and its target audience is advanced users only
2019-03-24 16:18:08 +02:00
Christoph Oelckers
a0b0467e91
- restrict Vulkan to 64 bit builds.
2019-03-24 14:34:48 +01:00
alexey.lysiuk
48a5476ec4
- fixed compilation with older macOS SDK like 10.9
...
src/posix/cocoa/i_video.mm:564:23: error: property 'layer' not found on object of type 'id'
2019-03-23 17:27:47 +02:00
Rachael Alexanderson
dd4ef010ab
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-18 04:05:19 -04:00
alexey.lysiuk
be9a43f177
- added temp hack for perf issue with Metal layer in fullscreen
2019-03-17 18:20:24 +02:00
alexey.lysiuk
97fc3aa9a6
- avoid Vulkan initialization when it's disabled in Cocoa backend
2019-03-17 14:45:47 +02:00
alexey.lysiuk
83de8ae5a0
- fixed white flash on startup with Metal-based view
2019-03-17 14:44:16 +02:00
alexey.lysiuk
250e4ed622
- do not use OpenGL function to clear screen in Cocoa backend
...
In fullscreen mode there is a white flash (of the default background color) on startup
To overcome this an explicit glClear() with flush buffers was used
In order to make video mode switch more generic, any backend specific functionality should be avoided here
2019-03-17 14:42:14 +02:00
Christoph Oelckers
ba13a540e4
- changed default graphics substitution rules to be more localization friendly.
...
The default was changed to replace graphics if only known content is affected.
This also required blocking the feature for Hacx, Harmony and Action Doom 2 which have no localization yet and would fall back on Doom's texts if not blocked.
2019-03-17 09:27:40 +01:00
Christoph Oelckers
dbd6c2eabf
- removed the automatic system language detection for Windows.
...
Default language is now always American English, just like on Linux and macOS.
2019-03-16 00:07:18 +01:00
alexey.lysiuk
3dd25bd4c0
- implemented OpenGL / Vulkan switch in Cocoa backend
2019-03-12 16:12:23 +02:00
alexey.lysiuk
7b5eedea32
- implemented OpenGL / Vulkan switch in SDL backend
2019-03-12 16:12:14 +02:00
alexey.lysiuk
f2a311dfca
- fixed mouse cursor positioning in Cocoa backend with Vulkan renderer
2019-03-10 13:37:36 +02:00
alexey.lysiuk
34cbb7c276
- added HiDPI support to Cocoa backend with Vulkan renderer
2019-03-10 13:36:18 +02:00
alexey.lysiuk
0909a67676
- removed explicit deallocation of Cocoa window
2019-03-10 11:00:24 +02:00
alexey.lysiuk
02ed758447
Merge branch 'master' into vulkan2
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
alexey.lysiuk
bc69941514
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_video.mm:297:2: error: use of undeclared identifier 'SetFlash'
2019-03-09 16:34:54 +02:00
alexey.lysiuk
965acde9c0
- added initial support of Vulkan renderer to Cocoa backend
2019-03-08 16:47:02 +02:00
alexey.lysiuk
c30b1a1f4a
- split base and OpenGL Cocoa framebuffers properly
2019-03-08 14:39:00 +02:00
alexey.lysiuk
108ea066f3
- added initial support of Vulkan to SDL backend
...
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
Magnus Norddahl
319099fee9
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-05 03:07:30 +01:00
alexey.lysiuk
a3554bda70
- replaced all usages of insecure vsprintf() function
2019-03-04 17:35:38 +02:00