Blender V5.0
device/dummy/device.cpp
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
6#include "device/device.h"
7#include "device/queue.h"
8
10
11/* Dummy device for when creating an appropriate rendering device fails. */
12
13class DummyDevice : public Device {
14 public:
15 DummyDevice(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
16 : Device(info_, stats_, profiler_, headless_)
17 {
18 error_msg = info.error_msg;
19 }
20
21 ~DummyDevice() override = default;
22
23 BVHLayoutMask get_bvh_layout_mask(uint /*kernel_features*/) const override
24 {
25 return 0;
26 }
27
28 void mem_alloc(device_memory & /*mem*/) override {}
29
30 void mem_copy_to(device_memory & /*mem*/) override {}
31
32 void mem_move_to_host(device_memory & /*mem*/) override {}
33
35 device_memory & /*mem*/, size_t /*y*/, size_t /*w*/, size_t /*h*/, size_t /*elem*/) override
36 {
37 }
38
39 void mem_zero(device_memory & /*mem*/) override {}
40
41 void mem_free(device_memory & /*mem*/) override {}
42
43 void const_copy_to(const char * /*name*/, void * /*host*/, size_t /*size*/) override {}
44};
45
47 Stats &stats,
48 Profiler &profiler,
49 bool headless)
50{
51 return make_unique<DummyDevice>(info, stats, profiler, headless);
52}
53
unsigned int uint
Device(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
string error_msg
friend class device_memory
DeviceInfo info
void mem_zero(device_memory &) override
void mem_free(device_memory &) override
~DummyDevice() override=default
DummyDevice(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
void mem_move_to_host(device_memory &) override
void mem_copy_to(device_memory &) override
void const_copy_to(const char *, void *, size_t) override
void mem_copy_from(device_memory &, size_t, size_t, size_t, size_t) override
BVHLayoutMask get_bvh_layout_mask(uint) const override
void mem_alloc(device_memory &) override
#define CCL_NAMESPACE_END
unique_ptr< Device > device_dummy_create(const DeviceInfo &info, Stats &stats, Profiler &profiler, bool headless)
int BVHLayoutMask
Definition params.h:50