Skip to content

Commit 2af7856

Browse files
authored
Merge pull request godotengine#117819 from bruvzg/metal_264
Fix Metal driver build with Xcode 26.4.
2 parents a3c62ca + c9c5802 commit 2af7856

4 files changed

Lines changed: 17 additions & 17 deletions

File tree

drivers/metal/metal_objects_shared.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -634,11 +634,11 @@ void MDCommandBufferBase::encode_push_constant_data(RDD::ShaderID p_shader, Vect
634634
#pragma mark - Metal Library
635635

636636
static const char *SHADER_STAGE_NAMES[] = {
637-
[RDC::SHADER_STAGE_VERTEX] = "vert",
638-
[RDC::SHADER_STAGE_FRAGMENT] = "frag",
639-
[RDC::SHADER_STAGE_TESSELATION_CONTROL] = "tess_ctrl",
640-
[RDC::SHADER_STAGE_TESSELATION_EVALUATION] = "tess_eval",
641-
[RDC::SHADER_STAGE_COMPUTE] = "comp",
637+
"vert", // RDC::SHADER_STAGE_VERTEX
638+
"frag", // RDC::SHADER_STAGE_FRAGMENT
639+
"tess_ctrl", // RDC::SHADER_STAGE_TESSELATION_CONTROL
640+
"tess_eval", // RDC::SHADER_STAGE_TESSELATION_EVALUATION
641+
"comp", // RDC::SHADER_STAGE_COMPUTE
642642
};
643643

644644
void ShaderCacheEntry::notify_free() const {

drivers/metal/pixel_formats.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ void PixelFormats::initDataFormatCapabilities() {
583583

584584
void PixelFormats::addMTLPixelFormatDescImpl(MTL::PixelFormat p_pix_fmt, MTL::PixelFormat p_pix_fmt_linear,
585585
MTLViewClass p_view_class, MTLFmtCaps p_fmt_caps, const char *p_name) {
586-
_mtl_pixel_format_descs[p_pix_fmt] = { .mtlPixelFormat = p_pix_fmt, DataFormat::DATA_FORMAT_MAX, p_fmt_caps, p_view_class, p_pix_fmt_linear, p_name };
586+
_mtl_pixel_format_descs[p_pix_fmt] = { .mtlPixelFormat = p_pix_fmt, .dataFormat = DataFormat::DATA_FORMAT_MAX, .mtlFmtCaps = p_fmt_caps, .mtlViewClass = p_view_class, .mtlPixelFormatLinear = p_pix_fmt_linear, .name = p_name };
587587
}
588588

589589
#define addMTLPixelFormatDescFull(mtlFmt, mtlFmtLinear, viewClass, appleGPUCaps) \
@@ -787,7 +787,7 @@ void PixelFormats::addMTLVertexFormatDescImpl(MTL::VertexFormat mtlVtxFmt, MTLFm
787787
if (mtlVtxFmt >= _mtl_vertex_format_descs.size()) {
788788
_mtl_vertex_format_descs.resize(mtlVtxFmt + 1);
789789
}
790-
_mtl_vertex_format_descs[mtlVtxFmt] = { .mtlVertexFormat = mtlVtxFmt, RDC::DATA_FORMAT_MAX, vtxCap, MTLViewClass::None, MTL::PixelFormatInvalid, name };
790+
_mtl_vertex_format_descs[mtlVtxFmt] = { .mtlVertexFormat = mtlVtxFmt, .dataFormat = RDC::DATA_FORMAT_MAX, .mtlFmtCaps = vtxCap, .mtlViewClass = MTLViewClass::None, .mtlPixelFormatLinear = MTL::PixelFormatInvalid, .name = name };
791791
}
792792

793793
// Check mtlVtx exists on platform, to avoid overwriting the MTL::VertexFormatInvalid entry.

drivers/metal/rendering_device_driver_metal.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,14 +1603,14 @@ RDD::RenderPassID RenderingDeviceDriverMetal::render_pass_create(VectorView<Atta
16031603
}
16041604

16051605
static const MTL::LoadAction LOAD_ACTIONS[] = {
1606-
[ATTACHMENT_LOAD_OP_LOAD] = MTL::LoadActionLoad,
1607-
[ATTACHMENT_LOAD_OP_CLEAR] = MTL::LoadActionClear,
1608-
[ATTACHMENT_LOAD_OP_DONT_CARE] = MTL::LoadActionDontCare,
1606+
MTL::LoadActionLoad, // ATTACHMENT_LOAD_OP_LOAD
1607+
MTL::LoadActionClear, // ATTACHMENT_LOAD_OP_CLEAR
1608+
MTL::LoadActionDontCare, // ATTACHMENT_LOAD_OP_DONT_CARE
16091609
};
16101610

16111611
static const MTL::StoreAction STORE_ACTIONS[] = {
1612-
[ATTACHMENT_STORE_OP_STORE] = MTL::StoreActionStore,
1613-
[ATTACHMENT_STORE_OP_DONT_CARE] = MTL::StoreActionDontCare,
1612+
MTL::StoreActionStore, // ATTACHMENT_STORE_OP_STORE
1613+
MTL::StoreActionDontCare, // ATTACHMENT_STORE_OP_DONT_CARE
16141614
};
16151615

16161616
Vector<MDAttachment> attachments;

drivers/metal/rendering_shader_container_metal.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,11 @@ Error RenderingShaderContainerMetal::compile_metal_source(const char *p_source,
217217
#pragma clang diagnostic ignored "-Wunguarded-availability"
218218

219219
static spv::ExecutionModel SHADER_STAGE_REMAP[RDD::SHADER_STAGE_MAX] = {
220-
[RDD::SHADER_STAGE_VERTEX] = spv::ExecutionModelVertex,
221-
[RDD::SHADER_STAGE_FRAGMENT] = spv::ExecutionModelFragment,
222-
[RDD::SHADER_STAGE_TESSELATION_CONTROL] = spv::ExecutionModelTessellationControl,
223-
[RDD::SHADER_STAGE_TESSELATION_EVALUATION] = spv::ExecutionModelTessellationEvaluation,
224-
[RDD::SHADER_STAGE_COMPUTE] = spv::ExecutionModelGLCompute,
220+
spv::ExecutionModelVertex, // RDD::SHADER_STAGE_VERTEX
221+
spv::ExecutionModelFragment, // RDD::SHADER_STAGE_FRAGMENT
222+
spv::ExecutionModelTessellationControl, // RDD::SHADER_STAGE_TESSELATION_CONTROL
223+
spv::ExecutionModelTessellationEvaluation, // RDD::SHADER_STAGE_TESSELATION_EVALUATION
224+
spv::ExecutionModelGLCompute, // RDD::SHADER_STAGE_COMPUTE
225225
};
226226

227227
spv::ExecutionModel get_stage(uint32_t p_stages_mask, RDD::ShaderStage p_stage) {

0 commit comments

Comments
 (0)