Skip to content

Commit 8143d5a

Browse files
authored
compositor/Stream: Remove buffers_ready_for_compositor (#3322)
* compositor/Stream: Remove `buffers_ready_for_compositor` The only internal user of this has been removed. QtMir is an *external* user of this, but: * Doesn't actually *need* this behaviour, and * Needs significant work in this area anyway to update for 2.16's Platform changes * Remove last vestiges of `buffers_ready_for_compositor`
1 parent 6c169ab commit 8143d5a

File tree

18 files changed

+1
-82
lines changed

18 files changed

+1
-82
lines changed

debian/libmiroil5.symbols

-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ libmiroil.so.5 libmiroil5 #MINVER#
8282
(c++)"miroil::SetCompositor::operator()(mir::Server&)@MIROIL_5.0" 2.17.0
8383
(c++)"miroil::Surface::Surface(std::shared_ptr<mir::scene::Surface>)@MIROIL_5.0" 2.17.0
8484
(c++)"miroil::Surface::add_observer(std::shared_ptr<miroil::SurfaceObserver> const&)@MIROIL_5.0" 2.17.0
85-
(c++)"miroil::Surface::buffers_ready_for_compositor(void const*) const@MIROIL_5.0" 2.17.0
8685
(c++)"miroil::Surface::configure(MirWindowAttrib, int)@MIROIL_5.0" 2.17.0
8786
(c++)"miroil::Surface::generate_renderables(void const*) const@MIROIL_5.0" 2.17.0
8887
(c++)"miroil::Surface::get_wrapped() const@MIROIL_5.0" 2.17.0

debian/libmiroil5.symbols.armhf

-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ libmiroil.so.5 libmiroil5 #MINVER#
8282
(c++)"miroil::SetCompositor::operator()(mir::Server&)@MIROIL_5.0" 2.17.0
8383
(c++)"miroil::Surface::Surface(std::shared_ptr<mir::scene::Surface>)@MIROIL_5.0" 2.17.0
8484
(c++)"miroil::Surface::add_observer(std::shared_ptr<miroil::SurfaceObserver> const&)@MIROIL_5.0" 2.17.0
85-
(c++)"miroil::Surface::buffers_ready_for_compositor(void const*) const@MIROIL_5.0" 2.17.0
8685
(c++)"miroil::Surface::configure(MirWindowAttrib, int)@MIROIL_5.0" 2.17.0
8786
(c++)"miroil::Surface::generate_renderables(void const*) const@MIROIL_5.0" 2.17.0
8887
(c++)"miroil::Surface::get_wrapped() const@MIROIL_5.0" 2.17.0

include/miroil/miroil/surface.h

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ class Surface
4444
void add_observer(std::shared_ptr<miroil::SurfaceObserver> const& observer);
4545
void remove_observer(std::shared_ptr<miroil::SurfaceObserver> const& observer);
4646

47-
int buffers_ready_for_compositor(void const* compositor_id) const;
4847
mir::graphics::RenderableList generate_renderables(miroil::CompositorID id) const;
4948

5049

src/include/server/mir/compositor/buffer_stream.h

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ class BufferStream : public frontend::BufferStream
4242
virtual auto lock_compositor_buffer(void const* user_id) -> std::shared_ptr<graphics::Buffer> = 0;
4343
/// Logical size of the stream (may be different than buffer sizes if scaled)
4444
virtual auto stream_size() -> geometry::Size = 0;
45-
virtual auto buffers_ready_for_compositor(void const* user_id) const -> int = 0;
4645
virtual auto has_submitted_buffer() const -> bool = 0;
4746
};
4847

src/include/server/mir/scene/surface.h

-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ class Surface :
6464
virtual geometry::Size window_size() const = 0;
6565

6666
virtual graphics::RenderableList generate_renderables(compositor::CompositorID id) const = 0;
67-
virtual int buffers_ready_for_compositor(void const* compositor_id) const = 0;
6867

6968
virtual MirWindowType type() const = 0;
7069
virtual MirWindowState state() const = 0;

src/miroil/surface.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -207,11 +207,6 @@ auto miroil::Surface::get_wrapped() const -> mir::scene::Surface*
207207
return wrapped.get();
208208
}
209209

