Add ValidateCanRecordCommands to Debug Marker APIs
Add ValidateCanRecordCommands to debug marker calls in ProgrammablePassEncoder. Fixes issue found by ClusterFuzz. Bug=chromium:935902 Bug=dawn:44 Change-Id: If1a4890a9de49a1872711a7b1a875ddc13130e88 Reviewed-on: https://dawn-review.googlesource.com/c/5080 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
b2c5023c9c
commit
9c061c3437
|
@ -39,6 +39,10 @@ namespace dawn_native {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgrammablePassEncoder::InsertDebugMarker(const char* groupLabel) {
|
void ProgrammablePassEncoder::InsertDebugMarker(const char* groupLabel) {
|
||||||
|
if (mTopLevelEncoder->ConsumedError(ValidateCanRecordCommands())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
InsertDebugMarkerCmd* cmd =
|
InsertDebugMarkerCmd* cmd =
|
||||||
mAllocator->Allocate<InsertDebugMarkerCmd>(Command::InsertDebugMarker);
|
mAllocator->Allocate<InsertDebugMarkerCmd>(Command::InsertDebugMarker);
|
||||||
new (cmd) InsertDebugMarkerCmd;
|
new (cmd) InsertDebugMarkerCmd;
|
||||||
|
@ -49,11 +53,19 @@ namespace dawn_native {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgrammablePassEncoder::PopDebugGroup() {
|
void ProgrammablePassEncoder::PopDebugGroup() {
|
||||||
|
if (mTopLevelEncoder->ConsumedError(ValidateCanRecordCommands())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
PopDebugGroupCmd* cmd = mAllocator->Allocate<PopDebugGroupCmd>(Command::PopDebugGroup);
|
PopDebugGroupCmd* cmd = mAllocator->Allocate<PopDebugGroupCmd>(Command::PopDebugGroup);
|
||||||
new (cmd) PopDebugGroupCmd;
|
new (cmd) PopDebugGroupCmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgrammablePassEncoder::PushDebugGroup(const char* groupLabel) {
|
void ProgrammablePassEncoder::PushDebugGroup(const char* groupLabel) {
|
||||||
|
if (mTopLevelEncoder->ConsumedError(ValidateCanRecordCommands())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
PushDebugGroupCmd* cmd = mAllocator->Allocate<PushDebugGroupCmd>(Command::PushDebugGroup);
|
PushDebugGroupCmd* cmd = mAllocator->Allocate<PushDebugGroupCmd>(Command::PushDebugGroup);
|
||||||
new (cmd) PushDebugGroupCmd;
|
new (cmd) PushDebugGroupCmd;
|
||||||
cmd->length = strlen(groupLabel);
|
cmd->length = strlen(groupLabel);
|
||||||
|
|
Loading…
Reference in New Issue