From 25578443eaad7d270ba5bb26f7446f8d740719e6 Mon Sep 17 00:00:00 2001 From: Antony Peacock Date: Tue, 16 Apr 2024 22:40:10 +0100 Subject: [PATCH 1/2] dev-twon-moltenvk-1.2.2-patch-for-xcode-15.3 --- recipes/moltenvk/all/conandata.yml | 5 ++ ...llVector-Make-iterator-const-correct.patch | 51 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch diff --git a/recipes/moltenvk/all/conandata.yml b/recipes/moltenvk/all/conandata.yml index cc7f779fc2f3a..f974ecb47ac6d 100644 --- a/recipes/moltenvk/all/conandata.yml +++ b/recipes/moltenvk/all/conandata.yml @@ -36,6 +36,11 @@ sources: url: "https://github.com/KhronosGroup/MoltenVK/archive/v1.1.0.tar.gz" sha256: "0538fa1c23ddae495c7f82ccd0db90790a90b7017a258ca7575fbae8021f3058" patches: + "1.2.2": + - patch_file: "patches/1.2.0-0001-fix-version-number-icd-json.patch" + patch_description: "Fix build errors in Xcode 15.3 beta" + patch_type: "portability" + patch_source: "https://github.com/KhronosGroup/MoltenVK/issues/2156" "1.2.0": - patch_file: "patches/1.2.0-0001-fix-version-number-icd-json.patch" patch_description: "Fix api_version in MoltenVK_icd.json" diff --git a/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch b/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch new file mode 100644 index 0000000000000..77fa33557e448 --- /dev/null +++ b/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch @@ -0,0 +1,51 @@ +see https://github.com/KhronosGroup/MoltenVK/pull/2157 + +diff --git a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +index 93bcb7fc..9649f2b2 100755 +--- a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h ++++ b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +@@ -86,9 +86,9 @@ public: + return *this; + } + +- Type *operator->() { return &vector->alc.ptr[index]; } +- Type &operator*() { return vector->alc.ptr[index]; } +- operator Type*() { return &vector->alc.ptr[index]; } ++ Type *operator->() const { return &vector->alc.ptr[index]; } ++ Type &operator*() const { return vector->alc.ptr[index]; } ++ operator Type*() const { return &vector->alc.ptr[index]; } + + bool operator==( const iterator &it ) const { return vector == it.vector && index == it.index; } + bool operator!=( const iterator &it ) const { return vector != it.vector || index != it.index; } +@@ -98,20 +98,19 @@ public: + iterator& operator--() { --index; return *this; } + iterator operator--( int ) { auto t = *this; --index; return t; } + +- iterator operator+ (const diff_type n) { return iterator( index + n, *vector ); } +- iterator& operator+= (const diff_type n) { index += n; return *this; } +- iterator operator- (const diff_type n) { return iterator( index - n, *vector ); } +- iterator& operator-= (const diff_type n) { index -= n; return *this; } ++ iterator operator+ (const diff_type n) const { return iterator( index + n, *vector ); } ++ iterator& operator+= (const diff_type n) { index += n; return *this; } ++ iterator operator- (const diff_type n) const { return iterator( index - n, *vector ); } ++ iterator& operator-= (const diff_type n) { index -= n; return *this; } + +- diff_type operator- (const iterator& it) { return index - it.index; } ++ diff_type operator- (const iterator& it) const { return index - it.index; } + +- bool operator< (const iterator& it) { return index < it.index; } +- bool operator<= (const iterator& it) { return index <= it.index; } +- bool operator> (const iterator& it) { return index > it.index; } +- bool operator>= (const iterator& it) { return index >= it.index; } ++ bool operator< (const iterator& it) const { return index < it.index; } ++ bool operator<= (const iterator& it) const { return index <= it.index; } ++ bool operator> (const iterator& it) const { return index > it.index; } ++ bool operator>= (const iterator& it) const { return index >= it.index; } + +- const Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } +- Type &operator[]( const diff_type i ) { return vector->alc.ptr[index + i]; } ++ Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } + + bool is_valid() const { return index < vector->alc.size(); } + size_t get_position() const { return index; } +-- From c2c3aed7e755f18cd01454686576215deac9faf7 Mon Sep 17 00:00:00 2001 From: Antony Peacock Date: Sun, 21 Apr 2024 14:36:58 +0100 Subject: [PATCH 2/2] Update recipes/moltenvk/all/conandata.yml Co-authored-by: Tony Wasserka <4840017+neobrain@users.noreply.github.com> --- recipes/moltenvk/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/moltenvk/all/conandata.yml b/recipes/moltenvk/all/conandata.yml index f974ecb47ac6d..56146f132c676 100644 --- a/recipes/moltenvk/all/conandata.yml +++ b/recipes/moltenvk/all/conandata.yml @@ -37,7 +37,7 @@ sources: sha256: "0538fa1c23ddae495c7f82ccd0db90790a90b7017a258ca7575fbae8021f3058" patches: "1.2.2": - - patch_file: "patches/1.2.0-0001-fix-version-number-icd-json.patch" + - patch_file: "patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch" patch_description: "Fix build errors in Xcode 15.3 beta" patch_type: "portability" patch_source: "https://github.com/KhronosGroup/MoltenVK/issues/2156"