210-
int miroil::Surface::buffers_ready_for_compositor(void const* compositor_id) const
211-
{
212-
return wrapped->buffers_ready_for_compositor(compositor_id);
213-
}
214-
215210
mir::graphics::RenderableList miroil::Surface::generate_renderables(miroil::CompositorID id) const
216211
{
217212
return wrapped->generate_renderables(id);

src/miroil/symbols.map

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ global:
7979
miroil::Surface::?Surface*;
8080
miroil::Surface::Surface*;
8181
miroil::Surface::add_observer*;
82-
miroil::Surface::buffers_ready_for_compositor*;
8382
miroil::Surface::configure*;
8483
miroil::Surface::generate_renderables*;
8584
miroil::Surface::get_wrapped*;

src/server/compositor/stream.cpp

-7
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,6 @@ geom::Size mc::Stream::stream_size()
8383
roundf(state->latest_buffer_size.height.as_int() / state->scale_)};
8484
}
8585

86-
int mc::Stream::buffers_ready_for_compositor(void const* id) const
87-
{
88-
if (arbiter->buffer_ready_for(id))
89-
return 1;
90-
return 0;
91-
}
92-
9386
bool mc::Stream::has_submitted_buffer() const
9487
{
9588
// Don't need to lock mutex because first_frame_posted is atomic

src/server/compositor/stream.h

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ class Stream : public BufferStream
4444
std::shared_ptr<graphics::Buffer>
4545
lock_compositor_buffer(void const* user_id) override;
4646
geometry::Size stream_size() override;
47-
int buffers_ready_for_compositor(void const* user_id) const override;
4847
bool has_submitted_buffer() const override;
4948
void set_scale(float scale) override;
5049

src/server/frontend_xwayland/scaled_buffer_stream.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,6 @@ auto mf::ScaledBufferStream::stream_size() -> geometry::Size
5757
return inner->stream_size() * inv_scale;
5858
}
5959

60-
auto mf::ScaledBufferStream::buffers_ready_for_compositor(void const* user_id) const -> int
61-
{
62-
return inner->buffers_ready_for_compositor(user_id);
63-
}
64-
6560
auto mf::ScaledBufferStream::has_submitted_buffer() const -> bool
6661
{
6762
return inner->has_submitted_buffer();

src/server/frontend_xwayland/scaled_buffer_stream.h

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ class ScaledBufferStream : public compositor::BufferStream
4545
/// @{
4646
auto lock_compositor_buffer(void const* user_id) -> std::shared_ptr<graphics::Buffer>;
4747
auto stream_size() -> geometry::Size;
48-
auto buffers_ready_for_compositor(void const* user_id) const -> int;
4948
auto has_submitted_buffer() const -> bool;
5049
/// @}
5150

src/server/scene/basic_surface.cpp

+1-10
Original file line numberDiff line numberDiff line change
@@ -748,15 +748,6 @@ class SurfaceSnapshot : public mg::Renderable
748748
};
749749
}
750750

751-
int ms::BasicSurface::buffers_ready_for_compositor(void const* id) const
752-
{
753-
auto state = synchronised_state.lock();
754-
auto max_buf = 0;
755-
for (auto const& info : state->layers)
756-
max_buf = std::max(max_buf, info.stream->buffers_ready_for_compositor(id));
757-
return max_buf;
758-
}
759-
760751
void ms::BasicSurface::consume(std::shared_ptr<MirEvent const> const& event)
761752
{
762753
observers->input_consumed(this, event);
@@ -1048,4 +1039,4 @@ void mir::scene::BasicSurface::linearised_track_outputs()
10481039
{
10491040
track_outputs();
10501041
}
1051-
}
1042+
}

src/server/scene/basic_surface.h

-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ class BasicSurface : public Surface
118118
bool visible() const override;
119119

120120
graphics::RenderableList generate_renderables(compositor::CompositorID id) const override;
121-
int buffers_ready_for_compositor(void const* compositor_id) const override;
122121

123122
MirWindowType type() const override;
124123
MirWindowState state() const override;

tests/include/mir/test/doubles/mock_buffer_stream.h

-3
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ struct MockBufferStream : public compositor::BufferStream
4040

4141
MockBufferStream()
4242
{
43-
ON_CALL(*this, buffers_ready_for_compositor(::testing::_))
44-
.WillByDefault(testing::Invoke(this, &MockBufferStream::buffers_ready));
4543
ON_CALL(*this, has_submitted_buffer())
4644
.WillByDefault(testing::Return(true));
4745
ON_CALL(*this, pixel_format())
@@ -57,7 +55,6 @@ struct MockBufferStream : public compositor::BufferStream
5755
MOCK_METHOD(void, set_frame_posted_callback, (std::function<void(geometry::Size const&)> const&), (override));
5856

5957
MOCK_METHOD(geometry::Size, stream_size, (), (override));
60-
MOCK_METHOD(int, buffers_ready_for_compositor, (void const*), (const override));
6158

6259
MOCK_METHOD(void, submit_buffer, (std::shared_ptr<graphics::Buffer> const&), (override));
6360
MOCK_METHOD(MirPixelFormat, pixel_format, (), (const override));

tests/include/mir/test/doubles/stub_buffer_stream.h

-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ class StubBufferStream : public compositor::BufferStream
4747
return geometry::Size();
4848
}
4949

