Diff
Modified: trunk/Source/WebGPU/ChangeLog (290265 => 290266)
--- trunk/Source/WebGPU/ChangeLog 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/ChangeLog 2022-02-21 21:32:31 UTC (rev 290266)
@@ -1,5 +1,73 @@
2022-02-21 Myles C. Maxfield <[email protected]>
+ [WebGPU] Tracer bullet part 10: Implement setLabel() and Metal accessors
+ https://bugs.webkit.org/show_bug.cgi?id=236910
+
+ Reviewed by Dean Jackson.
+
+ By adding a few various trivial functions in classes that need them, this patch completely finishes the
+ implementation of CommandBuffer, QuerySet, RenderBundle, Sampler, and TextureView classes (other than
+ their creation functions).
+
+ * WebGPU/Buffer.mm:
+ (WebGPU::Buffer::setLabel):
+ * WebGPU/CommandBuffer.h:
+ (WebGPU::CommandBuffer::commandBuffer const):
+ * WebGPU/CommandBuffer.mm:
+ (WebGPU::CommandBuffer::CommandBuffer):
+ (WebGPU::CommandBuffer::setLabel):
+ * WebGPU/CommandEncoder.mm:
+ (WebGPU::CommandEncoder::CommandEncoder):
+ (WebGPU::CommandEncoder::setLabel):
+ * WebGPU/ComputePassEncoder.mm:
+ (WebGPU::ComputePassEncoder::ComputePassEncoder):
+ (WebGPU::ComputePassEncoder::setLabel):
+ * WebGPU/ComputePipeline.h:
+ (WebGPU::ComputePipeline::computePipelineState const):
+ * WebGPU/ComputePipeline.mm:
+ (WebGPU::ComputePipeline::ComputePipeline):
+ (WebGPU::ComputePipeline::setLabel):
+ * WebGPU/QuerySet.h:
+ (WebGPU::QuerySet::counterSampleBuffer const):
+ * WebGPU/QuerySet.mm:
+ (WebGPU::QuerySet::QuerySet):
+ (WebGPU::QuerySet::setLabel):
+ * WebGPU/Queue.mm:
+ (WebGPU::Queue::Queue):
+ (WebGPU::Queue::setLabel):
+ * WebGPU/RenderBundle.h:
+ (WebGPU::RenderBundle::indirectCommandBuffer const):
+ * WebGPU/RenderBundle.mm:
+ (WebGPU::RenderBundle::RenderBundle):
+ (WebGPU::RenderBundle::setLabel):
+ * WebGPU/RenderBundleEncoder.mm:
+ (WebGPU::RenderBundleEncoder::RenderBundleEncoder):
+ (WebGPU::RenderBundleEncoder::setLabel):
+ * WebGPU/RenderPassEncoder.mm:
+ (WebGPU::RenderPassEncoder::RenderPassEncoder):
+ (WebGPU::RenderPassEncoder::setLabel):
+ * WebGPU/RenderPipeline.h:
+ (WebGPU::RenderPipeline::renderPipelineState const):
+ * WebGPU/RenderPipeline.mm:
+ (WebGPU::RenderPipeline::RenderPipeline):
+ (WebGPU::RenderPipeline::setLabel):
+ * WebGPU/Sampler.mm:
+ (WebGPU::Sampler::setLabel):
+ * WebGPU/ShaderModule.h:
+ (WebGPU::ShaderModule::library const):
+ * WebGPU/ShaderModule.mm:
+ (WebGPU::ShaderModule::ShaderModule):
+ (WebGPU::ShaderModule::setLabel):
+ * WebGPU/Texture.h:
+ (WebGPU::Texture::texture const):
+ * WebGPU/Texture.mm:
+ (WebGPU::Texture::Texture):
+ (WebGPU::Texture::setLabel):
+ * WebGPU/TextureView.mm:
+ (WebGPU::TextureView::setLabel):
+
+2022-02-21 Myles C. Maxfield <[email protected]>
+
[WebGPU] Tracer bullet part 9: Basic implementation of bindings
https://bugs.webkit.org/show_bug.cgi?id=236903
Modified: trunk/Source/WebGPU/WebGPU/Buffer.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/Buffer.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/Buffer.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -75,7 +75,7 @@
void Buffer::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_buffer.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/CommandBuffer.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/CommandBuffer.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/CommandBuffer.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -43,6 +43,8 @@
void setLabel(const char*);
+ id <MTLCommandBuffer> commandBuffer() const { return m_commandBuffer; }
+
private:
CommandBuffer(id <MTLCommandBuffer>);
Modified: trunk/Source/WebGPU/WebGPU/CommandBuffer.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/CommandBuffer.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/CommandBuffer.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -32,7 +32,6 @@
CommandBuffer::CommandBuffer(id <MTLCommandBuffer> commandBuffer)
: m_commandBuffer(commandBuffer)
{
- UNUSED_VARIABLE(m_commandBuffer);
}
CommandBuffer::~CommandBuffer() = default;
@@ -39,7 +38,7 @@
void CommandBuffer::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_commandBuffer.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
}
Modified: trunk/Source/WebGPU/WebGPU/CommandEncoder.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/CommandEncoder.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/CommandEncoder.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -44,7 +44,6 @@
CommandEncoder::CommandEncoder(id <MTLCommandBuffer> commandBuffer)
: m_commandBuffer(commandBuffer)
{
- UNUSED_VARIABLE(m_commandBuffer);
}
CommandEncoder::~CommandEncoder() = default;
@@ -135,7 +134,7 @@
void CommandEncoder::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_commandBuffer.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -36,7 +36,6 @@
ComputePassEncoder::ComputePassEncoder(id <MTLComputeCommandEncoder> computeCommandEncoder)
: m_computeCommandEncoder(computeCommandEncoder)
{
- UNUSED_VARIABLE(m_computeCommandEncoder);
}
ComputePassEncoder::~ComputePassEncoder() = default;
@@ -97,7 +96,7 @@
void ComputePassEncoder::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_computeCommandEncoder.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/ComputePipeline.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/ComputePipeline.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/ComputePipeline.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -46,6 +46,8 @@
Ref<BindGroupLayout> getBindGroupLayout(uint32_t groupIndex);
void setLabel(const char*);
+ id <MTLComputePipelineState> computePipelineState() const { return m_computePipelineState; }
+
private:
ComputePipeline(id <MTLComputePipelineState>);
Modified: trunk/Source/WebGPU/WebGPU/ComputePipeline.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/ComputePipeline.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/ComputePipeline.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -47,7 +47,6 @@
ComputePipeline::ComputePipeline(id <MTLComputePipelineState> computePipelineState)
: m_computePipelineState(computePipelineState)
{
- UNUSED_VARIABLE(m_computePipelineState);
}
ComputePipeline::~ComputePipeline() = default;
@@ -58,9 +57,9 @@
return BindGroupLayout::create(nil, nil, nil);
}
-void ComputePipeline::setLabel(const char* label)
+void ComputePipeline::setLabel(const char*)
{
- UNUSED_PARAM(label);
+ // MTLComputePipelineState's labels are read-only.
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/QuerySet.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/QuerySet.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/QuerySet.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -44,6 +44,8 @@
void destroy();
void setLabel(const char*);
+ id <MTLCounterSampleBuffer> counterSampleBuffer() const { return m_counterSampleBuffer; }
+
private:
QuerySet(id <MTLCounterSampleBuffer>);
Modified: trunk/Source/WebGPU/WebGPU/QuerySet.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/QuerySet.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/QuerySet.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -39,7 +39,6 @@
QuerySet::QuerySet(id <MTLCounterSampleBuffer> counterSampleBuffer)
: m_counterSampleBuffer(counterSampleBuffer)
{
- UNUSED_VARIABLE(m_counterSampleBuffer);
}
QuerySet::~QuerySet() = default;
@@ -48,9 +47,9 @@
{
}
-void QuerySet::setLabel(const char* label)
+void QuerySet::setLabel(const char*)
{
- UNUSED_PARAM(label);
+ // MTLCounterSampleBuffer's labels are read-only.
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/Queue.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/Queue.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/Queue.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -34,7 +34,6 @@
Queue::Queue(id <MTLCommandQueue> commandQueue)
: m_commandQueue(commandQueue)
{
- UNUSED_VARIABLE(m_commandQueue);
}
Queue::~Queue() = default;
@@ -69,7 +68,7 @@
void Queue::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_commandQueue.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/RenderBundle.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderBundle.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderBundle.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -43,6 +43,8 @@
void setLabel(const char*);
+ id <MTLIndirectCommandBuffer> indirectCommandBuffer() const { return m_indirectCommandBuffer; }
+
private:
RenderBundle(id <MTLIndirectCommandBuffer>);
Modified: trunk/Source/WebGPU/WebGPU/RenderBundle.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderBundle.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderBundle.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -32,7 +32,6 @@
RenderBundle::RenderBundle(id <MTLIndirectCommandBuffer> indirectCommandBuffer)
: m_indirectCommandBuffer(indirectCommandBuffer)
{
- UNUSED_VARIABLE(m_indirectCommandBuffer);
}
RenderBundle::~RenderBundle() = default;
@@ -39,7 +38,7 @@
void RenderBundle::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_indirectCommandBuffer.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
}
Modified: trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -43,7 +43,6 @@
RenderBundleEncoder::RenderBundleEncoder(id <MTLIndirectCommandBuffer> indirectCommandBuffer)
: m_indirectCommandBuffer(indirectCommandBuffer)
{
- UNUSED_VARIABLE(m_indirectCommandBuffer);
}
RenderBundleEncoder::~RenderBundleEncoder() = default;
@@ -129,7 +128,7 @@
void RenderBundleEncoder::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_indirectCommandBuffer.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -37,7 +37,6 @@
RenderPassEncoder::RenderPassEncoder(id <MTLRenderCommandEncoder> renderCommandEncoder)
: m_renderCommandEncoder(renderCommandEncoder)
{
- UNUSED_VARIABLE(m_renderCommandEncoder);
}
RenderPassEncoder::~RenderPassEncoder() = default;
@@ -176,7 +175,7 @@
void RenderPassEncoder::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_renderCommandEncoder.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/RenderPipeline.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderPipeline.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderPipeline.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -46,6 +46,8 @@
Ref<BindGroupLayout> getBindGroupLayout(uint32_t groupIndex);
void setLabel(const char*);
+ id <MTLRenderPipelineState> renderPipelineState() const { return m_renderPipelineState; }
+
private:
RenderPipeline(id <MTLRenderPipelineState>);
Modified: trunk/Source/WebGPU/WebGPU/RenderPipeline.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/RenderPipeline.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/RenderPipeline.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -46,7 +46,6 @@
RenderPipeline::RenderPipeline(id <MTLRenderPipelineState> renderPipelineState)
: m_renderPipelineState(renderPipelineState)
{
- UNUSED_VARIABLE(m_renderPipelineState);
}
RenderPipeline::~RenderPipeline() = default;
@@ -57,9 +56,9 @@
return BindGroupLayout::create(nil, nil, nil);
}
-void RenderPipeline::setLabel(const char* label)
+void RenderPipeline::setLabel(const char*)
{
- UNUSED_PARAM(label);
+ // MTLRenderPipelineState's labels are read-only.
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/Sampler.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/Sampler.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/Sampler.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -43,9 +43,9 @@
Sampler::~Sampler() = default;
-void Sampler::setLabel(const char* label)
+void Sampler::setLabel(const char*)
{
- UNUSED_PARAM(label);
+ // MTLRenderPipelineState's labels are read-only.
}
}
Modified: trunk/Source/WebGPU/WebGPU/ShaderModule.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/ShaderModule.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/ShaderModule.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -44,6 +44,8 @@
void getCompilationInfo(WTF::Function<void(WGPUCompilationInfoRequestStatus, const WGPUCompilationInfo*)>&& callback);
void setLabel(const char*);
+ id <MTLLibrary> library() const { return m_library; }
+
private:
ShaderModule(id <MTLLibrary>);
Modified: trunk/Source/WebGPU/WebGPU/ShaderModule.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/ShaderModule.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/ShaderModule.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -39,7 +39,6 @@
ShaderModule::ShaderModule(id <MTLLibrary> library)
: m_library(library)
{
- UNUSED_VARIABLE(m_library);
}
ShaderModule::~ShaderModule() = default;
@@ -51,7 +50,7 @@
void ShaderModule::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_library.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/Texture.h (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/Texture.h 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/Texture.h 2022-02-21 21:32:31 UTC (rev 290266)
@@ -48,6 +48,8 @@
void destroy();
void setLabel(const char*);
+ id <MTLTexture> texture() const { return m_texture; }
+
private:
Texture(id <MTLTexture>);
Modified: trunk/Source/WebGPU/WebGPU/Texture.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/Texture.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/Texture.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -40,7 +40,6 @@
Texture::Texture(id <MTLTexture> texture)
: m_texture(texture)
{
- UNUSED_VARIABLE(m_texture);
}
Texture::~Texture() = default;
@@ -57,7 +56,7 @@
void Texture::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_texture.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
} // namespace WebGPU
Modified: trunk/Source/WebGPU/WebGPU/TextureView.mm (290265 => 290266)
--- trunk/Source/WebGPU/WebGPU/TextureView.mm 2022-02-21 21:29:03 UTC (rev 290265)
+++ trunk/Source/WebGPU/WebGPU/TextureView.mm 2022-02-21 21:32:31 UTC (rev 290266)
@@ -38,7 +38,7 @@
void TextureView::setLabel(const char* label)
{
- UNUSED_PARAM(label);
+ m_texture.label = [NSString stringWithCString:label encoding:NSUTF8StringEncoding];
}
}