summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDario <dariosamo@gmail.com>2024-10-31 11:37:54 -0300
committerDario <dariosamo@gmail.com>2024-11-01 09:46:52 -0300
commit5216ef5f9cb9479989b58aaab797a87a61899630 (patch)
tree5fcd29a20bebf185586f26d25583dad49f60472d /drivers
parentc6c464cf9ae56e8b68620af65125dd980d0e8122 (diff)
downloadredot-engine-5216ef5f9cb9479989b58aaab797a87a61899630.tar.gz
Add dependency detection improvements to the render graph.
- Buffers changing their usage are no longer treated as write usage unless the API requires it. - Draw lists are not treated as being dependent on each other if their regions do not intersect despite both being write commands. - Particles were tweaked to use different unused buffers to reduce dependencies.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/d3d12/rendering_device_driver_d3d12.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/d3d12/rendering_device_driver_d3d12.cpp b/drivers/d3d12/rendering_device_driver_d3d12.cpp
index ab270e5e82..0cc89dfaca 100644
--- a/drivers/d3d12/rendering_device_driver_d3d12.cpp
+++ b/drivers/d3d12/rendering_device_driver_d3d12.cpp
@@ -6177,6 +6177,8 @@ uint64_t RenderingDeviceDriverD3D12::api_trait_get(ApiTrait p_trait) {
return false;
case API_TRAIT_USE_GENERAL_IN_COPY_QUEUES:
return true;
+ case API_TRAIT_BUFFERS_REQUIRE_TRANSITIONS:
+ return !barrier_capabilities.enhanced_barriers_supported;
default:
return RenderingDeviceDriver::api_trait_get(p_trait);
}