From 378dd69decdd7932ae3ee9a4aa09693f1891154e Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Fri, 14 Aug 2026 20:48:36 -0400 Subject: [PATCH] A funny try --- .../0001-disambiguate-lzcnt-for-size_t.patch | 15 ++++ .../0002-add-missing-standard-includes.patch | 71 +++++++++++++++++++ cpmfile.json | 4 ++ 3 files changed, 90 insertions(+) create mode 100644 .patch/dxbc/0001-disambiguate-lzcnt-for-size_t.patch create mode 100644 .patch/dxbc/0002-add-missing-standard-includes.patch diff --git a/.patch/dxbc/0001-disambiguate-lzcnt-for-size_t.patch b/.patch/dxbc/0001-disambiguate-lzcnt-for-size_t.patch new file mode 100644 index 0000000000..8e0ba57f61 --- /dev/null +++ b/.patch/dxbc/0001-disambiguate-lzcnt-for-size_t.patch @@ -0,0 +1,15 @@ +diff --git a/include/util/util_small_vector.h b/include/util/util_small_vector.h +--- a/include/util/util_small_vector.h ++++ b/include/util/util_small_vector.h +@@ -193,7 +193,10 @@ + + size_t pick_capacity(size_t n) { + // Pick next largest power of two for the new capacity +- return size_t(1u) << ((sizeof(n) * 8u) - bit::lzcnt(n - 1)); ++ if constexpr (sizeof(size_t) == sizeof(uint32_t)) ++ return size_t(1u) << ((sizeof(n) * 8u) - bit::lzcnt(uint32_t(n - 1))); ++ else ++ return size_t(1u) << ((sizeof(n) * 8u) - bit::lzcnt(uint64_t(n - 1))); + } + + T* ptr(size_t idx) { diff --git a/.patch/dxbc/0002-add-missing-standard-includes.patch b/.patch/dxbc/0002-add-missing-standard-includes.patch new file mode 100644 index 0000000000..fdcfca8ac6 --- /dev/null +++ b/.patch/dxbc/0002-add-missing-standard-includes.patch @@ -0,0 +1,71 @@ +--- a/include/dxbc/dxbc_util.h ++++ b/include/dxbc/dxbc_util.h +@@ -1,5 +1,7 @@ + #pragma once + ++#include ++ + #include "dxbc_common.h" + #include "dxbc_enums.h" + +--- a/include/util/util_bit.h ++++ b/include/util/util_bit.h +@@ -1,5 +1,8 @@ + #pragma once + ++#include ++#include ++ + #if (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_M_X64) && !defined(_M_ARM64EC)) \ + || defined(__i386__) || defined(_M_IX86) || defined(__e2k__) + #define DXVK_ARCH_X86 +--- a/include/util/util_string.h ++++ b/include/util/util_string.h +@@ -2,6 +2,7 @@ + + #include + #include ++#include + #include + #include + +--- a/src/dxbc/dxbc_defs.cpp ++++ b/src/dxbc/dxbc_defs.cpp +@@ -1,3 +1,5 @@ ++#include ++ + #include "dxbc_defs.h" + + namespace dxvk { +--- a/src/dxbc/dxbc_chunk_isgn.cpp ++++ b/src/dxbc/dxbc_chunk_isgn.cpp +@@ -1,3 +1,5 @@ ++#include ++ + #include "dxbc_chunk_isgn.h" + + namespace dxvk { +--- a/src/dxbc/dxbc_compiler.cpp ++++ b/src/dxbc/dxbc_compiler.cpp +@@ -1,3 +1,5 @@ ++#include ++ + #include "dxbc_compiler.h" + + namespace dxvk { +--- a/src/spirv/spirv_module.cpp ++++ b/src/spirv/spirv_module.cpp +@@ -1,3 +1,4 @@ ++#include + #include + + #include "spirv_module.h" +--- a/src/spirv/spirv_code_buffer.cpp ++++ b/src/spirv/spirv_code_buffer.cpp +@@ -1,5 +1,6 @@ + #include + #include ++#include + + #include "spirv_code_buffer.h" + diff --git a/cpmfile.json b/cpmfile.json index 7035cfc040..f0d3358ef6 100644 --- a/cpmfile.json +++ b/cpmfile.json @@ -68,6 +68,10 @@ "dxbc": { "bundled": true, "hash": "196d26c07747d7aa2ced6fb1a5ae6f665e9b917de223a540038690b037c70a1eeca51c21d42aa5bec9fff7df0a6656a75ee8b4e2cb4008469f18a6812280f831", + "patches": [ + "0001-disambiguate-lzcnt-for-size_t.patch", + "0002-add-missing-standard-includes.patch" + ], "repo": "PancakeTAS/dxbc", "version": "78ab59a8aaeb43cd1b0a5e91ba86722433a10b78" },