Module: wine Branch: master Commit: 267ee07ded639acf686e37f53f4b010e8b3788f0 URL: https://gitlab.winehq.org/wine/wine/-/commit/267ee07ded639acf686e37f53f4b010...
Author: Georg Lehmann dadschoorse@gmail.com Date: Wed Jun 28 17:51:02 2023 +0200
winevulkan: Keep deferred operation function params alive.
The Vulkan spec says: Parameters to the command requesting a deferred operation may be accessed by the implementation at any time until the deferred operation enters the complete state. Pointer parameters must not be modified (e.g. reallocated/freed).
This fixes a regression in Doom Eternal with ray tracing enabled with drivers that actually support deferred operations (e.g. nvidia, amdvlk).
---
dlls/winevulkan/make_vulkan | 31 +- dlls/winevulkan/vulkan.c | 50 ++ dlls/winevulkan/vulkan_private.h | 21 + dlls/winevulkan/vulkan_thunks.c | 1676 +++++++++++++++++++++----------------- dlls/winevulkan/vulkan_thunks.h | 2 + 5 files changed, 1032 insertions(+), 748 deletions(-)