You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
d3d12: remove MinGW DEFINE_GUIDW block superseded by dx_guids.c
gfx/drivers/d3d12.c carried a #ifdef __MINGW32__ / #if __GNUC__ < 12
block that manually emitted D3D12 COM GUIDs via DECLSPEC_SELECTANY to
work around MinGW not shipping dxguid.lib. With the introduction of
gfx/common/dx_guids.c (which emits all DirectX GUIDs centrally via
<initguid.h>), this block became redundant and caused multiple-
definition link errors on MinGW/MXE builds:
dx_guids.o: multiple definition of `IID_ID3D12Device'
d3d12.o: first defined here
On MSVC the linker silently deduplicated DECLSPEC_SELECTANY symbols
against initguid.h storage, so the collision only manifested on
GCC/MinGW where both are strong definitions.
Remove the entire block (19 standard IID_* GUIDs plus 7 debug-only
GUIDs that were already dead code on MinGW due to their inner
!defined(__MINGW32__) guard). dx_guids.c is now the sole emitter of
standard D3D12 GUIDs on all platforms.
The libretro_IID_IDXGIFactory5 in d3d11.c and libretro_IID_IDXGIOutput6
in dxgi_common.c are unaffected — they use custom prefixed names that
do not collide with dx_guids.c.
0 commit comments