mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-04 22:09:59 +03:00
GL: Ensure all instanced attributes have a buffer with data
Apple OpenGL drivers sometimes crash when given an instanced draw with a buffer that has never been given data. It's not efficient to check if the attribute is both zero-sized and instanced so just ensure that every time a zero-sized buffer is bound to an attribute, it gets initialized with some data. Bug: chromium:1456243 Change-Id: I66b7c7017843153db2df3bc50010cba765d03c5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4642048 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
committed by
Angle LUCI CQ
parent
5922b83bff
commit
4e6124dae8
@@ -675,6 +675,13 @@ struct FeaturesGL : FeatureSetBase
|
||||
&members, "http://crbug.com/1420130"
|
||||
};
|
||||
|
||||
FeatureInfo ensureNonEmptyBufferIsBoundForDraw = {
|
||||
"ensureNonEmptyBufferIsBoundForDraw",
|
||||
FeatureCategory::OpenGLFeatures,
|
||||
"Apple OpenGL drivers crash when drawing with a zero-sized buffer bound using a non-zero divisor.",
|
||||
&members, "http://crbug.com/1456243"
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
inline FeaturesGL::FeaturesGL() = default;
|
||||
|
||||
@@ -731,6 +731,14 @@
|
||||
"Rewrite vec/mat constructors to work around driver bugs"
|
||||
],
|
||||
"issue": "http://crbug.com/1420130"
|
||||
},
|
||||
{
|
||||
"name": "ensure_non_empty_buffer_is_bound_for_draw",
|
||||
"category": "Features",
|
||||
"description": [
|
||||
"Apple OpenGL drivers crash when drawing with a zero-sized buffer bound using a non-zero divisor."
|
||||
],
|
||||
"issue": "http://crbug.com/1456243"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user