Set the Tint MSL emit_vertex_point_size option when necessary If [[point_size]] is not emitted, it is undefined. Set the option for Tint to explicitly set it to 1.0 when necessary. Bug: dawn:1059 Change-Id: I27c19e88cda30aef0a8f31b213c58d5bf87feabd Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/61280 Commit-Queue: Austin Eng <enga@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org> Auto-Submit: Austin Eng <enga@chromium.org> Reviewed-by: James Price <jrprice@google.com> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm index 141229d..800a3be 100644 --- a/src/dawn_native/metal/ShaderModuleMTL.mm +++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -153,6 +153,9 @@ options.buffer_size_ubo_index = kBufferLengthBufferSlot; options.fixed_sample_mask = sampleMask; options.disable_workgroup_init = GetDevice()->IsToggleEnabled(Toggle::DisableWorkgroupInit); + options.emit_vertex_point_size = + stage == SingleShaderStage::Vertex && + renderPipeline->GetPrimitiveTopology() == wgpu::PrimitiveTopology::PointList; auto result = tint::writer::msl::Generate(&program, options); if (!result.success) { errorStream << "Generator: " << result.error << std::endl;