Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit d93f51c

Browse files
authored
Revert "Reland: [Impeller] Use a device buffer for SkBitmap allocation, use Linear texture on Metal backend. (#41538)"
This reverts commit 79237ad.
1 parent 1d25906 commit d93f51c

16 files changed

+85
-287
lines changed

impeller/renderer/backend/metal/context_mtl.mm

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,6 @@ static bool DeviceSupportsComputeSubgroups(id<MTLDevice> device) {
4545
return supports_subgroups;
4646
}
4747

48-
static constexpr bool SupportsLinearTexture() {
49-
#ifdef FML_OS_IOS_SIMULATOR
50-
return false;
51-
#else
52-
return true;
53-
#endif // FML_OS_IOS_SIMULATOR
54-
}
55-
5648
static std::unique_ptr<Capabilities> InferMetalCapabilities(
5749
id<MTLDevice> device,
5850
PixelFormat color_format) {
@@ -63,7 +55,6 @@ static constexpr bool SupportsLinearTexture() {
6355
.SetSupportsBufferToTextureBlits(true)
6456
.SetSupportsTextureToTextureBlits(true)
6557
.SetSupportsDecalTileMode(true)
66-
.SetSupportsSharedDeviceBufferTextureMemory(SupportsLinearTexture())
6758
.SetSupportsFramebufferFetch(DeviceSupportsFramebufferFetch(device))
6859
.SetDefaultColorFormat(color_format)
6960
.SetDefaultStencilFormat(PixelFormat::kS8UInt)

impeller/renderer/backend/metal/device_buffer_mtl.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,10 @@ class DeviceBufferMTL final : public DeviceBuffer,
3535
// |DeviceBuffer|
3636
uint8_t* OnGetContents() const override;
3737

38-
#ifndef FML_OS_IOS_SIMULATOR
3938
// |DeviceBuffer|
4039
std::shared_ptr<Texture> AsTexture(Allocator& allocator,
4140
const TextureDescriptor& descriptor,
4241
uint16_t row_bytes) const override;
43-
#endif // FML_OS_IOS_SIMULATOR
4442

4543
// |DeviceBuffer|
4644
bool OnCopyHostBuffer(const uint8_t* source,

impeller/renderer/backend/metal/device_buffer_mtl.mm

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
return reinterpret_cast<uint8_t*>(buffer_.contents);
3030
}
3131

32-
#ifndef FML_OS_IOS_SIMULATOR
3332
std::shared_ptr<Texture> DeviceBufferMTL::AsTexture(
3433
Allocator& allocator,
3534
const TextureDescriptor& descriptor,
@@ -53,7 +52,6 @@
5352
}
5453
return std::make_shared<TextureMTL>(descriptor, texture);
5554
}
56-
#endif // FML_OS_IOS_SIMULATOR
5755

5856
[[nodiscard]] bool DeviceBufferMTL::OnCopyHostBuffer(const uint8_t* source,
5957
Range source_range,

impeller/renderer/backend/vulkan/capabilities_vk.cc

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -348,16 +348,10 @@ bool CapabilitiesVK::SupportsReadFromOnscreenTexture() const {
348348
return false;
349349
}
350350

351-
// |Capabilities|
352351
bool CapabilitiesVK::SupportsDecalTileMode() const {
353352
return true;
354353
}
355354

356-
// |Capabilities|
357-
bool CapabilitiesVK::SupportsSharedDeviceBufferTextureMemory() const {
358-
return false;
359-
}
360-
361355
// |Capabilities|
362356
PixelFormat CapabilitiesVK::GetDefaultColorFormat() const {
363357
return color_format_;

impeller/renderer/backend/vulkan/capabilities_vk.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,6 @@ class CapabilitiesVK final : public Capabilities,
7979
// |Capabilities|
8080
bool SupportsDecalTileMode() const override;
8181

82-
// |Capabilities|
83-
bool SupportsSharedDeviceBufferTextureMemory() const override;
84-
8582
// |Capabilities|
8683
PixelFormat GetDefaultColorFormat() const override;
8784

impeller/renderer/capabilities.cc

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,6 @@ class StandardCapabilities final : public Capabilities {
6666
return supports_decal_tile_mode_;
6767
}
6868

69-
// |Capabilities|
70-
bool SupportsSharedDeviceBufferTextureMemory() const override {
71-
return supports_shared_device_buffer_texture_memory_;
72-
}
73-
7469
// |Capabilities|
7570
PixelFormat GetDefaultColorFormat() const override {
7671
return default_color_format_;
@@ -93,7 +88,6 @@ class StandardCapabilities final : public Capabilities {
9388
bool supports_read_from_onscreen_texture,
9489
bool supports_read_from_resolve,
9590
bool supports_decal_tile_mode,
96-
bool supports_shared_device_buffer_texture_memory,
9791
PixelFormat default_color_format,
9892
PixelFormat default_stencil_format)
9993
: has_threading_restrictions_(has_threading_restrictions),
@@ -108,8 +102,6 @@ class StandardCapabilities final : public Capabilities {
108102
supports_read_from_onscreen_texture),
109103
supports_read_from_resolve_(supports_read_from_resolve),
110104
supports_decal_tile_mode_(supports_decal_tile_mode),
111-
supports_shared_device_buffer_texture_memory_(
112-
supports_shared_device_buffer_texture_memory),
113105
default_color_format_(default_color_format),
114106
default_stencil_format_(default_stencil_format) {}
115107

@@ -126,7 +118,6 @@ class StandardCapabilities final : public Capabilities {
126118
bool supports_read_from_onscreen_texture_ = false;
127119
bool supports_read_from_resolve_ = false;
128120
bool supports_decal_tile_mode_ = false;
129-
bool supports_shared_device_buffer_texture_memory_ = false;
130121
PixelFormat default_color_format_ = PixelFormat::kUnknown;
131122
PixelFormat default_stencil_format_ = PixelFormat::kUnknown;
132123

@@ -211,12 +202,6 @@ CapabilitiesBuilder& CapabilitiesBuilder::SetSupportsDecalTileMode(bool value) {
211202
return *this;
212203
}
213204

214-
CapabilitiesBuilder&
215-
CapabilitiesBuilder::SetSupportsSharedDeviceBufferTextureMemory(bool value) {
216-
supports_shared_device_buffer_texture_memory_ = value;
217-
return *this;
218-
}
219-
220205
std::unique_ptr<Capabilities> CapabilitiesBuilder::Build() {
221206
return std::unique_ptr<StandardCapabilities>(new StandardCapabilities( //
222207
has_threading_restrictions_, //
@@ -230,7 +215,6 @@ std::unique_ptr<Capabilities> CapabilitiesBuilder::Build() {
230215
supports_read_from_onscreen_texture_, //
231216
supports_read_from_resolve_, //
232217
supports_decal_tile_mode_, //
233-
supports_shared_device_buffer_texture_memory_, //
234218
*default_color_format_, //
235219
*default_stencil_format_ //
236220
));

impeller/renderer/capabilities.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ class Capabilities {
3737

3838
virtual bool SupportsDecalTileMode() const = 0;
3939

40-
virtual bool SupportsSharedDeviceBufferTextureMemory() const = 0;
41-
4240
virtual PixelFormat GetDefaultColorFormat() const = 0;
4341

4442
virtual PixelFormat GetDefaultStencilFormat() const = 0;
@@ -81,8 +79,6 @@ class CapabilitiesBuilder {
8179

8280
CapabilitiesBuilder& SetSupportsDecalTileMode(bool value);
8381

84-
CapabilitiesBuilder& SetSupportsSharedDeviceBufferTextureMemory(bool value);
85-
8682
std::unique_ptr<Capabilities> Build();
8783

8884
private:
@@ -97,7 +93,6 @@ class CapabilitiesBuilder {
9793
bool supports_read_from_onscreen_texture_ = false;
9894
bool supports_read_from_resolve_ = false;
9995
bool supports_decal_tile_mode_ = false;
100-
bool supports_shared_device_buffer_texture_memory_ = false;
10196
std::optional<PixelFormat> default_color_format_ = std::nullopt;
10297
std::optional<PixelFormat> default_stencil_format_ = std::nullopt;
10398

impeller/renderer/capabilities_unittests.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ CAPABILITY_TEST(SupportsComputeSubgroups, false);
2929
CAPABILITY_TEST(SupportsReadFromOnscreenTexture, false);
3030
CAPABILITY_TEST(SupportsReadFromResolve, false);
3131
CAPABILITY_TEST(SupportsDecalTileMode, false);
32-
CAPABILITY_TEST(SupportsSharedDeviceBufferTextureMemory, false);
3332

3433
} // namespace testing
3534
} // namespace impeller

0 commit comments

Comments
 (0)