Christoph Oelckers
20b6395cf0
- give UMAPINFO the ability to disable cluster-based exit texts.
2019-06-18 20:40:41 +02:00
alexey.lysiuk
cc5bff6c9c
- exported unconditional level exit to ZScript
...
Exit_Normal and Exit_Secret specials imply addition conditions to make a decision about proceeding to the next map
A few scriptified actors require a bypass of these conditions in order to work properly
2019-06-16 15:05:36 +02:00
Magnus Norddahl
774955dbc4
- write into stream buffers before opening the next render pass
2019-06-16 13:08:25 +02:00
Magnus Norddahl
d31dbf14e4
- wait for space if the stream buffers are exhausted
2019-06-16 13:05:12 +02:00
Magnus Norddahl
240a32f4c8
- also reset framebuffers when the image is reset
2019-06-16 10:31:12 +02:00
Rachael Alexanderson
ba387f51f3
Revert "Install soundfonts and WOPL/WOPN banks"
...
This reverts commit 2d1c7ba17c
.
2019-06-14 07:51:18 -04:00
Chronos Ouroboros
1b106d109d
Fixed "if (!(lhs ~== rhs))" breaking with vectors.
2019-06-14 12:49:57 +02:00
William Breathitt Gray
2d1c7ba17c
Install soundfonts and WOPL/WOPN banks
...
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2019-06-13 07:43:43 -04:00
Rachael Alexanderson
cb8c98827a
- add nullptr checks for double-frame model interpolation
2019-06-12 10:21:43 -04:00
alexey.lysiuk
7e901055ea
- fixed: light mode from mapinfo had no effect
...
https://forum.zdoom.org/viewtopic.php?t=64997
2019-06-12 09:49:40 +03:00
Magnus Norddahl
a093f686a7
- store the vulkan framebuffer with the image (this ensures the framebuffer object is destroyed along with the image)
2019-06-10 22:14:02 +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
583cd489b1
- on second thought, better call M_ClearMenus instead of calling Destroy directly.
2019-06-10 12:15:52 +02:00
Christoph Oelckers
4c622ba066
- fixed: DeinitMenus must explicitly destroy the active menu before taking down the descriptors.
...
Otherwise the menu will only be collected by the garbage collector and no longer find all relevant data.
2019-06-10 12:06:03 +02:00
Christoph Oelckers
2766303cfc
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Christoph Oelckers
9f2fbc1294
- renamed GLViewpointBuffer to HWViewpointBuffer.
2019-06-10 10:50:45 +02:00
Magnus Norddahl
13cab1c0b6
- delay postprocess texture destruction until the end of the frame
2019-06-10 09:13:56 +02:00
Magnus Norddahl
8853872bb4
- fix wipe screen when using -loadgame
2019-06-10 08:40:49 +02:00
Christoph Oelckers
037b69c8a7
- reworked buffer binding logic.
...
This shouldn't be in the hardware independent interface because the semantics on OpenGL and Vulkan are too different, so a common implementation is not possible.
Most bind calls were in the GL interface anyway, so these no longer pass through hardware independent code.
This also moves the bind calls in the shadowmap code into the GL interface - these never did anything useful in Vulkan and aren't needed there.
Last but not least, this moves the legacy buffer binding handling into FGLRenderState and performs the initial binding for the light buffer in a more suitable place so that this doesn't have to pollute the render state.
2019-06-09 20:37:11 +02:00
alexey.lysiuk
4a8438ebb4
- fixed crash on loading map in Hexen format without any nodes
2019-06-09 12:57:57 +03:00
alexey.lysiuk
d27a7cd84b
- removed explicit self null tests from dynarray native wrappers
...
They are useless since d3e6ed3c9b
in which generation of implicit self null pointer check was added to JIT
2019-06-09 10:27:21 +03:00
Gutawer
324a720d56
- added a linear transformation system to Shape2D so that things like rotations and scales can be changed without having to clear and push a large amount of data
2019-06-08 14:05:32 +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
4a2ae357a2
- report implicitly initialized variable in code generator once
...
Vectors are no longer reported several times
Previously, warnings were issued per every register
2019-06-08 11:12:34 +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
alexey.lysiuk
6f1df5b5ab
- added implicit initialization of reused register variables in ZScript
2019-06-07 13:43:51 -04:00
alexey.lysiuk
d3e6ed3c9b
- added null check for self pointer before calling a native function
...
With JIT enabled, an implicit test for null self pointer is added to generated code
This has no effect without JIT as VM verifies a pointer before calling a native method
https://forum.zdoom.org/viewtopic.php?t=64961
2019-06-07 11:02:38 -04:00
alexey.lysiuk
c222b24c0a
- removed erroneous assignment of dialog reply
...
https://forum.zdoom.org/viewtopic.php?t=64943
2019-06-07 17:40:36 +03:00
Magnus Norddahl
c9ee880196
- fix loadgame crash
2019-06-06 18:56:34 +02:00
alexey.lysiuk
b8a188705e
- fixed hires texture lookup in Doomsday style .pk3
...
IWAD wasn't detected properly, and wrong texture can be picked as a hires replacement (e.g., SLADRIP1 from Ultimate Doom instead of TNT)
https://forum.zdoom.org/viewtopic.php?t=64915
2019-06-06 12:51:16 +03:00
Christoph Oelckers
5b32c5b150
- fixed the write barriers for the HUD message linked list.
...
To ensure that no broken relations occur, any change in the list must be handled by a write barrier, not just the single message that gets added.
2019-06-05 20:58:59 +02:00
Magnus Norddahl
ae69abc049
- FXAA_DISCARD should never be enabled. It only works when the output framebuffer is the same as the original.
2019-06-05 19:06:33 +02:00
Chronos Ouroboros
87c426dcfd
Really fixed arrays of dynarrays this time.
2019-06-05 08:24:56 +02:00
William Breathitt Gray
9504d37c7b
Cephes code is released under BSD license
...
The Cephes Mathematical Library author Steve Moshier has released the
Cephes Mathematical Library under the BSD license. This patch patch
replaces the cephes license with the BSD license for all Cephes
Mathematical Library code.
See also: https://bugs.gentoo.org/687276
See also: https://lists.debian.org/debian-legal/2004/12/msg00295.html
See also: https://github.com/deepmind/torch-cephes/blob/master/LICENSE.txt
See also: https://github.com/nearform/node-cephes/blob/master/LICENSE
2019-06-04 11:33:09 -04:00
alexey.lysiuk
4d29b5b5e7
- limited disabling of FXAA discard to Vulkan on AMD hardware
2019-06-04 12:43:08 +03:00
alexey.lysiuk
dc8a944382
- implemented GPU vendor string assingment in Vulkan backend
2019-06-04 12:42:01 +03:00
alexey.lysiuk
addcad8ac0
- disabled discard in FXAA shader with Vulkan backend
...
Discard caused graphical corruptions on AMD hardware with Vulkan backend enabled
https://forum.zdoom.org/viewtopic.php?t=64230
2019-06-04 11:32:00 +03:00
Rachael Alexanderson
5c0334e3ce
- added a third state for cl_blockcheats. ==2 now blocks them silently.
2019-06-04 02:54:18 -04:00
Alexander
380398bcd6
added native double round(double) function
2019-06-03 19:48:45 +02:00
alexey.lysiuk
5661e39ca7
- reset internal console state on clear CCMD
...
'last line needs update' flag cannot be set when console is empty as there are no lines at all in this case
https://forum.zdoom.org/viewtopic.php?t=64909
2019-06-03 13:12:57 +03:00
Edoardo Prezioso
589f9b5c24
- Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist.
...
Old graphics, like mine (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry).
Found out by Valgrind.
2019-06-02 21:20:53 +02:00
Edoardo Prezioso
74e69567ef
- Fixed a buffer overflow with Timidity++ when playing Sigil e5m5 music.
...
See https://forum.zdoom.org/viewtopic.php?f=2&t=64910 .
2019-06-02 21:20:19 +02:00
Kevin Caccamo
9f99d1b2cc
Fix OBJ face normal direction
...
https://forum.zdoom.org/viewtopic.php?f=2&t=64740
2019-06-02 21:19:10 +02:00
Kyle Evans
e0c7bf7708
Fix clang/32-bit build
...
Rendering bits got restructured and the SSE_MATTERS paths were not updated
to reflect that. A 32-bit build with clang subsequently complaints as the
files in question are not compiled with -mmmx.
2019-05-30 21:16:51 +02:00
Christoph Oelckers
6ace482266
- fixed fillSimplePoly for indexed data.
...
On OpenGL this merely caused some visual glitches on the cheat automap - but the bad data in the buffer can make Vulkan abort entirely.
2019-05-30 13:32:42 +02:00
alexey.lysiuk
ffd464c26c
- fixed crash when loading a saved game with unknown class
...
During serialization, when map shutdown because of unknown class stored inside saved game may occur, level member is not assigned yet to already spawned thinkers
2019-05-30 10:26:06 +03:00
alexey.lysiuk
d9c619c800
- adjusted condition for ZScript global variable deprecation warning
...
The message is always printed for any use of deprecated global variable
If such variable is accessed inside a deprecated function from a core script lump, the message is printed only when verbosity level is set to highest
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-30 10:20:49 +03:00
alexey.lysiuk
249e658f8b
- fixed missing deprecation warnings for ZScript global variables
...
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-29 17:37:31 +03:00
alexey.lysiuk
38291dfacc
- fixed: version wasn't set for ZScript global variables
...
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-29 17:37:08 +03:00
alexey.lysiuk
d336a83355
- fixed code generation for ternary operator with vector result types
...
https://forum.zdoom.org/viewtopic.php?t=64831
2019-05-29 13:24:03 +03:00
alexey.lysiuk
677b24b108
- fixed crash on message output during decorate parsing
...
Script position is now initialized at the very beginning of decorate parsing process
Script position no longer contains uninitialized file name
https://forum.zdoom.org/viewtopic.php?t=64836
2019-05-28 18:13:34 +03:00
alexey.lysiuk
a54bc61678
- fixed conversation links with pages referenced by name
...
https://forum.zdoom.org/viewtopic.php?t=64177
2019-05-26 15:46:30 +03:00
alexey.lysiuk
d9da513f74
- fixed 'Pause by <playername>' message in multiplayer
...
https://forum.zdoom.org/viewtopic.php?t=64765
2019-05-25 17:50:18 +03:00
alexey.lysiuk
64ce71eae2
- fixed wrong native call for Actor.Vec2Offset()
...
https://forum.zdoom.org/viewtopic.php?t=64810
2019-05-25 17:14:52 +03:00
alexey.lysiuk
688f130af6
- fixed character position assignment for multi-lump fonts
...
https://forum.zdoom.org/viewtopic.php?t=64741#p1104427
2019-05-25 13:16:39 +03:00
David Carlier
57a0a4c066
Fixing crash when loaded module, using proper function liberate them.
2019-05-25 11:37:57 +02:00
alexey.lysiuk
733dea55da
- fixed loading of 32-bit TGA textures with alpha channel
...
https://forum.zdoom.org/viewtopic.php?t=64741#p1104564
2019-05-25 10:47:54 +03:00
alexey.lysiuk
da2d0e47e6
- removed array length() function from shadowmap shader
...
Array's length() function is not yet supported by SPIRV-cross and MoltenVK
Its usage was replaced by explicit nodes count value passed as uniform
2019-05-24 14:29:37 +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
drfrag
afa644fe47
- Fixed compilation with old gcc and clang.
2019-05-22 18:25:24 -04:00
Rachael Alexanderson
a27990885e
- add some debugging information for GZSDF pagenames feature
2019-05-22 11:50:53 -04:00
alexey.lysiuk
a04d79d871
- do not pass TObjPtr<> instances as ScriptUtil::Exec() arguments
...
There was no read barrier inserted for AActor object while it's a subject of garbage collection
Pointer stored in TObjPtr<> was reinterpreted as void* because of vararg function
https://forum.zdoom.org/viewtopic.php?t=64771
2019-05-22 17:39:27 +02:00
Christoph Oelckers
34a13cae04
- fixed bad statnum in Light_Stop.
2019-05-22 10:24:07 +02:00
Christoph Oelckers
4d2a7930ac
- fixed text color setup for added console message.
2019-05-22 10:18:28 +02:00
Christoph Oelckers
8a90946094
- allow certain replacements to be valid for CanPrint
...
The Romanian letters with comma below, the second Greek Sigma variant and a few special Cyrillic letters have replacements that should not result in rejection.
2019-05-21 02:00:45 +02:00
Magnus Norddahl
e4dab707e4
- don't run the custom shaders twice on screenshots
2019-05-20 12:46:05 +02:00
Magnus Norddahl
2a15f65065
- apply present shader on screenshots
2019-05-20 12:36:45 +02:00
alexey.lysiuk
bbb75a40ca
- fixed erroneous texture mipmapping in Vulkan render
...
https://forum.zdoom.org/viewtopic.php?t=64257
2019-05-19 14:24:59 +02:00
Christoph Oelckers
04334aa0fe
- implemented subtitle display for Blackbird's voiceover messages.
2019-05-19 12:16:42 +02:00
Christoph Oelckers
2c226afff1
- implemented subtitles for intermission slideshows.
2019-05-19 10:28:07 +02:00
Christoph Oelckers
6b51c05870
- changed menu scaling so that on 1366x768 a factor of 2 gets used.
...
This turned out the smallest one on which a factor of 2 still works without cutting off texts but at least allows to use a larger menu display on this important laptop size.
2019-05-19 08:53:10 +02:00
alexey.lysiuk
0c40faf0b4
- improved control over MoltenVK logging capabilities
2019-05-18 17:27:13 +03:00
Alexander
c1dbaa7d4b
made "netevent cannot be used outside of a map" message a warning
2019-05-18 11:33:22 +02:00
Alexander
7540de4027
added a crosshair on/off toggle
2019-05-18 11:32:48 +02:00
Magnus Norddahl
680a6f348b
- use one render pass for the entire scene or until postprocess or command buffer flushing forces it to end
2019-05-18 08:12:46 +02:00
Magnus Norddahl
7e37d640dc
- avoid creating a new render pass if a pipeline bind will suffice
2019-05-18 06:54:35 +02:00
Magnus Norddahl
9ab19d057d
- centralize how image transitions are done in the vulkan backend
2019-05-16 18:26:47 +02:00
Magnus Norddahl
99f58855ad
- transition scene images used for the screenshot to color attachment optimal before rendering to them
2019-05-15 16:11:43 +02:00
Magnus Norddahl
dc44c3328e
- always apply vid_maxfps even when vid_vsync is on. Some users may override the application in their driver control panel and this helps stabilize their fps if they did it this way
2019-05-13 22:50:58 +02:00
Magnus Norddahl
3a112c2a47
- fix stencil test not being active when applying SSAO to portals
2019-05-13 22:06:17 +02:00
alexey.lysiuk
6f68356e44
- removed useless assertions
...
https://forum.zdoom.org/viewtopic.php?t=64616#p1103673
2019-05-13 12:59:52 +03:00
Magnus Norddahl
f2e37d506e
- fix model chasecam crash
2019-05-12 23:05:31 +02:00
XxMiltenXx
29c6782aa1
Fixes for Door_AnimatedClose ( #838 )
...
* Fixes for Door_AnimatedClose
- Fixing that Door_AnimatedClose would be activated on an already closed door (playing the sound and the 1st frame of the animation)
- There was no check if the Door is already Animated when a tag was used with Door_AnimatedClose
* Removed doubled "door->StartClosing();".
2019-05-12 13:38:54 +02:00
Christoph Oelckers
cf58666708
- fixed: The software renderer was accessing the global viewpoint in several places.
...
Aside from using incorrect values this could crash the renderer if used in the very first rendering frame because the software renderer always operates on a copy.
2019-05-12 09:16:17 +02:00
alexey.lysiuk
16fe0f3902
- fixed crash when VM exception is raised during entering a level
2019-05-11 11:28:06 +03:00
alexey.lysiuk
e1b1df5ec3
- added missing newline to scriptstat CCMD output
2019-05-11 11:07:29 +03:00
Magnus Norddahl
7957c423aa
- fix wrong screenshot gamma
2019-05-10 18:02:27 +02:00
alexey.lysiuk
f5d80d0d8b
- made setting actor TID more explicit
...
Now it's no longer possible to manipulate TID hash from arbitrary location
For example, this prevents linking of destroyed object into the hash
TID member is still public but writing to it is limited to a few very specific cases like serialization and player traveling between levels
https://forum.zdoom.org/viewtopic.php?t=64476
2019-05-10 11:49:57 +02:00
Magnus Norddahl
7c3e99a6f1
- Intel on Linux used the footnote in the standard saying a descriptor pool can become fragmented (thanks guys!)
2019-05-10 02:16:26 +02:00
Magnus Norddahl
ce73fe5b16
- fix command buffer invalidation bug when DynamicSet is updated
2019-05-10 01:53:09 +02:00
Magnus Norddahl
a7e8541341
- add fragment shader texture reading as an additional subpass external dependency
2019-05-10 01:04:45 +02:00
Magnus Norddahl
25e23d6ac5
- add vk_debug_callstack for getting the location where a vulkan warning or error happens
2019-05-09 22:41:47 +02:00
Magnus Norddahl
d5761740d3
- fix burn crash on vulkan
2019-05-09 17:55:29 +02:00
Magnus Norddahl
cace5079fe
- oops, patched the wrong file
2019-05-09 16:06:18 +02:00
Magnus Norddahl
d0c4f28162
- only write the warning if r_multithreaded has its default value
2019-05-09 16:01:39 +02:00
Magnus Norddahl
7727263599
- Write out a warning if std: 🧵 :hardware_concurrency returns zero.
...
- If the number of cores cannot be determined, turn of multithreading in the software renderer as it is most likely a low end system
2019-05-09 15:57:23 +02:00
alexey.lysiuk
7e998c2261
- added handling of GLSL noise() functions to Vulkan backend
...
https://forum.zdoom.org/viewtopic.php?t=64516
2019-05-09 13:29:58 +03:00
alexey.lysiuk
18811fc032
- removed obsolete snd_flipstereo CVAR
...
https://forum.zdoom.org/viewtopic.php?t=64630
2019-05-09 13:06:16 +03:00
alexey.lysiuk
4fb508743c
- added missing compat flag CVAR for Strife railing
...
https://forum.zdoom.org/viewtopic.php?t=64627
2019-05-09 11:20:47 +03:00
Nemrtvi
d9e589ae49
Greek Sigma character fallback
...
The lowercase Sigma letter in Greek has two different forms (σ and ς), which changes depending on its placement in a word, but in uppercase and smallcaps contexts, it only has one look regardless of word positioning. If the character ς is missing, it should fall back to σ.
2019-05-09 08:09:10 +02:00
alexey.lysiuk
56557a17f1
- fixed output of software renderers with Vulkan backend
...
Vulkan hardware buffer for software canvas may have some padding
Software renderers should be aware of buffer's pitch in order to copy pixels properly
https://forum.zdoom.org/viewtopic.php?t=64562
2019-05-08 22:02:05 +03:00
David Carlier
b0a9d63292
OpenBSD build fix.
...
As FreeBSD, does not have malloc.h
aligned_alloc stricly available since C++17/C11, using the local impl.
2019-05-08 09:25:14 +03:00
alexey.lysiuk
a897751fb7
- fixed compilation warning reported by Clang
...
src/rendering/hwrenderer/postprocessing/hw_postprocess.cpp:1007:13: warning: delete called on non-final 'PPTexture' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
2019-05-06 16:02:44 +03:00
Magnus Norddahl
97375feee6
- fix mirror effect shader
2019-05-06 00:15:02 +02:00
Magnus Norddahl
e21ffc131e
- move camtex depthstencil to VkHardwareTexture
2019-05-05 13:36:03 +02:00
pkubaj
3d63f63fb2
Fix build on FreeBSD ( #829 )
...
On FreeBSD malloc.h is deprecated.
<cwctype> is needed for iswalpha.
2019-05-05 08:28:46 +03:00
Magnus Norddahl
e1ae8bbc59
- rendering to texture requires a separate depth/stencil image as the image used by the main view may be using multisampling
2019-05-05 01:58:36 +02:00
alexey.lysiuk
a33fae19dd
- improved handling of HUDMSG_TYPEON
...
This includes the following changes
* Validation of serialized values
* Proper fix for message cut off after an empty line, part of https://forum.zdoom.org/viewtopic.php?t=63935 , which appeared to be broken again with dbf06fc
* No crash with an empty HUD message, https://forum.zdoom.org/viewtopic.php?t=63761 and https://forum.zdoom.org/viewtopic.php?t=64569
2019-05-04 13:26:36 +03:00
alexey.lysiuk
dbf06fc9ca
- brought back text length check for 'type on' HUD message
...
https://forum.zdoom.org/viewtopic.php?t=64569
2019-05-04 11:13:59 +03:00
Magnus Norddahl
a6515765c8
- fix vkGetQueryPoolResults: parameter dataSize must be greater than 0
2019-05-03 16:10:14 +02:00
Magnus Norddahl
80c09c52bd
- call SetActiveRenderTarget before drawing the software renderer scene
2019-05-03 16:05:41 +02:00
Magnus Norddahl
d1554aed37
- VMA_MEMORY_USAGE_CPU_TO_GPU does not require VK_MEMORY_PROPERTY_HOST_COHERENT_BIT to bet set. Current implementation requires this flag as vkFlushMappedMemoryRanges is never called.
2019-05-02 01:35:04 +02:00
Magnus Norddahl
ea9be6c225
- fix vulkan crash when changing resolution when using the software renderer
2019-05-02 00:30:54 +02:00
alexey.lysiuk
32aa69f4d8
- fixed 'I' to 'i' upper-to-lower mapping
...
https://forum.zdoom.org/viewtopic.php?t=64526
2019-05-01 16:09:42 +03:00
alexey.lysiuk
b23958b204
- fixed saved game thumbnails generation with Vulkan renderer
...
GZDoom aborts with 'Failed to submit command buffer' error on saving a game when open source Intel Vulkan driver (part of Mesa 3D package) is used on Linux
This driver generates VK_DEVICE_LOST error when vkWaitForFences() is called with zero fence count. It must be greater than zero according to Vulkan spec
2019-05-01 13:42:07 +03:00
Magnus Norddahl
1973001834
- use the exact sRGB->linear transfer function in HDR mode as the 2.2 gamma approximation is visibly inaccurate in this case
2019-05-01 00:55:31 +02:00
Magnus Norddahl
81e32ecc72
- implement stat gpu on vulkan and fix it on opengl
2019-04-30 22:55:35 +02:00
Magnus Norddahl
692aed0551
- add VulkanQueryPool::getResults
2019-04-30 21:11:44 +02:00
Magnus Norddahl
d504acad68
- add VulkanQueryPool and QueryPoolBuilder
2019-04-30 21:01:55 +02:00
Magnus Norddahl
23d0cce395
- fix shutdown crash due to GetVulkanFrameBuffer returning null when VulkanFrameBuffer is destroyed
2019-04-30 20:02:00 +02:00
Magnus Norddahl
ab8378152f
- make the VkHardwareTexture and VKBuffer linked lists private
2019-04-30 19:49:29 +02:00
Magnus Norddahl
d985d98122
- release staging buffer after the frame it was used in
2019-04-30 19:36:34 +02:00
Magnus Norddahl
34a8e9050b
- this should be better for when vsync is off if I read the vulkan spec correctly
2019-04-30 19:26:28 +02:00
alexey.lysiuk
dffe45835d
- postponed destruction of Vulkan resources
...
Provided uniform way to handle lifetime of some of Vulkan resources
This helps to avoid issues like descriptor set that outlives its pool
https://forum.zdoom.org/viewtopic.php?t=64341
2019-04-30 18:43:41 +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
Rachael Alexanderson
777a4c600a
- bump zscript version to 4.2 - if this gets feature updates it should give warnings ahead of time, this time
2019-04-29 00:14:03 -04:00
Magnus Norddahl
188714dc14
- the light storage buffer is not dynamic
2019-04-28 23:51:09 +02:00
alexey.lysiuk
63d30e27a6
- bump versions to match the latest release
...
we don't want to miss deprecation warnings
2019-04-28 11:24:24 +03:00
Rachael Alexanderson
5e95329424
- 4.2pre
2019-04-28 02:37:42 -04:00
alexey.lysiuk
3767a9aec1
- fixed missing null checks in JIT generated code
...
https://forum.zdoom.org/viewtopic.php?t=64307
2019-04-27 17:05:36 +03:00
alexey.lysiuk
dd7ec1fe44
- fixed crash on JIT allocations over 1 MB
...
https://forum.zdoom.org/viewtopic.php?t=64383
2019-04-27 14:36:55 +03:00
Christoph Oelckers
15d2b47798
- fixed: RenderCommand::isCompatible failed to properly compare the SpecialColormap.
...
This resulted in always returning 'false' which prevented merging line draws, ultimately crashing the Vulkan renderer on a buffer overflow.
2019-04-24 20:35:10 +02: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
5122aa0571
- fixed the internal name of the original SmallFont to be different from the real SmallFont. This necessitated creating a separate font object, even if it has the same contents.
...
- added an OriginalBigFont as well.
2019-04-23 09:34:28 +02:00
Christoph Oelckers
90cc0cf35b
Merge remote-tracking branch 'remotes/origin/vulkan2'
2019-04-22 11:43:43 +02:00
Christoph Oelckers
0640a86c1e
- removed InitPalette call from VulkanFrameBuffer constructor.
...
It is as wrong here as in OpenGL because it destroys already set up data.
2019-04-22 11:00:40 +02:00
Christoph Oelckers
ec13d0e4c1
Merge remote-tracking branch 'remotes/origin/vulkan2'
2019-04-22 10:45:32 +02:00
Christoph Oelckers
6f3982865f
- refinement of font substitution logic.
2019-04-22 10:23:28 +02:00
Christoph Oelckers
e6ab678515
- fixed: The minimal window size was not calculated properly.
...
Minimum size is 640x400 client size not 640x400 window size in non-fullscreen.
2019-04-22 10:20:39 +02:00
Christoph Oelckers
e0a0be4f7b
- added a CanPrint function to FFont and used that to handle the statistics display on the automap HUD to only replace the font when actually needed, not based on the language.
2019-04-22 09:08:43 +02:00
Christoph Oelckers
68c33a6e43
- fixed string prioritization when a mod replaces the default language for a given string.
...
In this case it must override all localized content from previously loaded WADs because that is no longer matching the original text.
2019-04-22 00:21:01 +02:00
Christoph Oelckers
5b6bae409e
- automated the SmallFont selection based on a filter string in the language table.
2019-04-21 12:38:43 +02:00
Christoph Oelckers
13841655aa
- add color remapping for NewSmallFont as well.
2019-04-21 10:49:27 +02:00
Christoph Oelckers
2e1254d3ba
- synthesize a font remapping so that the IWAD SmallFont can be printed in the same color as a mod's.
...
This is for cases where the font needs to serve as stand-in for an incomplete mod font so that it better blends in.
2019-04-21 09:51:53 +02:00
Christoph Oelckers
c1b0122558
- always construct the original IWAD SmallFont.
...
This is for printing localized messages without having to fall back on the VGA font.
2019-04-21 08:42:27 +02:00
Christoph Oelckers
fcbde757c9
- do not mix game-specified fonts with the extensions for the stock version.
...
This generally doesn't look good when different colors are mixed or the mismatch in color ranges causes bad translations to be generated.
2019-04-21 08:09:31 +02:00
Christoph Oelckers
44360b00dd
- fixed parameter passing for SetMarineWeapon and SetMarineSprite.
2019-04-21 08:00:22 +02:00
Magnus Norddahl
09883431bf
- fix wrong clamp mode used in OpenGL
...
- fix sampler array size on Vulkan
2019-04-20 19:19:34 +02:00
Magnus Norddahl
a3587009e7
- the semaphore should never be added when its the last submit before waiting
2019-04-20 16:42:52 +02:00
Magnus Norddahl
401a4944b4
- fix Queue is signaling semaphore that has not been waited on by any queue
2019-04-20 16:35:26 +02:00
alexey.lysiuk
d1e4b86b9e
- fixed compilation with GCC and Clang
...
src/rendering/hwrenderer/scene/hw_walls.cpp:176:44: error: conditional expression is ambiguous; 'PalEntry' can be converted to 'int' and vice versa
2019-04-20 12:20:32 +03:00
Magnus Norddahl
6699cd5462
- change FRenderState to store directly to the StreamData struct. This simplifies the vulkan backend and also allows the OpenGL backend to use the same uniform block transfer strategy in the future.
2019-04-20 04:16:01 +02:00
Magnus Norddahl
da7a4ceb34
- change drawcalls to measure the Apply time rather than the individual draw calls (Apply is what costs something on vulkan while the draw call queuing is so cheap its an uninteresting thing to measure)
2019-04-20 00:38:38 +02:00
Magnus Norddahl
a8e7f38150
- minor code cleanup
2019-04-19 23:56:54 +02:00
Magnus Norddahl
779cb42578
- remove vk_submit_multithread again as it seemed to have no effect on performance and only complicated the code
2019-04-19 23:26:06 +02:00
Magnus Norddahl
458da39c39
- add vk_submit_multithread for doing command buffer submit calls on a worker thread
...
- add vk_submit_size for testing various command buffer sizes before flushing them
- add submitted command buffer count to renderstats
2019-04-19 22:42:32 +02:00
Magnus Norddahl
3957a19bd0
- flush the commands for every 1000th Apply call
2019-04-19 21:08:15 +02:00
Magnus Norddahl
8fadf3d9bd
- add support for flushing commands during drawing
2019-04-19 20:55:15 +02:00
Magnus Norddahl
62fa74485d
Merge remote-tracking branch 'origin/master' into vulkan2
2019-04-19 18:49:00 +02:00
Christoph Oelckers
f221a2bdb4
- fixed allocation mismatch in WildMidi.
2019-04-19 17:46:25 +02:00
Christoph Oelckers
5e8aa0a963
- removed InitPalette call from OpenGLFrameBuffer's constructor.
...
This was destroying some already set up data like the special colormaps.
2019-04-19 10:36:34 +02:00
Christoph Oelckers
cd929e0c76
- reinstated the old clean scaling factor calculation just for the status bar.
...
Some mods took the lack of validation in this code for granted.
2019-04-19 09:33:04 +02:00
Christoph Oelckers
146f7035d8
- fixed: The Vulkan device may only be deleted if Vulkan is present.
2019-04-19 08:36:19 +02:00
Christoph Oelckers
0105bb7564
- fixed uninitialized variable in scoreboard code.
2019-04-19 08:30:06 +02:00
Christoph Oelckers
0837178518
- do proper checks for chat string length.
...
The counter variable was not only used incorrectly, it was completely redundant.
This still has a byte limit due to how the network code works so for non-Latin languages may result in shorter strings.
2019-04-19 08:27:31 +02:00
Christoph Oelckers
ac9133eda0
- fixed radius use in dynamic light traversal for models.
2019-04-19 08:23:08 +02:00
Christoph Oelckers
327a83a54b
- fixed: GetDisplayDeviceName must always pick a valid monitor.
...
There is no default here, so if vid_adapter is invalid for whatever reason the engine would crash without a defined setting.
2019-04-19 07:33:51 +02:00
Magnus Norddahl
faac0805f0
- implement VKBuffer::Resize
2019-04-18 22:01:42 +02:00
Magnus Norddahl
e42d11cc34
- change padding to something else than __ since that is restricted
2019-04-18 19:57:03 +02:00
Magnus Norddahl
e332011995
- fix wrong model culling
2019-04-18 17:56:43 +02:00
Magnus Norddahl
47fa7dafe3
- fix shader timer not always being applied correctly
2019-04-18 17:14:26 +02:00
Magnus Norddahl
47f056e882
- improve shader error handling and attempt to remove some bogus declarations
2019-04-18 01:20:28 +02:00
Magnus Norddahl
d63513ec14
- fix normal vectors on models
2019-04-17 20:42:00 +02:00
Magnus Norddahl
ff6b67d8a1
Merge remote-tracking branch 'origin/master' into vulkan2
2019-04-17 16:07:54 +02:00
Magnus Norddahl
5171f90e35
- add r_ticstability for a smoother experience playing mods with high think times
2019-04-17 16:07:32 +02:00
Magnus Norddahl
15dae4cfe6
- rewrite depthblur.fp to workaround what seemed to be a bug in the NVidia driver
2019-04-16 16:17:23 +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
Magnus Norddahl
9d29a460de
- simplify depthblur.fp into a single function
2019-04-16 08:59:29 +02:00
Magnus Norddahl
073f151761
- fix line that shouldn't have been committed
2019-04-16 07:30:13 +02:00
Magnus Norddahl
67490d13cb
- add gl_ssao_debug mode showing the depth
2019-04-16 05:29:32 +02:00
Magnus Norddahl
558760c090
- fix the gl_ssao_debug cvar
2019-04-16 03:32:54 +02:00
Rachael Alexanderson
73efe707ac
Merge remote-tracking branch 'origin/master' into vulkan2
2019-04-15 01:34:22 -04:00
Magnus Norddahl
06222a1fbf
- update glslang to 7.11.3113 (stable release February 8, 2019). This fixes the SPIR-V validation error reported for the shadowmap shader
2019-04-15 04:53:43 +02:00
Christoph Oelckers
a8c47408fa
- implemented 'deletelumps' feature and add Chex Quest 3 texts.
...
The episode titles required a workaround because the CQ3 episodes do not contain names in text form: If this is the case, the patch name will be used as a string table identifier to get a matching text for localization.
2019-04-14 22:46:03 +02:00
Magnus Norddahl
b5e0451805
- change the wrap mode for custom textures in custom postprocess shaders to repeat
2019-04-14 19:00:29 +02:00
Christoph Oelckers
dd61222c6a
- reset RF_NOINTERPOLATEVIEW when unpredicting a player.
2019-04-14 14:11:34 +02:00
Christoph Oelckers
c45c7cdb4b
- reimplemented as an OptionsMenu.
...
This is both for consistency and better localizability. The old code is retained to ensure that mods inheriting from the old menu continue to work.
2019-04-14 14:03:24 +02:00
Rachael Alexanderson
b8dfb3c136
Merge remote-tracking branch 'origin/master' into vulkan2
2019-04-14 06:12:32 -04:00
Player701
8ab6747d77
- Added "const" qualifiers to the new UTF-8-aware string methods
2019-04-13 22:13:52 +02:00
Player701
747906730c
Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString ( #810 )
...
* - Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString
* - added underlying type declaration for EMonospacing
* - replaced "#include v_video.h" with a declaration of EMonospacing
2019-04-13 18:10:58 +02:00
Christoph Oelckers
4668fa95e3
- when altering the default string table, make sure that all existing text for the given label is removed that comes from an older resource file.
...
If this isn't done there can be a mix of content from different sources, depending on the language. It's better to have correct English text than unfitting localized versions.
2019-04-13 14:43:49 +02:00
Christoph Oelckers
5f2d41884c
- make sure that the global and default language tables are always separate, if some other tables is being attempted to be filled in along with them, these tables should be ignored.
2019-04-13 13:58:37 +02:00
Christoph Oelckers
d73f8faafa
- added monospacing support to Screen.DrawText and its native counterparts.
2019-04-13 12:17:38 +02:00
Christoph Oelckers
3938119192
- added CharUpper and CharLower functions to ZScript.
...
These, like MakeUpper and MakeLower, use the internal Unicode case conversion tables.
2019-04-13 10:26:55 +02:00
Christoph Oelckers
f7561f25d6
- added Unicode aware MakeUpper/MakeLower functions to FString and ZScript's String and deprecated ToUpper/ToLower because their semantics did not allow fixing them.
2019-04-13 10:12:33 +02:00
Christoph Oelckers
bcf7bc8d34
- added some UTF-8 utilities to FString.
...
This deprecated CharAt and CharCodeAt for being unsuitable for text processing and in the case of CharCodeAt also for being buggy.
A new replacement, ByteAt has been added that reads a string byte by byte, as well as CodePointCount, which counts the amount of Unicode code points in a string and GetNextCodePoint which reads the string code point by code point.
Note that while this woll work as intended with the currently supported languages as a means to read single characters, there is no guarantee that this will remain so if Unicode support gets extended to things which break the "one code point == one character" assumption.
2019-04-13 09:31:36 +02:00
alexey.lysiuk
61a8f122f0
- fixed crash caused by broken saved game picture
...
https://forum.zdoom.org/viewtopic.php?t=64244
2019-04-12 18:20:27 +03:00
Christoph Oelckers
c0b322c51a
- make the switch between game and generic fonts automatic by adding a key value to the language table
2019-04-12 00:20:42 +02:00
Rachael Alexanderson
3deda0efd2
Merge remote-tracking branch 'origin/master' into vulkan2
2019-04-11 17:45:35 -04:00