mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00
Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers.
This commit is contained in:
parent
3c7f9b9372
commit
e5ab5acd95
11 changed files with 14 additions and 24 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<RDD::MemoryBarrier> p_memory_barriers,
|
||||
VectorView<RDD::MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<RDD::BufferBarrier> p_buffer_barriers,
|
||||
VectorView<RDD::TextureBarrier> 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);
|
||||
|
|
|
@ -48,11 +48,6 @@
|
|||
|
||||
#include <wrl/client.h>
|
||||
|
||||
#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<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<RDD::MemoryBarrier> p_memory_barriers,
|
||||
VectorView<RDD::MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<RDD::BufferBarrier> p_buffer_barriers,
|
||||
VectorView<RDD::TextureBarrier> p_texture_barriers) override final;
|
||||
|
||||
|
|
|
@ -48,11 +48,6 @@
|
|||
|
||||
#include <wrl/client.h>
|
||||
|
||||
#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")
|
||||
|
|
|
@ -149,7 +149,7 @@ public:
|
|||
CommandBufferID p_cmd_buffer,
|
||||
BitField<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<MemoryBarrier> p_memory_barriers,
|
||||
VectorView<MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<BufferBarrier> p_buffer_barriers,
|
||||
VectorView<TextureBarrier> p_texture_barriers) override final;
|
||||
|
||||
|
|
|
@ -830,7 +830,7 @@ void RenderingDeviceDriverMetal::command_pipeline_barrier(
|
|||
CommandBufferID p_cmd_buffer,
|
||||
BitField<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<MemoryBarrier> p_memory_barriers,
|
||||
VectorView<MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<BufferBarrier> p_buffer_barriers,
|
||||
VectorView<TextureBarrier> p_texture_barriers) {
|
||||
WARN_PRINT_ONCE("not implemented");
|
||||
|
|
|
@ -2454,7 +2454,7 @@ void RenderingDeviceDriverVulkan::command_pipeline_barrier(
|
|||
CommandBufferID p_cmd_buffer,
|
||||
BitField<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<MemoryBarrier> p_memory_barriers,
|
||||
VectorView<MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<BufferBarrier> p_buffer_barriers,
|
||||
VectorView<TextureBarrier> p_texture_barriers) {
|
||||
VkMemoryBarrier *vk_memory_barriers = ALLOCA_ARRAY(VkMemoryBarrier, p_memory_barriers.size());
|
||||
|
|
|
@ -269,7 +269,7 @@ public:
|
|||
CommandBufferID p_cmd_buffer,
|
||||
BitField<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<MemoryBarrier> p_memory_barriers,
|
||||
VectorView<MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<BufferBarrier> p_buffer_barriers,
|
||||
VectorView<TextureBarrier> p_texture_barriers) override final;
|
||||
|
||||
|
|
|
@ -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<BarrierAccessBits> src_access = {};
|
||||
BitField<BarrierAccessBits> dst_access = {};
|
||||
};
|
||||
|
@ -365,7 +366,7 @@ public:
|
|||
CommandBufferID p_cmd_buffer,
|
||||
BitField<PipelineStageBits> p_src_stages,
|
||||
BitField<PipelineStageBits> p_dst_stages,
|
||||
VectorView<MemoryBarrier> p_memory_barriers,
|
||||
VectorView<MemoryAccessBarrier> p_memory_barriers,
|
||||
VectorView<BufferBarrier> p_buffer_barriers,
|
||||
VectorView<TextureBarrier> p_texture_barriers) = 0;
|
||||
|
||||
|
|
|
@ -1318,7 +1318,7 @@ void RenderingDeviceGraph::_group_barriers_for_render_commands(RDD::CommandBuffe
|
|||
return;
|
||||
}
|
||||
|
||||
const VectorView<RDD::MemoryBarrier> memory_barriers = !is_memory_barrier_empty ? barrier_group.memory_barrier : VectorView<RDD::MemoryBarrier>();
|
||||
const VectorView<RDD::MemoryAccessBarrier> memory_barriers = !is_memory_barrier_empty ? barrier_group.memory_barrier : VectorView<RDD::MemoryAccessBarrier>();
|
||||
const VectorView<RDD::TextureBarrier> texture_barriers = barrier_group.normalization_barriers.is_empty() ? barrier_group.transition_barriers : barrier_group.normalization_barriers;
|
||||
#if USE_BUFFER_BARRIERS
|
||||
const VectorView<RDD::BufferBarrier> buffer_barriers = !are_buffer_barriers_empty ? barrier_group.buffer_barriers : VectorView<RDD::BufferBarrier>();
|
||||
|
@ -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<RDD::MemoryBarrier>(), VectorView<RDD::BufferBarrier>(), barrier_group.transition_barriers);
|
||||
driver->command_pipeline_barrier(p_command_buffer, barrier_group.src_stages, barrier_group.dst_stages, VectorView<RDD::MemoryAccessBarrier>(), VectorView<RDD::BufferBarrier>(), barrier_group.transition_barriers);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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<RDD::PipelineStageBits> src_stages = {};
|
||||
BitField<RDD::PipelineStageBits> dst_stages = {};
|
||||
RDD::MemoryBarrier memory_barrier;
|
||||
RDD::MemoryAccessBarrier memory_barrier;
|
||||
LocalVector<RDD::TextureBarrier> normalization_barriers;
|
||||
LocalVector<RDD::TextureBarrier> transition_barriers;
|
||||
#if USE_BUFFER_BARRIERS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue