Magnus Norddahl
eb41e5fcd7
- fix transition error when no PP effects are active
2019-03-10 00:47:28 +01:00
Magnus Norddahl
fed0f0dfab
- fix the multisample and image transition validation errors
2019-03-09 23:17:48 +01:00
Magnus Norddahl
5581fbfd93
- fix wrong layout and image format for the swap chain
2019-03-09 22:07:46 +01:00
Magnus Norddahl
ff68d2e651
- hooked up the debug names for objects, which was a bit of a waste of time since the validation layer is brain dead and doesn't use the information in its messages..
2019-03-09 21:34:29 +01: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
784e0347c0
- removed excessive std::move() reported by Clang
...
src/utility/xlsxread/xlsxio_read.cpp:69:27: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2019-03-09 16:36:12 +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
Christoph Oelckers
b7d09c95dd
- cleanup of savegame picture code.
...
* re-added screen blends for images from the hardware renderer.
* moved all postprocessing of the image out of the renderers.
* cleaned out a large piece of cruft for handling the palette in the frame buffer class. This was all a remnant of the old paletted backend that no longer exists. Nowadays the screen blend is just a postprocessing effect drawn over the 3D screen, there is no need to maintain any of it as global state anymore.
* since the engine doesn't produce paletted screenshots anymore there is no need to have handling for it in the generation code. This depended on otherwise obsolete information so it got removed along with that information.
2019-03-09 14:48:14 +01:00
alexey.lysiuk
f7a95f612e
- extended RPATH for macOS with executable's directory
...
Dynamic libraries placed in the directory with the main executable now can be loaded by dlopen() function
This is required in order to enable Vulkan support without additional steps like SDK installed in the system
2019-03-09 15:46:18 +02:00
Christoph Oelckers
29012a89c6
- for got to save this.
2019-03-09 13:34:22 +01:00
Christoph Oelckers
f9d4ea8424
- missed the part that the blend function was still drawing multiplicative blends.
...
This should be cleanly separated.
2019-03-09 13:12:24 +01:00
Christoph Oelckers
0e4a860c5e
- fixed uninitialized screen flash color for savegame images in the software renderer.
2019-03-09 12:52:07 +01:00
Christoph Oelckers
2fa5a88701
- do not render player sprites to canvases in the hardware renderer.
2019-03-09 12:34:10 +01:00
Christoph Oelckers
0ca7723c0e
- disable player sprite drawing on canvases for the softpoly renderer.
2019-03-09 12:17:57 +01:00
Christoph Oelckers
1a29d39355
- do not render player sprites to canvases in the software renderer.
...
This applies to both savegame images and camera textures.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
d2475b68d0
- removed unnecessary variable clear.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
99c8ba1288
- use uAddColor instead of uObjectColor2 for the ending color of a special colormap range.
...
Unlike uObjectColor2, this is more global state. uObjectColor2 is part of gradient calculation which may later be offloaded to a secondary buffer which already resulted in only conditionally setting it, resulting in broken special colormap application for the software renderer.
2019-03-09 12:12:33 +01:00
alexey.lysiuk
4ac82c18be
- eliminated last triangle fans usage in Vulkan renderer on macOS
...
Thanks dpJudas
2019-03-09 12:37:45 +02:00
Magnus Norddahl
8270abcb7e
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-09 10:20:28 +01:00
Magnus Norddahl
21c83950a5
- add vk_device and vk_listdevices that will allow selecting a different device on systems where this is desirable
...
- clean up the VulkanDevice class
2019-03-09 10:20:14 +01:00
Christoph Oelckers
54efbf3edd
Merge remote-tracking branch 'remotes/origin/master' into vulkan2
2019-03-09 08:55:40 +01:00
Magnus Norddahl
389469c604
- pick the first device that supports our required features
2019-03-08 22:53:32 +01:00
Magnus Norddahl
aa1ff58353
- convert triangle fan to triangle list on macOS
2019-03-08 21:34:21 +01:00
Christoph Oelckers
4668d0b1de
- render simple quad-based render hacks as triangle strips.
2019-03-08 17:53:24 +01:00
Christoph Oelckers
f7112786d7
- use triangle strips to render decals.
2019-03-08 17:53:23 +01:00
Magnus Norddahl
ca570f1e78
- move shadowmap uniforms out of FShadowMapShader
2019-03-08 17:45:07 +01: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
Magnus Norddahl
ca1d8191aa
- enable the binding code for the ssao gbuffers
2019-03-08 03:17:59 +01:00
Magnus Norddahl
c0c2743e89
- add multisample support
...
- fix BlurScene
- create the gbuffers needed by ssao
2019-03-08 02:24:54 +01:00
Sterling Parker
81059aee1d
Fix faulty multiplication logic for LookScale
...
Turns out the entire thing was getting shortcutted because FOVScale is 0 unless set explicitly or via A_ZoomFactor.
2019-03-07 21:22:33 +01:00
Sterling Parker
ae1a1df02d
Add LookScale variable on weapon
...
This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale / DesiredFOV hacks.
2019-03-07 21:22:33 +01:00
Magnus Norddahl
e823d5da52
- remove compute and sparse requirements as we use neither
2019-03-07 18:23:04 +01:00
Magnus Norddahl
6db231596f
- hook up postprocessing
2019-03-07 18:05:12 +01:00
Christoph Oelckers
a5c820e1e6
- update volk to the latest version.
...
The main feature that got added is macOS support which should be useful.
2019-03-07 13:40:27 +01:00
alexey.lysiuk
16008e4aa8
- set viewport dimensions each frame in Vulkan framebuffer
...
This fixes visual artifacts when resolution is changed without a level running, i.e. from menu or fullscreen console
2019-03-07 13:24:56 +02:00
Magnus Norddahl
0679b493ec
- hook up the present shader
2019-03-06 22:59:21 +01:00
Magnus Norddahl
30756ec112
- wrong image transition direction
2019-03-06 19:44:48 +01:00
Magnus Norddahl
a857bec846
- implemented VkPostprocess::GetInput
2019-03-06 19:42:02 +01:00
Magnus Norddahl
9d061cbef6
- implement VkPostprocess::GetOutput
2019-03-06 18:33:31 +01:00
Magnus Norddahl
40c14bcd67
- create pipeline images
...
- fix some minor typos
2019-03-06 17:59:11 +01: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
alexey.lysiuk
08d8ea5d31
- fixed compilation with GCC and Clang
...
src/rendering/vulkan/renderer/vk_postprocess.cpp:219:54: error: cannot pass non-trivial object of type 'const FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-03-06 11:39:39 +02:00
Magnus Norddahl
c280153ac2
- implement VkPostprocess::RenderScreenQuad
2019-03-05 23:31:38 +01:00
Magnus Norddahl
fb983186b1
- upload the pp textures
2019-03-05 20:39:27 +01:00
Magnus Norddahl
a07e4601e7
- compile the effect shaders
2019-03-05 19:49:06 +01:00
Magnus Norddahl
b313f91ab0
- add layout location decl to all postprocess shaders
2019-03-05 18:55:31 +01:00
alexey.lysiuk
87441dd0a1
- fixed infinite loop and out-of-bound read in shader patcher
2019-03-05 13:06:39 +02:00
alexey.lysiuk
741d44d263
- fixed compilation with GCC 7+
...
src/rendering/vulkan/renderer/vk_postprocess.h:16:48: error: ‘function’ in namespace ‘std’ does not name a template type
2019-03-05 10:21:39 +02:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00
Magnus Norddahl
319099fee9
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-05 03:07:30 +01:00
Magnus Norddahl
e06f8f172d
- use the uniform buffer alignment as returned by the vulkan device
2019-03-05 02:50:30 +01:00
Magnus Norddahl
95116e8580
- fix dynamic buffer offset not getting updated
...
- fix lightbuffer blocksize being hardcoded
2019-03-05 02:06:20 +01:00
Magnus Norddahl
c137e868de
- patch in/out layout declarations for OpenGL
2019-03-05 01:17:23 +01:00
Christoph Oelckers
0fa4e03db6
- process escape sequences for episode and skill names
...
For these, colorization is a desirable feature.
2019-03-05 00:22:26 +01:00
Christoph Oelckers
97ae74081a
- special remapping for the Hungarian double accented letters.
...
Instead of entirely stripping away the accent when they are not found, let's go to the Umlaut-variants first.
2019-03-04 20:06:19 +01:00
Alexander
77cb9ae866
added MakeScreenShot and MakeAutoSave functions to FLevelLocals
2019-03-04 19:16:51 +01:00
Christoph Oelckers
525b0214a7
- fixed macro substitution.
...
It was retrieving the macro from the wrong string.
2019-03-04 17:31:11 +01:00
alexey.lysiuk
a3554bda70
- replaced all usages of insecure vsprintf() function
2019-03-04 17:35:38 +02:00
Magnus Norddahl
c70aff99e7
- enable RenderFirstSkyPortal
2019-03-04 15:55:43 +01:00
Magnus Norddahl
32ad6dc887
- draw the weapon
2019-03-04 15:27:54 +01:00
Magnus Norddahl
d23fbb07cd
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-04 15:24:30 +01:00
Magnus Norddahl
a8a444f010
- missed two places where VK_FORMAT_D24_UNORM_S8_UINT was used
2019-03-04 15:23:49 +01:00
alexey.lysiuk
84a4c9c3a7
- reorderer member initialization in Vulkan objects
...
This is needed to prevent compilation warnings spam with GCC and Clang
While the warning itself is useful, in this case it's rather pointless and annoying
2019-03-04 16:18:37 +02:00
Magnus Norddahl
2532e4bba6
- fall back to VK_FORMAT_D32_SFLOAT_S8_UINT if VK_FORMAT_D24_UNORM_S8_UINT is not supported
2019-03-04 14:47:49 +01:00
Magnus Norddahl
0a6d77a861
- fall back to linear if tiling is not supported by the device
2019-03-04 13:51:58 +01:00
Magnus Norddahl
9861642fcc
- add missing vulkan used features
2019-03-04 13:28:29 +01:00
Christopher Bruns
0fb940632a
Reduce number of blits required in stereo 3D by tracking current eye.
2019-03-04 13:14:41 +01:00
alexey.lysiuk
802d37f377
- fixed compilation of Linux target
...
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:47:00 +02:00
alexey.lysiuk
7efa231e4e
- fixed compilation of macOS target
...
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:46:37 +02:00
alexey.lysiuk
6144f02f67
- initialized all members of VkWin32SurfaceCreateInfoKHR
...
Without such initialization vkCreateWin32SurfaceKHR() crashed inside AMD Vulkan driver
2019-03-04 11:36:38 +02:00
alexey.lysiuk
30c6ae5078
- fixed compilation of 32-bit Windows targets and MSVC 2015
2019-03-04 11:35:12 +02:00
Magnus Norddahl
0e43979c28
- fix colormask alpha typo
2019-03-04 01:54:57 +01:00
Magnus Norddahl
f04522c397
- fix depthstencil attachment not being attached when only stencil tests were enabled
2019-03-04 01:49:27 +01:00
Magnus Norddahl
99c3d72aa0
- fix typos
2019-03-04 01:23:13 +01:00
Magnus Norddahl
ddf21ffd72
- create a descriptor for each texture+sampler configuration in use
2019-03-04 00:28:37 +01:00
Magnus Norddahl
eaf367e876
- add depth bias
2019-03-04 00:14:28 +01:00
Magnus Norddahl
cf49e1ec21
- add depth clamp support
2019-03-03 23:54:13 +01:00
Magnus Norddahl
56afcd210b
- fix: gl_PointSize is required in Vulkan when drawing points
...
- fix: add depthstencil attachment when stencil is active while depth is not
2019-03-03 23:30:36 +01:00
Magnus Norddahl
923fb5c127
- implement the depth and stencil states
2019-03-03 22:25:38 +01:00
Rachael Alexanderson
068522f9c8
- fix building on FreeBSD
2019-03-03 17:08:45 +01:00
Christopher Bruns
73c7afe409
Fix typo and add clarifying comment.
2019-03-03 16:15:38 +01:00
Christopher Bruns
52ab4b968f
Remove Quad-buffered from list of VR-modes if we know it won't work.
2019-03-03 16:15:38 +01:00
Rachael Alexanderson
8fab907885
- set language cvar to global config, it should not be game-specific
2019-03-03 16:14:58 +01:00
Magnus Norddahl
d516b2ff7b
- fix typo and add color
2019-03-03 14:40:56 +01:00
Magnus Norddahl
9d792f79f1
- add vulkan info to startup log
2019-03-03 14:32:03 +01:00
Magnus Norddahl
7d56aa4b0b
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-03 13:45:22 +01:00
Christoph Oelckers
213dfd2aaa
- fixed: when resizing the viewpoint buffer, the 2D entry must be reset so that for the next frame it gets recalculated.
2019-03-03 13:26:10 +01:00
Christoph Oelckers
3698a5edc1
- replaced the assignment operator in player_t with a named function.
...
This didn't behave like an assignment operator so it shouldn't be one, especially since the two places where it got called need different functionality.
2019-03-03 12:12:17 +01:00
Christoph Oelckers
b3cff43be3
- fixed: SBARInfo's Tick function was using actor references from its last Draw operation.
...
Between these two calls these can change so these need to be retrieved each time either Draw or Tick are called.
2019-03-03 09:59:08 +01:00
Rachael Alexanderson
13d07e7912
- fix what appears to have been an accidental debug commit, this broke portals and skies
2019-03-03 03:24:55 -05:00
Christoph Oelckers
f3813c036f
- filter out the BIGFONT lump in Chex Quest, now that we have a more complete font internally.
2019-03-03 07:50:10 +01:00
Magnus Norddahl
fd752dec54
- don't search for a renderpass if the current one matches
2019-03-03 00:16:00 +01:00
Magnus Norddahl
1d003ca3fc
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-03 00:06:33 +01:00
Magnus Norddahl
cab441591f
- add some of the same checks that glrenderstate uses
2019-03-03 00:06:17 +01:00
Christoph Oelckers
6ba8fee5c2
Merge branch 'master' into vulkan2
2019-03-03 00:04:19 +01:00
Magnus Norddahl
c657d8fd1e
- only bind vertex and index buffers if they change
2019-03-02 23:56:06 +01:00
Magnus Norddahl
c30edaa21a
- only update matrices if they change
2019-03-02 23:47:56 +01:00
Magnus Norddahl
2a6d37dd73
- clean up Apply function
2019-03-02 23:39:44 +01:00
Magnus Norddahl
0c9d27d078
- create an array for the stream data
2019-03-02 23:20:29 +01:00
Christoph Oelckers
eacc6c8e08
- fixed: ACS's LocalAmbientSound did not check the activator before calling its methods.
2019-03-02 23:01:42 +01:00
Magnus Norddahl
656a3b8fba
- allocate more descriptors in the pool
2019-03-02 22:41:36 +01:00
Christoph Oelckers
0dc3485990
- fixed: in CollectWithinRadius, make pos a value variable instead of a reference.
...
The underlying data here can be reallocated and invalidate what it points to.
2019-03-02 22:10:44 +01:00
Magnus Norddahl
ef30ddbd40
- fix typo
2019-03-02 21:34:34 +01:00
Magnus Norddahl
763e33badb
- fix typo
2019-03-02 21:12:50 +01:00
Christoph Oelckers
0f184a0f28
- reject all DMX sounds shorter than or equal 8 bytes.
...
8 bytes is the minimum header size for DMX, so for one byte of sample data it has to be 9 bytes.
This was causing access to invalid memory when trying to read the header of something too short.
For other file formats this is of no concern because none has a header this short.
2019-03-02 21:10:24 +01:00
Magnus Norddahl
b0b4028e0b
- align by 256 instead of 128
2019-03-02 17:51:57 +01:00
Magnus Norddahl
327b9a91f1
- fix one more validation error
2019-03-02 17:27:19 +01:00
Magnus Norddahl
47ce44e5f0
- add missing image usage flag
2019-03-02 17:20:14 +01:00
Magnus Norddahl
1bdaf24fa8
- add features reported by validation layer
2019-03-02 17:17:33 +01:00
Magnus Norddahl
09ea775b40
- make the vulkan logging a bit more readable
2019-03-02 17:11:23 +01:00
Magnus Norddahl
28f83fc9db
- found the stupid bug that caused validation layer not to work..
2019-03-02 16:52:33 +01:00
Magnus Norddahl
8854fad165
- fix some additional image transition errors reported by RenderDoc during the first frame
2019-03-02 16:36:29 +01:00
Magnus Norddahl
718f9e36fa
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-02 16:02:43 +01:00
Magnus Norddahl
b1f161040d
- transition image layouts and setup pipeline barriers (fixes some errors reported by RenderDoc)
2019-03-02 16:02:27 +01:00
Christoph Oelckers
dc9a995695
- output the error code when submitting a command buffer fails.
2019-03-02 15:57:43 +01:00
Christoph Oelckers
d893299185
- fixed: static event handlers must also receive WorldLoaded events on loading a savegame.
2019-03-02 13:50:58 +01:00
Christoph Oelckers
9ab57e242b
- fixed: PlayerStartStomp must check for NOTELEFRAG.
2019-03-02 13:35:35 +01:00
Christoph Oelckers
00febf0498
- fixed: FLevelLocals did not set the owner for its event manager.
2019-03-02 13:24:52 +01:00
Christoph Oelckers
0febe20a08
- fixed: Unmorphing a monster did not clear its UNMORPHED flag.
2019-03-02 13:15:38 +01:00
Christoph Oelckers
4cf90d70ae
- fixed: cl_maxdecals did not reset the decal counter when deleting decals.
2019-03-02 12:58:28 +01:00
Christoph Oelckers
5f6198f4e4
- let IWAD and PWAD BigFonts override BigUpper for consistency.
2019-03-02 12:54:46 +01:00
Christoph Oelckers
ce1ecd0d4b
- implemented string table macros.
2019-03-02 12:06:24 +01:00
Magnus Norddahl
05a6896d4f
- Pass vertex color and normal via uniform buffer when the attribute isn't available
2019-03-02 01:56:08 +01:00
Magnus Norddahl
1430d9012e
- fix shutdown crash and some minor adjustments
2019-03-02 00:46:25 +01:00
Christoph Oelckers
fa123f37c7
- adjustment for renamed spreadsheet.
2019-03-01 22:04:39 +01:00
Magnus Norddahl
d86a56086c
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-01 21:50:06 +01:00
Magnus Norddahl
7871ec06ae
- add depth/stencil attachment to the render pass
2019-03-01 21:34:08 +01:00
Christoph Oelckers
a5d9d334d2
- fixed: The lump renaming was not performed for Doom, even for those pieces where needed.
2019-03-01 20:21:15 +01:00
Magnus Norddahl
d73b0b3146
- create helper function for copying
2019-03-01 20:15:56 +01:00
Magnus Norddahl
ee8349d168
- add support for specifying the topology
2019-03-01 20:06:20 +01:00
Magnus Norddahl
01c78d7238
- add a bit of bounds checking just to be safe
2019-03-01 19:15:52 +01:00
Magnus Norddahl
195e91adc9
- hook up the hardware renderer
2019-03-01 19:01:06 +01:00
Magnus Norddahl
308c884d02
- use a linked list to keep track of all allocated VkHardwareTexture objects
2019-03-01 18:31:33 +01:00
Magnus Norddahl
c691a8fe64
- bind the vertex inputs as specified by its vertex buffer format
2019-03-01 15:37:13 +01:00
alexey.lysiuk
2939bc701e
- fixed compilation error with GCC and Clang
...
src/intermission/intermission_parse.cpp:941:2: error: no matching function for call to 'F_StartFinale'
2019-03-01 10:06:34 +02:00
Magnus Norddahl
b0fd5db616
- remove misplaced todo
2019-03-01 02:42:24 +01:00
Magnus Norddahl
d4118a755c
- load all the shaders and use the right one for each renderpass
2019-03-01 02:40:02 +01:00
Magnus Norddahl
f1f8797d3c
- bind the layer textures
2019-03-01 01:30:10 +01:00
Magnus Norddahl
7f3e473f56
- create a render pass for each blend setup
2019-03-01 00:42:51 +01:00
Marisa Kirisame
bc5baae827
Folder casing changes for Linux compatibility.
2019-02-28 23:56:29 +01:00
Christoph Oelckers
23a62cbe12
- added a 'testfinale' CCMD, so that the layout of finale texts can be tested more easily
2019-02-28 23:52:47 +01:00
Christoph Oelckers
86620aaba5
- allow reading xlsx spreadsheets directly for language definitions.
2019-02-28 22:21:55 +01:00
Christoph Oelckers
cad2f49ceb
- use BigUpper font for option menu captions.
2019-02-28 22:19:53 +01:00
Major Cooke
b48f7da43e
Renamed to musplaying.
2019-02-28 18:47:28 +01:00
Major Cooke
210af0d414
Exported MusPlayingInfo to ZScript.
...
- Allows grabbing the currently playing song, base order, and loop properties.
2019-02-28 18:47:28 +01:00
Magnus Norddahl
e472050f36
- use dynamic state for viewport and scissor
2019-02-28 15:45:59 +01:00
Magnus Norddahl
45061e8b44
- no need to debug with a red clear anymore
2019-02-28 01:22:38 +01:00
Magnus Norddahl
9a5112c1c9
- tell the memory allocator when we are going to persistently map something
2019-02-28 01:18:29 +01:00
Magnus Norddahl
2e0b34ca72
- hook up enough of renderstate to enable all of main.vp and main.fp
2019-02-28 00:26:49 +01:00