=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Begin and end conditional rendering outside render passes.

Alexandre Julliard julliard at winehq.org
Tue Jun 18 17:21:29 CDT 2019


Module: vkd3d
Branch: master
Commit: 9939712560b124715debe9d7fb19adb1868b66c9
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=9939712560b124715debe9d7fb19adb1868b66c9

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Tue Jun 18 10:07:49 2019 +0200

vkd3d: Begin and end conditional rendering outside render passes.

The Vulkan spec says:

  "Conditional rendering must also either begin and end inside the same
  subpass of a render pass instance, or must both begin and end outside
  of a render pass instance (i.e. contain entire render pass instances)."

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d/command.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c
index 31a5d20..5b877db 100644
--- a/libs/vkd3d/command.c
+++ b/libs/vkd3d/command.c
@@ -4941,11 +4941,14 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetPredication(ID3D12GraphicsCo
 
     vk_procs = &list->device->vk_procs;
 
+    /* FIXME: Add support for conditional rendering in render passes. */
+    d3d12_command_list_end_current_render_pass(list);
+
     if (resource)
     {
         VkConditionalRenderingBeginInfoEXT cond_info;
 
-        if (aligned_buffer_offset & (sizeof(UINT64) - 1))
+        if (aligned_buffer_offset & (sizeof(uint64_t) - 1))
         {
             WARN("Unaligned predicate argument buffer offset %#"PRIx64".\n", aligned_buffer_offset);
             return;
@@ -4957,7 +4960,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetPredication(ID3D12GraphicsCo
             return;
         }
 
-        FIXME("Predication doesn't support clear and copy commands, "
+        FIXME_ONCE("Predication doesn't support clear and copy commands, "
                 "and predication values are treated as 32-bit values.\n");
 
         cond_info.sType = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;




More information about the wine-cvs mailing list