Reenabled labelling test with a capabilities check. (flutter/engine#57160)
fixes https://github.com/flutter/flutter/issues/160180 I'm unable to reproduce the problem locally but this is the most likely cause. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
This commit is contained in:
parent
84931c12d7
commit
ad317842d3
@ -357,13 +357,20 @@ static bool ResourceIsLive(const ProcTableGLES& gl,
|
|||||||
FML_UNREACHABLE();
|
FML_UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ProcTableGLES::SupportsDebugLabels() const {
|
||||||
|
if (debug_label_max_length_ <= 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!ObjectLabelKHR.IsAvailable()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool ProcTableGLES::SetDebugLabel(DebugResourceType type,
|
bool ProcTableGLES::SetDebugLabel(DebugResourceType type,
|
||||||
GLint name,
|
GLint name,
|
||||||
std::string_view label) const {
|
std::string_view label) const {
|
||||||
if (debug_label_max_length_ <= 0) {
|
if (!SupportsDebugLabels()) {
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (!ObjectLabelKHR.IsAvailable()) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!ResourceIsLive(*this, type, name)) {
|
if (!ResourceIsLive(*this, type, name)) {
|
||||||
|
@ -314,6 +314,8 @@ class ProcTableGLES {
|
|||||||
|
|
||||||
bool IsCurrentFramebufferComplete() const;
|
bool IsCurrentFramebufferComplete() const;
|
||||||
|
|
||||||
|
bool SupportsDebugLabels() const;
|
||||||
|
|
||||||
bool SetDebugLabel(DebugResourceType type,
|
bool SetDebugLabel(DebugResourceType type,
|
||||||
GLint name,
|
GLint name,
|
||||||
std::string_view label) const;
|
std::string_view label) const;
|
||||||
|
@ -95,7 +95,7 @@ TEST(ReactorGLES, UntrackedHandle) {
|
|||||||
EXPECT_TRUE(reactor->React());
|
EXPECT_TRUE(reactor->React());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ReactorGLES, DISABLED_NameUntrackedHandle) {
|
TEST(ReactorGLES, NameUntrackedHandle) {
|
||||||
auto mock_gles_impl = std::make_unique<MockGLESImpl>();
|
auto mock_gles_impl = std::make_unique<MockGLESImpl>();
|
||||||
|
|
||||||
EXPECT_CALL(*mock_gles_impl, GenTextures(1, _))
|
EXPECT_CALL(*mock_gles_impl, GenTextures(1, _))
|
||||||
@ -108,6 +108,11 @@ TEST(ReactorGLES, DISABLED_NameUntrackedHandle) {
|
|||||||
MockGLES::Init(std::move(mock_gles_impl));
|
MockGLES::Init(std::move(mock_gles_impl));
|
||||||
ProcTableGLES::Resolver resolver = kMockResolverGLES;
|
ProcTableGLES::Resolver resolver = kMockResolverGLES;
|
||||||
auto proc_table = std::make_unique<ProcTableGLES>(resolver);
|
auto proc_table = std::make_unique<ProcTableGLES>(resolver);
|
||||||
|
|
||||||
|
if (!proc_table->SupportsDebugLabels()) {
|
||||||
|
GTEST_SKIP() << "This device doesn't support labelling.";
|
||||||
|
}
|
||||||
|
|
||||||
auto worker = std::make_shared<TestWorker>();
|
auto worker = std::make_shared<TestWorker>();
|
||||||
auto reactor = std::make_shared<ReactorGLES>(std::move(proc_table));
|
auto reactor = std::make_shared<ReactorGLES>(std::move(proc_table));
|
||||||
reactor->AddWorker(worker);
|
reactor->AddWorker(worker);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user