Commit Graph

3657 Commits

Author SHA1 Message Date
Turánszki János bb519474ca envmap filtering uses dynamic mip selection to reduce fireflies v0.71.285 2023-09-03 14:46:14 +02:00
Turánszki János f8863799cd EXT_lights_image_based, DDS file writer, envprobe updates, fixes (#741) 2023-09-03 11:39:54 +02:00
Turánszki János 0035848630 raytraced reflection fix: static sky can also be reflected 2023-08-31 07:40:42 +02:00
Turánszki János 553a2ce720 roughness clamping fix 2023-08-30 19:05:43 +02:00
Turánszki János 41f29e2a1d Envmap improvements 2023-08-30 09:21:42 +02:00
Turánszki János af4175a775 ps5: impostor msaa resolve dest needs to be a render target 2023-08-28 19:12:51 +02:00
Turánszki János 7dde93da20 gui window onResize callback , editor about window updates 2023-08-27 17:49:14 +02:00
Turánszki János 19280fc45e spheremap orientation fix, static sky exposure 2023-08-25 08:40:47 +02:00
Turánszki János c6c145f1f9 fixes: envprobe miplevels; editor focus on dirlight; gui textInput selectall; 2023-08-23 17:11:44 +02:00
Turánszki János 109a35aea0 playstation 5: audio and job system extensions 2023-08-23 08:22:49 +02:00
Turánszki János 6a86c8a61f Playstation 5 input and fixes (#734) 2023-08-20 16:14:46 +02:00
Turánszki János 8a20963fff Playstation 5 fixes (#733) 2023-08-19 12:46:56 +02:00
Dennis Brakhane c8cfac5678 Various vulkan fixes (#732)
* vulkan: no need to explicitly enable VK_KHR_get_physical_device_properties2

It has been promoted to core Vulkan 1.1

* vulkan: fix creating and destroying swapchains

We can't reuse a semaphore if it is signalled. There is no
easy way to wait on the swapchain semaphore without some ugly hacks,
so instead we just create a new one.
We also need make sure we only destroy old swapchains once they are
(probably) not used anymore. The recent VK_EXT_swapchain_maintenance1
extension would make all of this much easier, but as of now, it's not yet
widely supported.

* cleanup: reduce amount of copy-paste in AllocationHandler::Update()

Using a lambda allows us to remove the copy-pasted loop and increase legibility
by reducing the code by almost two thirds with no performance impact: both GCC
and MSVC generate almost the same code as in the old version, the differences
being often due to slightly different register allocations.

* vulkan: ensure render area is not greater than color attachments

swapchain->desc.width/height can differ from the swapChainExtent,
for example if a VK_KHR_SUBOPTIMAL happened before we received the
"window size changed" event, or if it is not between the minimal
or maximal extents.

Ensure we don't use a render area larger than the color attachments,
as this violates VUID-VkRenderingInfo-pNext-06079 and 06080.
2023-08-18 17:20:30 +02:00
Turánszki János dd37d813a5 dxc update, hlsl 2021 syntax (#731) 2023-08-17 07:03:34 +02:00
Turánszki János b07d3a73ea backlog update 2023-08-16 07:49:11 +02:00
Turánszki János 315b9943cd Playstation 5 initial support (#729) 2023-08-11 08:36:48 +02:00
Turánszki János 6924716740 editor: moved eliminateCoarseCascades and KTX2convert buttons to General options 2023-08-07 07:10:54 +02:00
Dennis Brakhane eac094a040 ensure shader list is not modified while we're iterating over it (#728) 2023-08-07 05:49:22 +02:00
Dennis Brakhane d28654db41 fix using wrong function when calculating stage mask (#725) 2023-08-06 16:01:23 +02:00
Matteo De Carlo 9671bec439 OpenImageDenoise 2.0 version check
Only use OpenImageDenoise if found and version >= 2.0
2023-08-05 22:16:28 +02:00
Turánszki János 79cd98c390 Added support for Xbox Series X|S v0.71.272 2023-08-05 11:56:40 +02:00
Dennis Brakhane e9eed3a297 use canonical cache directory on Linux (#723) 2023-08-03 08:57:25 +02:00
Turánszki János 5714f63267 readme update, include removal 2023-08-02 07:47:54 +02:00
Turánszki János 9c68b968fc utf8 file handling fixes (#721) 2023-08-01 19:34:10 +02:00
Turánszki János 912ba1446b dx12 copy allocator fix 2023-08-01 11:00:53 +02:00
Turánszki János c928303be1 vulkan video field flag fix; added NO_DEFAULT_DESCRIPTORS gfx flag; 2023-07-31 08:53:39 +02:00
Dennis Brakhane 3d351274a5 vulkan: fix locking for non-dedicated queues (#720)
Some devices don't offer dedicated queues, just one "does everything"
queue. In those cases, our logically separate queues are the same
Vulkan queue, so we need to make sure that those queue share the same
mutex.

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2023-07-31 07:28:51 +02:00
Dennis Brakhane 8701e38411 vulkan fix: Ensure properties2 matches the physical device (#719)
Ensure that if there is more than one physical device, but
no preferred one, (eg. iGPU and llvmpipe), properties2 will
have the data for the selected device, and not the last
one checked.
2023-07-31 07:21:12 +02:00
Turánszki János d1edb5aa1f alignment fixes for certain sub-allocations 2023-07-30 15:35:03 +02:00
Turánszki János abe650eb55 GTLF: added support for KHR_materials_emissive_strength 2023-07-30 13:46:08 +02:00
Turánszki János b855545d54 protect against possible multithread access in block compressor 2023-07-30 08:50:49 +02:00
Turánszki János 912b6b7351 hdr image resource will be packed to lesser precision format to use less memory 2023-07-29 13:57:48 +02:00
Turánszki János 6246c80dd8 enitity and matrix arrays changed to structured buffers 2023-07-29 10:53:15 +02:00
Turánszki János b742d877ac tessellation fix 2023-07-29 09:03:51 +02:00
Turánszki János c518e9db4e tangent interpolation fix 2023-07-29 08:15:56 +02:00
Turánszki János 18d5264129 graphics fixes 2023-07-28 21:14:49 +02:00
Turánszki János f6b3f3ed30 animation retargeting can now be used across different scenes 2023-07-28 08:56:23 +02:00
Turánszki János 06482d279e precompiled lua script support (#715) 2023-07-27 07:21:11 +02:00
Dennis Brakhane d7ba1d67c0 Ensure IK gets only updated after a timestep occured (#716)
Update_IK gets called for every frame, but ground intersections are only
checked up to 120 times per second.

This can lead to the Y velocity being >0 despite standing on the ground,
messing up IK which is only done when the velocity is 0.

Fixes #707
2023-07-26 19:10:16 +02:00
Turánszki János 58a13ce3cc character controller: NPC will stop in its track and turn towards player when initiating conversation 2023-07-26 09:33:43 +02:00
Turánszki János 04c83ce315 dx12 refactors 2023-07-26 07:46:03 +02:00
Turánszki János 6ab013004f removed atlbase.h dependency (#714) 2023-07-25 14:25:11 +02:00
Turánszki János 484f32f3e4 shader buffer refactor; vulkan mesh shader fixes; (#713) 2023-07-25 09:59:59 +02:00
Turánszki János 532ed92ac4 config file reader fix when no newline at end of file #712 2023-07-24 08:39:13 +02:00
Turánszki János 9affa1c86d improved 16-bit PNG support;
vulkan: readback image rowpitch fix;
editor: F2 screenshot button;
2023-07-22 10:08:07 +02:00
Turánszki János bbc71222af readme, features and build script updates (#711) 2023-07-21 10:43:55 +02:00
Turánszki János c86d5c8ee8 terrain: 16-bit heightmap import/export 2023-07-21 07:45:36 +02:00
Turánszki János 7e0d0b963a gui: scrollbar safe area configuration 2023-07-20 09:16:01 +02:00
Turánszki János 4bb7cac13e linux -Wmaybe-uninitialized warning fix 2023-07-20 07:15:59 +02:00
Turánszki János a3ff9420a6 physics fix for attached rigidbody #709 2023-07-20 06:40:27 +02:00