Adds pass labels into the commands and plumbs through for Metal.
Bug: dawn:1784 Change-Id: Ie71360d83c4f3c47821916ebf8a187662e3f286f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/131100 Commit-Queue: Loko Kung <lokokung@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
parent
2552dd3c9f
commit
2966d3ad08
|
@ -764,6 +764,7 @@ Ref<ComputePassEncoder> CommandEncoder::BeginComputePass(const ComputePassDescri
|
||||||
if (descriptor == nullptr) {
|
if (descriptor == nullptr) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
cmd->label = std::string(descriptor->label ? descriptor->label : "");
|
||||||
|
|
||||||
// Record timestamp writes at the beginning and end of compute pass. The timestamp write
|
// Record timestamp writes at the beginning and end of compute pass. The timestamp write
|
||||||
// at the end also be needed in BeginComputePassCmd because it's required by compute
|
// at the end also be needed in BeginComputePassCmd because it's required by compute
|
||||||
|
@ -839,6 +840,7 @@ Ref<RenderPassEncoder> CommandEncoder::BeginRenderPass(const RenderPassDescripto
|
||||||
mEncodingContext.WillBeginRenderPass();
|
mEncodingContext.WillBeginRenderPass();
|
||||||
BeginRenderPassCmd* cmd =
|
BeginRenderPassCmd* cmd =
|
||||||
allocator->Allocate<BeginRenderPassCmd>(Command::BeginRenderPass);
|
allocator->Allocate<BeginRenderPassCmd>(Command::BeginRenderPass);
|
||||||
|
cmd->label = std::string(descriptor->label ? descriptor->label : "");
|
||||||
|
|
||||||
cmd->attachmentState = device->GetOrCreateAttachmentState(descriptor);
|
cmd->attachmentState = device->GetOrCreateAttachmentState(descriptor);
|
||||||
attachmentState = cmd->attachmentState;
|
attachmentState = cmd->attachmentState;
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <bitset>
|
#include <bitset>
|
||||||
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "dawn/common/Constants.h"
|
#include "dawn/common/Constants.h"
|
||||||
|
@ -83,6 +84,7 @@ struct BeginComputePassCmd {
|
||||||
|
|
||||||
TimestampWrite beginTimestamp;
|
TimestampWrite beginTimestamp;
|
||||||
TimestampWrite endTimestamp;
|
TimestampWrite endTimestamp;
|
||||||
|
std::string label;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BeginOcclusionQueryCmd {
|
struct BeginOcclusionQueryCmd {
|
||||||
|
@ -135,6 +137,7 @@ struct BeginRenderPassCmd {
|
||||||
Ref<QuerySetBase> occlusionQuerySet;
|
Ref<QuerySetBase> occlusionQuerySet;
|
||||||
TimestampWrite beginTimestamp;
|
TimestampWrite beginTimestamp;
|
||||||
TimestampWrite endTimestamp;
|
TimestampWrite endTimestamp;
|
||||||
|
std::string label;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BufferCopy {
|
struct BufferCopy {
|
||||||
|
|
|
@ -1227,6 +1227,7 @@ MaybeError CommandBuffer::EncodeComputePass(CommandRecordingContext* commandCont
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
SetDebugName(GetDevice(), encoder, "Dawn_ComputePassEncoder", computePassCmd->label);
|
||||||
|
|
||||||
Command type;
|
Command type;
|
||||||
while (mCommands.NextCommandId(&type)) {
|
while (mCommands.NextCommandId(&type)) {
|
||||||
|
@ -1388,6 +1389,7 @@ MaybeError CommandBuffer::EncodeRenderPass(id<MTLRenderCommandEncoder> encoder,
|
||||||
withBarrier:YES];
|
withBarrier:YES];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
SetDebugName(GetDevice(), encoder, "Dawn_RenderPassEncoder", renderPassCmd->label);
|
||||||
|
|
||||||
auto EncodeRenderBundleCommand = [&](CommandIterator* iter, Command type) {
|
auto EncodeRenderBundleCommand = [&](CommandIterator* iter, Command type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|
Loading…
Reference in New Issue