diff --git a/core/typedefs.h b/core/typedefs.h index ecc13e83866..8a417bfb713 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -110,7 +110,6 @@ static_assert(__cplusplus >= 201703L, "Minimum of C++17 required."); #undef Error #undef OK #undef CONNECT_DEFERRED // override from Windows SDK, clashes with Object enum -#undef MemoryBarrier #undef MONO_FONT #endif diff --git a/drivers/d3d12/rendering_device_driver_d3d12.cpp b/drivers/d3d12/rendering_device_driver_d3d12.cpp index 61d2e69d83a..4c7bf1b9c1f 100644 --- a/drivers/d3d12/rendering_device_driver_d3d12.cpp +++ b/drivers/d3d12/rendering_device_driver_d3d12.cpp @@ -2141,7 +2141,7 @@ static D3D12_BARRIER_LAYOUT _rd_texture_layout_to_d3d12_barrier_layout(RDD::Text void RenderingDeviceDriverD3D12::command_pipeline_barrier(CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) { if (!barrier_capabilities.enhanced_barriers_supported) { @@ -2170,7 +2170,7 @@ void RenderingDeviceDriverD3D12::command_pipeline_barrier(CommandBufferID p_cmd_ D3D12_GLOBAL_BARRIER global_barrier = {}; for (uint32_t i = 0; i < p_memory_barriers.size(); i++) { - const MemoryBarrier &memory_barrier = p_memory_barriers[i]; + const MemoryAccessBarrier &memory_barrier = p_memory_barriers[i]; _rd_stages_and_access_to_d3d12(p_src_stages, RDD::TEXTURE_LAYOUT_MAX, memory_barrier.src_access, global_barrier.SyncBefore, global_barrier.AccessBefore); _rd_stages_and_access_to_d3d12(p_dst_stages, RDD::TEXTURE_LAYOUT_MAX, memory_barrier.dst_access, global_barrier.SyncAfter, global_barrier.AccessAfter); global_barriers.push_back(global_barrier); diff --git a/drivers/d3d12/rendering_device_driver_d3d12.h b/drivers/d3d12/rendering_device_driver_d3d12.h index 506976a2f51..303e26bf402 100644 --- a/drivers/d3d12/rendering_device_driver_d3d12.h +++ b/drivers/d3d12/rendering_device_driver_d3d12.h @@ -48,11 +48,6 @@ #include -#if defined(_MSC_VER) && defined(MemoryBarrier) -// Annoying define from winnt.h. Reintroduced by some of the headers above. -#undef MemoryBarrier -#endif - using Microsoft::WRL::ComPtr; #ifdef DEV_ENABLED @@ -344,7 +339,7 @@ public: CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) override final; diff --git a/drivers/d3d12/rendering_shader_container_d3d12.cpp b/drivers/d3d12/rendering_shader_container_d3d12.cpp index 7e4b0e1a874..08d43fa70e4 100644 --- a/drivers/d3d12/rendering_shader_container_d3d12.cpp +++ b/drivers/d3d12/rendering_shader_container_d3d12.cpp @@ -48,11 +48,6 @@ #include -#if defined(_MSC_VER) && defined(MemoryBarrier) -// Annoying define from winnt.h. Reintroduced by some of the headers above. -#undef MemoryBarrier -#endif - GODOT_GCC_WARNING_PUSH GODOT_GCC_WARNING_IGNORE("-Wimplicit-fallthrough") GODOT_GCC_WARNING_IGNORE("-Wlogical-not-parentheses") diff --git a/drivers/metal/rendering_device_driver_metal.h b/drivers/metal/rendering_device_driver_metal.h index 61ee296a9d8..09a3742925f 100644 --- a/drivers/metal/rendering_device_driver_metal.h +++ b/drivers/metal/rendering_device_driver_metal.h @@ -149,7 +149,7 @@ public: CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) override final; diff --git a/drivers/metal/rendering_device_driver_metal.mm b/drivers/metal/rendering_device_driver_metal.mm index b42a515649a..6c3a1ee1394 100644 --- a/drivers/metal/rendering_device_driver_metal.mm +++ b/drivers/metal/rendering_device_driver_metal.mm @@ -830,7 +830,7 @@ void RenderingDeviceDriverMetal::command_pipeline_barrier( CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) { WARN_PRINT_ONCE("not implemented"); diff --git a/drivers/vulkan/rendering_device_driver_vulkan.cpp b/drivers/vulkan/rendering_device_driver_vulkan.cpp index 7cc27c2167c..d2a7ffd1fc6 100644 --- a/drivers/vulkan/rendering_device_driver_vulkan.cpp +++ b/drivers/vulkan/rendering_device_driver_vulkan.cpp @@ -2454,7 +2454,7 @@ void RenderingDeviceDriverVulkan::command_pipeline_barrier( CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) { VkMemoryBarrier *vk_memory_barriers = ALLOCA_ARRAY(VkMemoryBarrier, p_memory_barriers.size()); diff --git a/drivers/vulkan/rendering_device_driver_vulkan.h b/drivers/vulkan/rendering_device_driver_vulkan.h index 90868a15781..873eb446a17 100644 --- a/drivers/vulkan/rendering_device_driver_vulkan.h +++ b/drivers/vulkan/rendering_device_driver_vulkan.h @@ -269,7 +269,7 @@ public: CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) override final; diff --git a/servers/rendering/rendering_device_driver.h b/servers/rendering/rendering_device_driver.h index 7d7d732f079..8a3814145a2 100644 --- a/servers/rendering/rendering_device_driver.h +++ b/servers/rendering/rendering_device_driver.h @@ -339,7 +339,8 @@ public: BARRIER_ACCESS_STORAGE_CLEAR_BIT = (1 << 27), }; - struct MemoryBarrier { + // https://github.com/godotengine/godot/pull/110360 - "MemoryBarrier" conflicts with Windows header defines + struct MemoryAccessBarrier { BitField src_access = {}; BitField dst_access = {}; }; @@ -365,7 +366,7 @@ public: CommandBufferID p_cmd_buffer, BitField p_src_stages, BitField p_dst_stages, - VectorView p_memory_barriers, + VectorView p_memory_barriers, VectorView p_buffer_barriers, VectorView p_texture_barriers) = 0; diff --git a/servers/rendering/rendering_device_graph.cpp b/servers/rendering/rendering_device_graph.cpp index d9f320b3268..2fcbe99cea6 100644 --- a/servers/rendering/rendering_device_graph.cpp +++ b/servers/rendering/rendering_device_graph.cpp @@ -1318,7 +1318,7 @@ void RenderingDeviceGraph::_group_barriers_for_render_commands(RDD::CommandBuffe return; } - const VectorView memory_barriers = !is_memory_barrier_empty ? barrier_group.memory_barrier : VectorView(); + const VectorView memory_barriers = !is_memory_barrier_empty ? barrier_group.memory_barrier : VectorView(); const VectorView texture_barriers = barrier_group.normalization_barriers.is_empty() ? barrier_group.transition_barriers : barrier_group.normalization_barriers; #if USE_BUFFER_BARRIERS const VectorView buffer_barriers = !are_buffer_barriers_empty ? barrier_group.buffer_barriers : VectorView(); @@ -1330,7 +1330,7 @@ void RenderingDeviceGraph::_group_barriers_for_render_commands(RDD::CommandBuffe bool separate_texture_barriers = !barrier_group.normalization_barriers.is_empty() && !barrier_group.transition_barriers.is_empty(); if (separate_texture_barriers) { - driver->command_pipeline_barrier(p_command_buffer, barrier_group.src_stages, barrier_group.dst_stages, VectorView(), VectorView(), barrier_group.transition_barriers); + driver->command_pipeline_barrier(p_command_buffer, barrier_group.src_stages, barrier_group.dst_stages, VectorView(), VectorView(), barrier_group.transition_barriers); } } diff --git a/servers/rendering/rendering_device_graph.h b/servers/rendering/rendering_device_graph.h index 18c267088e6..1478f3dd3d4 100644 --- a/servers/rendering/rendering_device_graph.h +++ b/servers/rendering/rendering_device_graph.h @@ -104,7 +104,7 @@ public: Type type = TYPE_NONE; int32_t adjacent_command_list_index = -1; - RDD::MemoryBarrier memory_barrier; + RDD::MemoryAccessBarrier memory_barrier; int32_t normalization_barrier_index = -1; int normalization_barrier_count = 0; int32_t transition_barrier_index = -1; @@ -663,7 +663,7 @@ private: struct BarrierGroup { BitField src_stages = {}; BitField dst_stages = {}; - RDD::MemoryBarrier memory_barrier; + RDD::MemoryAccessBarrier memory_barrier; LocalVector normalization_barriers; LocalVector transition_barriers; #if USE_BUFFER_BARRIERS