Skip to content

Commit b612a90

Browse files
authored
Fix external texture for metal (#1273)
Also add external texture plugin to Playground app so that it is at least built
1 parent 899a060 commit b612a90

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

Apps/Playground/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ target_link_libraries(Playground
116116
PRIVATE AppRuntime
117117
PRIVATE Canvas
118118
PRIVATE Console
119+
PRIVATE ExternalTexture
119120
PRIVATE GraphicsDevice
120121
PRIVATE NativeCapture
121122
PRIVATE NativeEngine

Plugins/ExternalTexture/Source/ExternalTexture_Base.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ namespace Babylon::Plugins
4444
return mipLevel == static_cast<uint16_t>(std::floor(std::log2(std::max(static_cast<float>(width), static_cast<float>(height))) + 1));
4545
}
4646

47-
static auto RenderTargetSamplesToBgfxMsaaFlag(uint32_t renderTargetSamples)
47+
static auto RenderTargetSamplesToBgfxMsaaFlag(uint64_t renderTargetSamples)
4848
{
4949
switch (renderTargetSamples)
5050
{

Plugins/ExternalTexture/Source/ExternalTexture_Metal.mm

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,37 @@
3939
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ATC
4040
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ATCE
4141
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ATCI
42-
#if BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST
42+
#if BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST
4343
{ MTLPixelFormatASTC_4x4_LDR, MTLPixelFormatASTC_4x4_sRGB }, // ASTC4x4
44+
{ MTLPixelFormatASTC_5x4_LDR, MTLPixelFormatASTC_5x4_sRGB }, // ASTC5x4
4445
{ MTLPixelFormatASTC_5x5_LDR, MTLPixelFormatASTC_5x5_sRGB }, // ASTC5x5
46+
{ MTLPixelFormatASTC_6x5_LDR, MTLPixelFormatASTC_6x5_sRGB }, // ASTC6x5
4547
{ MTLPixelFormatASTC_6x6_LDR, MTLPixelFormatASTC_6x6_sRGB }, // ASTC6x6
4648
{ MTLPixelFormatASTC_8x5_LDR, MTLPixelFormatASTC_8x5_sRGB }, // ASTC8x5
4749
{ MTLPixelFormatASTC_8x6_LDR, MTLPixelFormatASTC_8x6_sRGB }, // ASTC8x6
50+
{ MTLPixelFormatASTC_8x8_LDR, MTLPixelFormatASTC_8x8_sRGB }, // ASTC8x8
4851
{ MTLPixelFormatASTC_10x5_LDR, MTLPixelFormatASTC_10x5_sRGB }, // ASTC10x5
49-
#else
52+
{ MTLPixelFormatASTC_10x6_LDR, MTLPixelFormatASTC_10x6_sRGB }, // ASTC10x6
53+
{ MTLPixelFormatASTC_10x8_LDR, MTLPixelFormatASTC_10x8_sRGB }, // ASTC10x8
54+
{ MTLPixelFormatASTC_10x10_LDR, MTLPixelFormatASTC_10x10_sRGB }, // ASTC10x10
55+
{ MTLPixelFormatASTC_12x10_LDR, MTLPixelFormatASTC_12x10_sRGB }, // ASTC12x10
56+
{ MTLPixelFormatASTC_12x12_LDR, MTLPixelFormatASTC_12x12_sRGB }, // ASTC12x12
57+
#else
5058
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC4x4
59+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC5x4
5160
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC5x5
61+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC6x5
5262
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC6x6
5363
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC8x5
5464
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC8x6
65+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC8x8
5566
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC10x5
56-
#endif // BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST
67+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC10x6
68+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC10x8
69+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC10x10
70+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC12x10
71+
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // ASTC12x12
72+
#endif // BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST
5773
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // Unknown
5874
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // R1
5975
{ MTLPixelFormatA8Unorm, MTLPixelFormatInvalid }, // A8
@@ -99,9 +115,12 @@
99115
{ MTLPixelFormatRGBA32Sint, MTLPixelFormatInvalid }, // RGBA32I
100116
{ MTLPixelFormatRGBA32Uint, MTLPixelFormatInvalid }, // RGBA32U
101117
{ MTLPixelFormatRGBA32Float, MTLPixelFormatInvalid }, // RGBA32F
102-
{ MTLPixelFormat(40/*B5G6R5Unorm*/), MTLPixelFormatInvalid }, // R5G6B5
103-
{ MTLPixelFormat(42/*ABGR4Unorm*/), MTLPixelFormatInvalid }, // RGBA4
104-
{ MTLPixelFormat(41/*A1BGR5Unorm*/), MTLPixelFormatInvalid }, // RGB5A1
118+
{ MTLPixelFormatB5G6R5Unorm, MTLPixelFormatInvalid }, // B5G6R5
119+
{ MTLPixelFormatB5G6R5Unorm, MTLPixelFormatInvalid }, // R5G6B5
120+
{ MTLPixelFormatABGR4Unorm, MTLPixelFormatInvalid }, // BGRA4
121+
{ MTLPixelFormatABGR4Unorm, MTLPixelFormatInvalid }, // RGBA4
122+
{ MTLPixelFormatBGR5A1Unorm, MTLPixelFormatInvalid }, // BGR5A1
123+
{ MTLPixelFormatBGR5A1Unorm, MTLPixelFormatInvalid }, // RGB5A1
105124
{ MTLPixelFormatRGB10A2Unorm, MTLPixelFormatInvalid }, // RGB10A2
106125
{ MTLPixelFormatRG11B10Float, MTLPixelFormatInvalid }, // RG11B10F
107126
{ MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // UnknownDepth

0 commit comments

Comments
 (0)