Christoph Oelckers
8c244f6f85
- use static_assert to make 32 bit builds fail.
2022-06-22 11:11:29 +02:00
Christoph Oelckers
aaf9618e61
- make sure ticdup is initialized.
...
Apparently sometimes it still does not happen.
2022-06-22 10:30:09 +02:00
nashmuhandes
593627f049
Add +ONLYVISIBLEINMIRRORS and +INVISIBLEINMIRRORS actor flags. The former makes the actor only visible in reflections, while the latter makes the actor not cast reflections in mirrors.
2022-06-22 09:36:04 +02:00
Christoph Oelckers
e3d7afa2d5
- added missing return
2022-06-22 09:26:53 +02:00
Magnus Norddahl
a0259e8e00
Hide experimental ray query behind vk_raytrace
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ed134c9b19
Improve the builder syntax so that fewer temp variables are required to build vulkan objects
2022-06-22 07:55:19 +02:00
Magnus Norddahl
386cb5bfb2
Mute some warnings
2022-06-22 07:55:19 +02:00
Magnus Norddahl
7fc579c8b2
Add some helpers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
c7fe3de4b0
Avoid creating new descriptor pools every frame
2022-06-22 07:55:19 +02:00
Magnus Norddahl
dba514a2cf
Fix CMakeLists.txt missing file error
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5aa0fb536f
Only define SUPPORTS_RAYTRACING if it was detected
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e0907f62d5
Use a black lightmap texture rather than an undefined one (NV and AMD differ on the contents of undefined textures)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0f08a0f511
Re-enable ray query in the shader
2022-06-22 07:55:19 +02:00
Magnus Norddahl
f1775ee64b
Fix null pointer crash if shader fails to compile during startup
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5446e37874
Add debug names to some buffers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5cc21c5a4a
Upgrade glslang to 11.10.0
2022-06-22 07:55:19 +02:00
Magnus Norddahl
32d059e432
Tell the debug layer what the name of the shader is
...
Always bind both buffer descriptor sets
2022-06-22 07:55:19 +02:00
Magnus Norddahl
821bd3b460
Adjust some init/deinit code and rename some things
2022-06-22 07:55:19 +02:00
Magnus Norddahl
4644221454
Make sure everything has finished rendering or uploading before changing the render buffers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
24bf0c685c
Remove GetVulkanFrameBuffer() so nobody is tempted to call it in the future
2022-06-22 07:55:19 +02:00
Magnus Norddahl
1c4798f059
Move lightmap and shadowmap textures to VkTextureManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
3d43819a3f
Move null texture to the texture manager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
63d40ffbf9
Avoiding adding empty objects to the delete list
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ba88303527
Move more code into the correct managers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
69cfadf411
Manage buffers in VkBufferManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ef802b85e7
Manage postprocess texture lifetimes in the same way as for hw textures
2022-06-22 07:55:19 +02:00
Magnus Norddahl
b3316fbe21
Let VkTextureManager manage the VkHardwareTexture resources
...
Let VkDescriptorSetManager manage the VkMaterial resources
Add the resources to the delete list instead of freeing them immediately as the backend cannot rely on exactly when the hardware renderer decides to destroy them
2022-06-22 07:55:19 +02:00
Magnus Norddahl
298c023b1d
Add buffer and texture managers for handling object lifetimes
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8004532cba
Begin detaching internal vulkan object lifetimes from the hardware renderer layer
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8ebad1003b
Split postprocess part into more files
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ecd2dc6300
Move command buffers out of vk_framebuffer and into its own manager class
2022-06-22 07:55:19 +02:00
Magnus Norddahl
a4e82766d7
Move inlined builder functions to the cpp file and remove FixedVector (none of it is on the critical path anyway)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
3f28a7e5e4
Add some more pipeline barriers hoping it will make any difference to Nvidia drivers crashing on a worker thread (yay, nvidia!)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8517c9713a
Move descriptor sets from VkRenderPassManager into a new class called VkDescriptorSetManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e26fb04adf
Some minor bug fixes
2022-06-22 07:55:19 +02:00
Magnus Norddahl
138d3e86ce
Fix null pointer crash when writing debug messages
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c1aab074c
Hook up the acceleration structure to the shader and start shooting some rays!
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e08965b0b3
Improve vk_debug output a lot by throwing away the useless parts of the message and limit the callstack to the first 5 gzdoom calls
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c90a72c66
Upgrade SPV and GLSL version if using Vulkan 1.2
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5e9906e3d3
Upgrade glsl compiler to 11.6.0
2022-06-22 07:55:19 +02:00
Magnus Norddahl
97073410c4
Upload acceleration structures for the level mesh
2022-06-22 07:55:19 +02:00
Magnus Norddahl
bf1732904f
Enable vulkan 1.2 and ray tracing extensions, if available
2022-06-22 07:55:19 +02:00
Magnus Norddahl
c6416a2afe
Update volk to a newer version
2022-06-22 07:55:19 +02:00
Christoph Oelckers
d5888dfa0a
- validate fountaincolor before using it.
2022-06-21 19:47:08 +02:00
Jan Engelhardt
3213f046c2
Resolve build failure on i686-linux
...
gcc had to say:
gzdoom-g4.8.0/src/common/engine/stats.h:83:13: error: 'CPU' was not declared in this scope
83 | if (CPU.bRDTSC)
2022-06-19 07:53:21 +02:00
alexey.lysiuk
cd998edf86
- added detection of macOS Ventura
2022-06-18 13:14:48 +03:00
alexey.lysiuk
d2c9a0fcde
- updated continuous integration workflow
...
* Use macOS 12 runners
* Test Xcode project generation in addition to Makefile one
* Remove obsolete CMake options
* Use ZMusic 1.1.9
2022-06-18 13:14:27 +03:00
Christoph Oelckers
14fc2a011e
- ZScript: don't allow multiple assignment syntax with only one element.
2022-06-16 10:47:11 +02:00
Christoph Oelckers
316b9305a2
- fixed type of third argument of MBF21's MonsterMeleeAttack function.
...
This is a sound, not an int.
2022-06-16 10:31:39 +02:00
Christoph Oelckers
de4627a477
- added an override for NOTAUTOAIMED flag when using P_AimLineAttack for informative CCMDs.
...
The flag is explicitly blocked for script use.
2022-06-16 10:07:22 +02:00