50-
int buffers_ready_for_compositor(void const*) const override { return nready; }
51-
5250
void submit_buffer(std::shared_ptr<graphics::Buffer> const& b) override
5351
{
5452
if (b) ++nready;

tests/include/mir/test/doubles/stub_surface.h

-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ struct StubSurface : scene::Surface
4949
void set_transformation(glm::mat4 const&) override {}
5050
bool visible() const override { return false; }
5151
graphics::RenderableList generate_renderables(compositor::CompositorID) const override { return {}; }
52-
int buffers_ready_for_compositor(void const*) const override { return 0; }
5352
MirWindowType type() const override { return mir_window_type_normal; }
5453
auto state_tracker() const -> scene::SurfaceStateTracker override
5554
{

tests/unit-tests/compositor/test_stream.cpp

-11
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,6 @@ struct Stream : Test
5050
};
5151
}
5252

53-
TEST_F(Stream, indicates_buffers_ready_when_dropping)
54-
{
55-
for(auto& buffer : buffers)
56-
stream.submit_buffer(buffer);
57-
58-
EXPECT_THAT(stream.buffers_ready_for_compositor(this), Eq(1));
59-
stream.lock_compositor_buffer(this);
60-
EXPECT_THAT(stream.buffers_ready_for_compositor(this), Eq(0));
61-
}
62-
6353
TEST_F(Stream, tracks_has_buffer)
6454
{
6555
EXPECT_FALSE(stream.has_submitted_buffer());
@@ -82,7 +72,6 @@ TEST_F(Stream, frame_callback_is_called_without_scheduling_lock)
8272
stream.set_frame_posted_callback(
8373
[this](auto)
8474
{
85-
EXPECT_THAT(stream.buffers_ready_for_compositor(this), Eq(1));
8675
EXPECT_TRUE(stream.has_submitted_buffer());
8776
});
8877
stream.submit_buffer(buffers[0]);

tests/unit-tests/scene/test_basic_surface.cpp

-29
Original file line numberDiff line numberDiff line change
@@ -1511,35 +1511,6 @@ TEST_F(BasicSurfaceTest, visibility_matches_produced_list)
15111511
EXPECT_THAT(renderables.size(), Eq(2));
15121512
}
15131513

1514-
TEST_F(BasicSurfaceTest, buffers_ready_correctly_reported)
1515-
{
1516-
using namespace testing;
1517-
auto buffer_stream0 = std::make_shared<NiceMock<mtd::MockBufferStream>>();
1518-
auto buffer_stream1 = std::make_shared<NiceMock<mtd::MockBufferStream>>();
1519-
EXPECT_CALL(*mock_buffer_stream, buffers_ready_for_compositor(_))
1520-
.WillOnce(Return(0))
1521-
.WillOnce(Return(0))
1522-
.WillOnce(Return(2));
1523-
EXPECT_CALL(*buffer_stream0, buffers_ready_for_compositor(_))
1524-
.WillOnce(Return(1))
1525-
.WillOnce(Return(0))
1526-
.WillOnce(Return(1));
1527-
EXPECT_CALL(*buffer_stream1, buffers_ready_for_compositor(_))
1528-
.WillOnce(Return(3))
1529-
.WillOnce(Return(0))
1530-
.WillOnce(Return(1));
1531-
1532-
std::list<ms::StreamInfo> streams = {
1533-
{ mock_buffer_stream, {0,0}, {} },
1534-
{ buffer_stream0, {0,0}, {} },
1535-
{ buffer_stream1, {0,0}, {} },
1536-
};
1537-
surface.set_streams(streams);
1538-
EXPECT_THAT(surface.buffers_ready_for_compositor(this), Eq(3));
1539-
EXPECT_THAT(surface.buffers_ready_for_compositor(this), Eq(0));
1540-
EXPECT_THAT(surface.buffers_ready_for_compositor(this), Eq(2));
1541-
}
1542-
15431514
TEST_F(BasicSurfaceTest, buffer_streams_produce_correctly_sized_renderables)
15441515
{
15451516
using namespace testing;

0 commit comments

Comments
 (0)