1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Merge pull request #109749 from Repiteo/scons/mesa-rollback

SCons: Temporarily revert Mesa includes to `CPPPATH`
This commit is contained in:
Thaddeus Crews
2025-08-19 10:29:45 -05:00
4 changed files with 66 additions and 38 deletions

View File

@@ -162,7 +162,9 @@ else:
env.Append(CCFLAGS=["-Wno-unknown-pragmas"]) env.Append(CCFLAGS=["-Wno-unknown-pragmas"])
# This is needed since rendering_device_d3d12.cpp needs to include some Mesa internals. # This is needed since rendering_device_d3d12.cpp needs to include some Mesa internals.
env_d3d12_rdd.Prepend(CPPEXTPATH=mesa_private_inc_paths) # FIXME: Should be CPPEXTPATH, but doing so introduces an include-order bug when combined with
# godot-nir-static; this necessitates warning macro wrappers. See #106376.
env_d3d12_rdd.Prepend(CPPPATH=mesa_private_inc_paths)
# For the same reason as above, the defines must be the same as in the 3rd-party code itself. # For the same reason as above, the defines must be the same as in the 3rd-party code itself.
env_d3d12_rdd.Append(CPPDEFINES=extra_defines) env_d3d12_rdd.Append(CPPDEFINES=extra_defines)

View File

@@ -39,8 +39,23 @@
#include "core/version.h" #include "core/version.h"
#include "servers/rendering/rendering_device.h" #include "servers/rendering/rendering_device.h"
GODOT_GCC_WARNING_PUSH
GODOT_GCC_WARNING_IGNORE("-Wmissing-field-initializers")
GODOT_GCC_WARNING_IGNORE("-Wnon-virtual-dtor")
GODOT_GCC_WARNING_IGNORE("-Wshadow")
GODOT_GCC_WARNING_IGNORE("-Wswitch")
GODOT_CLANG_WARNING_PUSH
GODOT_CLANG_WARNING_IGNORE("-Wmissing-field-initializers")
GODOT_CLANG_WARNING_IGNORE("-Wnon-virtual-dtor")
GODOT_CLANG_WARNING_IGNORE("-Wstring-plus-int")
GODOT_CLANG_WARNING_IGNORE("-Wswitch")
GODOT_MSVC_WARNING_PUSH
#include <dxcapi.h> #include <dxcapi.h>
GODOT_GCC_WARNING_POP
GODOT_CLANG_WARNING_POP
#if !defined(_MSC_VER) #if !defined(_MSC_VER)
#include <guiddef.h> #include <guiddef.h>

View File

@@ -40,6 +40,24 @@
#include "d3d12_godot_nir_bridge.h" #include "d3d12_godot_nir_bridge.h"
#include "rendering_context_driver_d3d12.h" #include "rendering_context_driver_d3d12.h"
GODOT_GCC_WARNING_PUSH
GODOT_GCC_WARNING_IGNORE("-Wimplicit-fallthrough")
GODOT_GCC_WARNING_IGNORE("-Wlogical-not-parentheses")
GODOT_GCC_WARNING_IGNORE("-Wmissing-field-initializers")
GODOT_GCC_WARNING_IGNORE("-Wnon-virtual-dtor")
GODOT_GCC_WARNING_IGNORE("-Wshadow")
GODOT_GCC_WARNING_IGNORE("-Wswitch")
GODOT_CLANG_WARNING_PUSH
GODOT_CLANG_WARNING_IGNORE("-Wimplicit-fallthrough")
GODOT_CLANG_WARNING_IGNORE("-Wlogical-not-parentheses")
GODOT_CLANG_WARNING_IGNORE("-Wmissing-field-initializers")
GODOT_CLANG_WARNING_IGNORE("-Wnon-virtual-dtor")
GODOT_CLANG_WARNING_IGNORE("-Wstring-plus-int")
GODOT_CLANG_WARNING_IGNORE("-Wswitch")
GODOT_MSVC_WARNING_PUSH
GODOT_MSVC_WARNING_IGNORE(4200) // "nonstandard extension used: zero-sized array in struct/union".
GODOT_MSVC_WARNING_IGNORE(4806) // "'&': unsafe operation: no value of type 'bool' promoted to type 'uint32_t' can equal the given constant".
#include <nir_spirv.h> #include <nir_spirv.h>
#include <nir_to_dxil.h> #include <nir_to_dxil.h>
#include <spirv_to_dxil.h> #include <spirv_to_dxil.h>
@@ -47,6 +65,10 @@ extern "C" {
#include <dxil_spirv_nir.h> #include <dxil_spirv_nir.h>
} }
GODOT_GCC_WARNING_POP
GODOT_CLANG_WARNING_POP
GODOT_MSVC_WARNING_POP
#if !defined(_MSC_VER) #if !defined(_MSC_VER)
#include <guiddef.h> #include <guiddef.h>

