mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-20 10:25:28 +00:00
Implement WaitableEvent and WorkerTaskPool for multi-threaded tasks
This patch adds the basic implementation of WaitableEvent and WorkerTaskPool for multi-threaded tasks in Dawn (for example, the multi-threaded implementation of CreateReady*Pipeline()). BUG=dawn:529 TEST=dawn_unittests Change-Id: Ibf84348f4c0f0d26badc19ae94cd536cef89d084 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36360 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
This commit is contained in:
committed by
Commit Bot service account
parent
311a17a8fe
commit
064f33e441
@@ -171,6 +171,7 @@ if (is_win || is_linux || is_chromeos || is_mac || is_fuchsia || is_android) {
|
||||
"Math.cpp",
|
||||
"Math.h",
|
||||
"NSRef.h",
|
||||
"NonCopyable.h",
|
||||
"PlacementAllocated.h",
|
||||
"Platform.h",
|
||||
"RefBase.h",
|
||||
|
||||
@@ -33,6 +33,7 @@ target_sources(dawn_common PRIVATE
|
||||
"Math.cpp"
|
||||
"Math.h"
|
||||
"NSRef.h"
|
||||
"NonCopyable.h"
|
||||
"PlacementAllocated.h"
|
||||
"Platform.h"
|
||||
"RefBase.h"
|
||||
|
||||
32
src/common/NonCopyable.h
Normal file
32
src/common/NonCopyable.h
Normal file
@@ -0,0 +1,32 @@
|
||||
// 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.
|
||||
|
||||
#ifndef COMMON_NONCOPYABLE_H_
|
||||
#define COMMON_NONCOPYABLE_H_
|
||||
|
||||
// NonCopyable:
|
||||
// the base class for the classes that are not copyable.
|
||||
//
|
||||
|
||||
class NonCopyable {
|
||||
protected:
|
||||
constexpr NonCopyable() = default;
|
||||
~NonCopyable() = default;
|
||||
|
||||
private:
|
||||
NonCopyable(const NonCopyable&) = delete;
|
||||
void operator=(const NonCopyable&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user