Bug 1885238 - fix(webgpu): use CompilationMessageType from server in CompilationMessage ctor. r=webgpu-reviewers,nical

Depends on D205173

Differential Revision: https://phabricator.services.mozilla.com/D205174
This commit is contained in:
Erich Gubler 2024-03-20 15:24:20 +00:00
parent 2ce805933b
commit 2f0f87c12c
3 changed files with 21 additions and 5 deletions

View file

@ -18,8 +18,20 @@ CompilationInfo::CompilationInfo(Device* const aParent) : ChildOf(aParent) {}
void CompilationInfo::SetMessages(
nsTArray<mozilla::webgpu::WebGPUCompilationMessage>& aMessages) {
for (auto& msg : aMessages) {
auto messageType = dom::GPUCompilationMessageType::Error;
switch (msg.messageType) {
case WebGPUCompilationMessageType::Error:
messageType = dom::GPUCompilationMessageType::Error;
break;
case WebGPUCompilationMessageType::Warning:
messageType = dom::GPUCompilationMessageType::Warning;
break;
case WebGPUCompilationMessageType::Info:
messageType = dom::GPUCompilationMessageType::Info;
break;
}
mMessages.AppendElement(MakeAndAddRef<mozilla::webgpu::CompilationMessage>(
mParent, msg.lineNum, msg.linePos, msg.offset, msg.length,
mParent, messageType, msg.lineNum, msg.linePos, msg.offset, msg.length,
std::move(msg.message)));
}
}

View file

@ -12,10 +12,13 @@ namespace mozilla::webgpu {
GPU_IMPL_CYCLE_COLLECTION(CompilationMessage, mParent)
GPU_IMPL_JS_WRAP(CompilationMessage)
CompilationMessage::CompilationMessage(Device* const aParent, uint64_t aLineNum,
uint64_t aLinePos, uint64_t aOffset,
uint64_t aLength, nsString&& aMessage)
CompilationMessage::CompilationMessage(Device* const aParent,
dom::GPUCompilationMessageType aType,
uint64_t aLineNum, uint64_t aLinePos,
uint64_t aOffset, uint64_t aLength,
nsString&& aMessage)
: ChildOf(aParent),
mType(aType),
mLineNum(aLineNum),
mLinePos(aLinePos),
mOffset(aOffset),

View file

@ -18,7 +18,7 @@ namespace webgpu {
class CompilationInfo;
class CompilationMessage final : public nsWrapperCache, public ChildOf<Device> {
dom::GPUCompilationMessageType mType = dom::GPUCompilationMessageType::Error;
dom::GPUCompilationMessageType mType;
uint64_t mLineNum = 0;
uint64_t mLinePos = 0;
uint64_t mOffset = 0;
@ -30,6 +30,7 @@ class CompilationMessage final : public nsWrapperCache, public ChildOf<Device> {
GPU_DECL_JS_WRAP(CompilationMessage)
explicit CompilationMessage(Device* const aParent,
dom::GPUCompilationMessageType aType,
uint64_t aLineNum, uint64_t aLinePos,
uint64_t aOffset, uint64_t aLength,
nsString&& aMessage);