Merge pull request #1795 from billhollings/fix-buff-binding-justoffset-when-overridden
Fix crash when buffer binding updates only offset while it is overridden.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 985dba7..9968bd4 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -22,6 +22,7 @@
- `VK_KHR_copy_commands2`
- Fix crash on descriptor update with out-of-bounds descriptor count data.
- Fix Metal buffer index binding overrides for push constants and attachment clearing.
+- Fix crash when buffer binding updates only offset while it is overridden.
- Fix app performance regression triggered by the previous introduction of `VK_KHR_shader_float_controls`.
- Work around `MTLCounterSet` crash on additional Intel Iris Plus Graphics devices.
- Fix mistaken YCBCR format support indication.
diff --git a/MoltenVK/MoltenVK/Commands/MVKMTLResourceBindings.h b/MoltenVK/MoltenVK/Commands/MVKMTLResourceBindings.h
index 1af1b18..4437867 100644
--- a/MoltenVK/MoltenVK/Commands/MVKMTLResourceBindings.h
+++ b/MoltenVK/MoltenVK/Commands/MVKMTLResourceBindings.h
@@ -86,7 +86,7 @@
isDirty = true;
} else if (offset != other.offset) {
offset = other.offset;
- justOffset = !isDirty || justOffset;
+ justOffset = !isOverridden && (!isDirty || justOffset);
isOverridden = false;
isDirty = true;
}