mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-19 09:55:26 +00:00
Implement GPUCompilationInfo
Implements the GPUCompilationInfo and GPUCompilationMessage interfaces, adds the GPUCompilationMessageType enum, and adds the compilationInfo method to GPUShaderModule. BUG: dawn:746 Change-Id: Ied70cbbfedbf4890916ec076993714e5042f70e4 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46600 Commit-Queue: Brandon Jones <bajones@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
68c226db43
commit
6f2bbe9896
51
src/dawn_wire/server/ServerShaderModule.cpp
Normal file
51
src/dawn_wire/server/ServerShaderModule.cpp
Normal file
@@ -0,0 +1,51 @@
|
||||
// Copyright 2021 The Dawn Authors
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include "dawn_wire/server/Server.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace dawn_wire { namespace server {
|
||||
|
||||
bool Server::DoShaderModuleGetCompilationInfo(ObjectId shaderModuleId, uint64_t requestSerial) {
|
||||
auto* shaderModule = ShaderModuleObjects().Get(shaderModuleId);
|
||||
if (shaderModule == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto userdata = MakeUserdata<ShaderModuleGetCompilationInfoUserdata>();
|
||||
userdata->shaderModule = ObjectHandle{shaderModuleId, shaderModule->generation};
|
||||
userdata->requestSerial = requestSerial;
|
||||
|
||||
mProcs.shaderModuleGetCompilationInfo(
|
||||
shaderModule->handle,
|
||||
ForwardToServer<decltype(&Server::OnShaderModuleGetCompilationInfo)>::Func<
|
||||
&Server::OnShaderModuleGetCompilationInfo>(),
|
||||
userdata.release());
|
||||
return true;
|
||||
}
|
||||
|
||||
void Server::OnShaderModuleGetCompilationInfo(WGPUCompilationInfoRequestStatus status,
|
||||
const WGPUCompilationInfo* info,
|
||||
ShaderModuleGetCompilationInfoUserdata* data) {
|
||||
ReturnShaderModuleGetCompilationInfoCallbackCmd cmd;
|
||||
cmd.shaderModule = data->shaderModule;
|
||||
cmd.requestSerial = data->requestSerial;
|
||||
cmd.status = status;
|
||||
cmd.info = info;
|
||||
|
||||
SerializeCommand(cmd);
|
||||
}
|
||||
|
||||
}} // namespace dawn_wire::server
|
||||
Reference in New Issue
Block a user