Updating my admittedly homespun WSL Gentoo install.
The newest version of mesa gives a compilation error:
Code: Select all
x86_64-pc-linux-gnu-g++ -m32 -mfpmath=sse -Isrc/gallium/drivers/d3d12/libd3d12.a.p -Isrc/gallium/drivers/d3d12 -I../mesa-25.3.3/src/gallium/drivers/d3d12 -Iinclude -I../mesa-25.3.3/include -Isrc -I../mesa-25.3.3/src -I../mesa-25.3.3/src/gallium/include -Isrc/gallium/auxiliary -I../mesa-25.3.3/src/gallium/auxiliary -Isrc/compiler/nir -I../mesa-25.3.3/src/compiler/nir -Isrc/compiler -I../mesa-25.3.3/src/compiler -Isrc/microsoft/compiler -I../mesa-25.3.3/src/microsoft/compiler -Isrc/util -Isrc/util/format -I/usr/include/wsl/stubs -I/usr/include/directx -I/usr/include/libdrm -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="25.3.3"' '-DPACKAGE_BUGREPORT="https://gitlab.freedesktop.org/mesa/mesa/-/issues"' -DHAVE_OPENGL=1 -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_D3D12 -DHAVE_LLVMPIPE -DHAVE_SWRAST -DMESA_SYSTEM_HAS_KMS_DRM=1 -DVIDEO_CODEC_VC1DEC=1 -DVIDEO_CODEC_H264DEC=1 -DVIDEO_CODEC_H264ENC=1 -DVIDEO_CODEC_H265DEC=1 -DVIDEO_CODEC_H265ENC=1 -DVIDEO_CODEC_AV1DEC=1 -DVIDEO_CODEC_AV1ENC=1 -DVIDEO_CODEC_VP9DEC=1 -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=1 -DUSE_D3D12_PREVIEW_HEADERS=0 -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM -DGLAPI_EXPORT_PROTO_ENTRY_POINTS=0 -DALLOW_KCMP -DMESA_DEBUG=0 -DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P -DHAVE___BUILTIN_ADD_OVERFLOW -DHAVE___BUILTIN_ADD_OVERFLOW_P -DHAVE___BUILTIN_SUB_OVERFLOW_P -DHAVE_FUNC_ATTRIBUTE_CONST -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_OPTIMIZE -DHAVE_FUNC_ATTRIBUTE_COLD -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_SSE41 -DHAVE___BUILTIN_IA32_CLFLUSHOPT -DUSE_GCC_ATOMIC_BUILTINS -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_SYS_INOTIFY_H -DHAVE_LINUX_UDMABUF_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE -DHAVE_SECURE_GETENV -DHAVE_SYSCONF -DHAVE_GNU_QSORT_R -DHAVE_STRUCT_TIMESPEC -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_ISSIGNALING -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_LIBDISPLAY_INFO -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM -DHAVE_LIBUDEV '-DMESA_LLVM_VERSION_STRING="21.1.8"' -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1 -DGALLIVM_USE_ORCJIT=0 -DHAVE_SPIRV_TOOLS -DTHREAD_SANITIZER=0 -DWL_HIDE_DEPRECATED -DHAVE_WL_DISPATCH_QUEUE_TIMEOUT -DHAVE_WL_CREATE_QUEUE_WITH_NAME -DXCB_KEYSYMS_AVAILABLE -DHAVE_X11_DRM -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC -DHAVE_DRISW_KMS -mtls-dialect=gnu2 -msse2 -mfpmath=sse -mstackrealign -Werror=return-type -Werror=empty-body -Wmisleading-indentation -Wno-error=maybe-uninitialized -Wno-non-virtual-dtor -Wno-missing-field-initializers -Wno-format-truncation -fno-math-errno -fno-trapping-math -flifetime-dse=1 -Wno-unknown-pragmas -Werror=format -Wformat-security -ffunction-sections -fdata-sections -Wno-unused-variable -Wno-unused-but-set-variable -O2 -pipe -march=tigerlake -mabm -mno-kl -mno-pku -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=24576 -fPIC -pthread -DHAVE_GALLIUM_D3D12_GRAPHICS -MD -MQ src/gallium/drivers/d3d12/libd3d12.a.p/d3d12_context_common.cpp.o -MF src/gallium/drivers/d3d12/libd3d12.a.p/d3d12_context_common.cpp.o.d -o src/gallium/drivers/d3d12/libd3d12.a.p/d3d12_context_common.cpp.o -c ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp: In function ‘int d3d12_context_set_queue_priority(d3d12_context_queue_priority_manager*, ID3D12CommandQueue*, const uint32_t*, const uint32_t*)’:
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:368:7: error: ‘ComPtr’ was not declared in this scope
368 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^~~~~~
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:368:33: error: expected primary-expression before ‘>’ token
368 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:368:35: error: ‘prio_iface’ was not declared in this scope
368 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^~~~~~~~~~
In file included from /usr/include/wsl/stubs/rpcndr.h:7,
from /usr/include/wsl/stubs/unknwnbase.h:23,
from /usr/include/wsl/stubs/unknwn.h:3,
from /usr/include/wsl/winadapter.h:6,
from ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_common.h:29,
from ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_batch.h:32,
from ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context.h:27,
from ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_cmd_signature.h:27,
from ../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:25:
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:369:45: error: no matching function for call to ‘__wsl_stub_uuidof<<expression error> >()’
369 | if(FAILED(d3d12_queue->QueryInterface(IID_PPV_ARGS(&prio_iface))))
| ^~~~~~~~~~~~
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:369:45: note: there is 1 candidate
/usr/include/wsl/stubs/rpcndr.h:30:62: note: candidate 1: ‘template<class T> constexpr const GUID& __wsl_stub_uuidof()’
30 | __extension__ template<typename T> constexpr const GUID &__wsl_stub_uuidof();
| ^~~~~~~~~~~~~~~~~
/usr/include/wsl/stubs/rpcndr.h:30:62: note: template argument deduction/substitution failed:
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:369:45: error: template argument 1 is invalid
369 | if(FAILED(d3d12_queue->QueryInterface(IID_PPV_ARGS(&prio_iface))))
| ^~~~~~~~~~~~
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp: In function ‘int d3d12_context_get_queue_priority(d3d12_context_queue_priority_manager*, ID3D12CommandQueue*, uint32_t*, uint32_t*)’:
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:404:7: error: ‘ComPtr’ was not declared in this scope
404 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^~~~~~
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:404:33: error: expected primary-expression before ‘>’ token
404 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:404:35: error: ‘prio_iface’ was not declared in this scope
404 | ComPtr<ID3D12CommandQueue1> prio_iface;
| ^~~~~~~~~~
../mesa-25.3.3/src/gallium/drivers/d3d12/d3d12_context_common.cpp:405:46: error: no matching function for call to ‘__wsl_stub_uuidof<<expression error> >()’
405 | if (FAILED(d3d12_queue->QueryInterface(IID_PPV_ARGS(&prio_iface))))