View File

@@ -41,26 +41,10 @@
#define __REQUIRED_RPCNDR_H_VERSION__ 475 #define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif #endif
#if defined(__GNUC__) && !defined(__clang__) #include <d3dx12.h>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Wswitch"
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
#pragma clang diagnostic ignored "-Wstring-plus-int"
#pragma clang diagnostic ignored "-Wswitch"
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
#endif
#include "d3dx12.h"
#include <dxgi1_6.h> #include <dxgi1_6.h>
#define D3D12MA_D3D12_HEADERS_ALREADY_INCLUDED #define D3D12MA_D3D12_HEADERS_ALREADY_INCLUDED
#include "D3D12MemAlloc.h" #include <D3D12MemAlloc.h>
#include <wrl/client.h> #include <wrl/client.h>
@@ -69,29 +53,34 @@
#undef MemoryBarrier #undef MemoryBarrier
#endif #endif
// No point in fighting warnings in Mesa. GODOT_GCC_WARNING_PUSH
#if defined(_MSC_VER) GODOT_GCC_WARNING_IGNORE("-Wimplicit-fallthrough")
#pragma warning(push) GODOT_GCC_WARNING_IGNORE("-Wlogical-not-parentheses")
#pragma warning(disable : 4200) // "nonstandard extension used: zero-sized array in struct/union". GODOT_GCC_WARNING_IGNORE("-Wmissing-field-initializers")
#pragma warning(disable : 4806) // "'&': unsafe operation: no value of type 'bool' promoted to type 'uint32_t' can equal the given constant". GODOT_GCC_WARNING_IGNORE("-Wnon-virtual-dtor")
#endif GODOT_GCC_WARNING_IGNORE("-Wshadow")
GODOT_GCC_WARNING_IGNORE("-Wswitch")
GODOT_CLANG_WARNING_PUSH
GODOT_CLANG_WARNING_IGNORE("-Wimplicit-fallthrough")
GODOT_CLANG_WARNING_IGNORE("-Wlogical-not-parentheses")
GODOT_CLANG_WARNING_IGNORE("-Wmissing-field-initializers")
GODOT_CLANG_WARNING_IGNORE("-Wnon-virtual-dtor")
GODOT_CLANG_WARNING_IGNORE("-Wstring-plus-int")
GODOT_CLANG_WARNING_IGNORE("-Wswitch")
GODOT_MSVC_WARNING_PUSH
GODOT_MSVC_WARNING_IGNORE(4200) // "nonstandard extension used: zero-sized array in struct/union".
GODOT_MSVC_WARNING_IGNORE(4806) // "'&': unsafe operation: no value of type 'bool' promoted to type 'uint32_t' can equal the given constant".
#include "nir_spirv.h" #include <nir_spirv.h>
#include "nir_to_dxil.h" #include <nir_to_dxil.h>
#include "spirv_to_dxil.h" #include <spirv_to_dxil.h>
extern "C" { extern "C" {
#include "dxil_spirv_nir.h" #include <dxil_spirv_nir.h>
} }
#if defined(__GNUC__) && !defined(__clang__) GODOT_GCC_WARNING_POP
#pragma GCC diagnostic pop GODOT_CLANG_WARNING_POP
#elif defined(__clang__) GODOT_MSVC_WARNING_POP
#pragma clang diagnostic pop
#endif
#if defined(_MSC_VER)
#pragma warning(pop)
#endif
static D3D12_SHADER_VISIBILITY stages_to_d3d12_visibility(uint32_t p_stages_mask) { static D3D12_SHADER_VISIBILITY stages_to_d3d12_visibility(uint32_t p_stages_mask) {
switch (p_stages_mask) { switch (p_stages_mask) {