Home
last modified time | relevance | path

Searched refs:marl (Results 1 – 25 of 88) sorted by relevance

1234

/external/swiftshader/third_party/marl/src/
Devent_test.cpp30 std::vector<marl::Event::Mode> modes = {marl::Event::Mode::Manual, in TEST_P()
31 marl::Event::Mode::Auto}; in TEST_P()
33 auto event = marl::Event(mode); in TEST_P()
44 auto event = marl::Event(marl::Event::Mode::Auto); in TEST_P()
52 auto event = marl::Event(marl::Event::Mode::Manual); in TEST_P()
61 auto event = marl::Event(marl::Event::Mode::Auto); in TEST_P()
62 auto done = marl::Event(marl::Event::Mode::Auto); in TEST_P()
65 marl::schedule([=, &counter] { in TEST_P()
86 auto event = marl::Event(marl::Event::Mode::Manual); in TEST_P()
87 auto wg = marl::WaitGroup(3); in TEST_P()
[all …]
Dscheduler_test.cpp24 auto scheduler = new marl::Scheduler(); in TEST_F()
29 auto scheduler = new marl::Scheduler(); in TEST_F()
31 auto got = marl::Scheduler::get(); in TEST_F()
34 got = marl::Scheduler::get(); in TEST_F()
40 ASSERT_EQ(marl::Scheduler::get()->getWorkerThreadCount(), in TEST_P()
47 marl::schedule([&] { counter++; }); in TEST_P()
50 auto scheduler = marl::Scheduler::get(); in TEST_P()
58 (new marl::Scheduler())->bind(); in TEST_P()
64 marl::WaitGroup wg(1); in TEST_P()
66 marl::schedule([&] { in TEST_P()
[all …]
Dpool_test.cpp22 marl::UnboundedPool<int> pool; in TEST_P()
26 marl::BoundedPool<int, 10> pool; in TEST_P()
30 marl::UnboundedPool<int> pool; in TEST_P()
37 marl::UnboundedPool<int> pool; in TEST_P()
39 marl::WaitGroup wg(iterations); in TEST_P()
41 marl::schedule([=] { in TEST_P()
50 marl::BoundedPool<int, 100> pool; in TEST_P()
57 marl::BoundedPool<int, 10> pool; in TEST_P()
59 marl::WaitGroup wg(iterations); in TEST_P()
61 marl::schedule([=] { in TEST_P()
[all …]
Dmarl_test.h35 allocator = new marl::TrackedAllocator(marl::Allocator::Default); in SetUp()
45 marl::TrackedAllocator* allocator = nullptr;
53 allocator = new marl::TrackedAllocator(marl::Allocator::Default); in SetUp()
57 auto scheduler = new marl::Scheduler(allocator); in SetUp()
63 auto scheduler = marl::Scheduler::get(); in TearDown()
73 marl::TrackedAllocator* allocator = nullptr;
Dcontainers_test.cpp27 marl::containers::vector<std::string, 4> vector(allocator); in TEST_F()
32 marl::containers::vector<std::string, 4> vector(allocator); in TEST_F()
46 marl::containers::vector<std::string, 1> vector(allocator); in TEST_F()
60 marl::containers::vector<std::string, 4> vector(allocator); in TEST_F()
94 marl::containers::vector<std::string, 2> vector(allocator); in TEST_F()
128 marl::containers::vector<std::string, 4> vectorA(allocator); in TEST_F()
135 marl::containers::vector<std::string, 2> vectorB(vectorA, allocator); in TEST_F()
143 marl::containers::vector<std::string, 4> vectorA(allocator); in TEST_F()
150 marl::containers::vector<std::string, 2> vectorB(std::move(vectorA), in TEST_F()
159 marl::containers::vector<std::string, 4> vectorA(allocator); in TEST_F()
[all …]
Dosfiber_test.cpp22 auto main = marl::OSFiber::createFiberFromCurrentThread(allocator); in TEST_F()
23 marl::Allocator::unique_ptr<marl::OSFiber> fiberA, fiberB, fiberC; in TEST_F()
24 fiberC = marl::OSFiber::createFiber(allocator, fiberStackSize, [&] { in TEST_F()
28 fiberB = marl::OSFiber::createFiber(allocator, fiberStackSize, [&] { in TEST_F()
32 fiberA = marl::OSFiber::createFiber(allocator, fiberStackSize, [&] { in TEST_F()
Dwaitgroup_test.cpp20 marl::WaitGroup wg(2); // Should not require a scheduler. in TEST_F()
27 marl::WaitGroup wg(2); // Should not require a scheduler. in TEST_F()
35 marl::WaitGroup wg(1); in TEST_P()
37 marl::schedule([&counter, wg] { in TEST_P()
46 marl::WaitGroup wg(10); in TEST_P()
49 marl::schedule([&counter, wg] { in TEST_P()
Dblockingcall_test.cpp27 marl::WaitGroup wg(100); in TEST_P()
29 marl::schedule([=] { in TEST_P()
31 marl::blocking_call([=] { in TEST_P()
46 marl::WaitGroup wg(100); in TEST_P()
49 marl::schedule([=, &n] { in TEST_P()
51 n += marl::blocking_call([=] { in TEST_P()
Dmemory_test.cpp21 marl::Allocator* allocator = marl::Allocator::Default;
33 marl::Allocation::Request request; in TEST_F()
82 marl::Allocation::Request request; in TEST_F()
89 EXPECT_DEATH(ptr[marl::pageSize()] = 1, ""); in TEST_F()
Dconditionvariable_test.cpp27 marl::ConditionVariable cv; in TEST_F()
70 marl::ConditionVariable cv; in TEST_P()
117 marl::ConditionVariable cv; in TEST_P()
119 auto wg = marl::WaitGroup(100); in TEST_P()
121 marl::schedule([=, &mutex, &cv, &signaled] { in TEST_P()
Dscheduler_bench.cpp25 marl::schedule([] {}); in BENCHMARK_DEFINE_F()
36 marl::WaitGroup wg; in BENCHMARK_DEFINE_F()
39 marl::schedule([=] { in BENCHMARK_DEFINE_F()
Dmemory.cpp204 class DefaultAllocator : public marl::Allocator {
208 virtual marl::Allocation allocate( in allocate()
209 const marl::Allocation::Request& request) override { in allocate()
224 marl::Allocation allocation; in allocate()
230 virtual void free(const marl::Allocation& allocation) override { in free()
246 namespace marl { namespace
/external/swiftshader/third_party/marl/
DBUILD.gn25 "include/marl/blockingcall.h",
26 "include/marl/conditionvariable.h",
27 "include/marl/containers.h",
28 "include/marl/debug.h",
29 "include/marl/defer.h",
30 "include/marl/finally.h",
31 "include/marl/pool.h",
32 "include/marl/sal.h",
33 "include/marl/scheduler.h",
34 "include/marl/sanitizers.h",
[all …]
DREADME.md18 #include "marl/defer.h"
19 #include "marl/event.h"
20 #include "marl/scheduler.h"
21 #include "marl/waitgroup.h"
26 // Create a marl scheduler using the 4 hardware threads.
27 // Bind this scheduler to the main thread so we can call marl::schedule()
28 marl::Scheduler scheduler;
36 marl::Event sayHellow(marl::Event::Mode::Manual);
39 marl::WaitGroup saidHellow(numTasks);
44 marl::schedule([=] { // All marl primitives are capture-by-value.
[all …]
DCMakeLists.txt34 option_if_not_defined(MARL_ASAN "Build marl with address sanitizer" OFF)
35 option_if_not_defined(MARL_MSAN "Build marl with memory sanitizer" OFF)
36 option_if_not_defined(MARL_TSAN "Build marl with thread sanitizer" OFF)
37 option_if_not_defined(MARL_INSTALL "Create marl install target" OFF)
162 # marl
163 add_library(marl STATIC ${MARL_LIST}) target
164 set_target_properties(marl PROPERTIES
168 marl_set_target_options(marl)
170 target_link_libraries(marl "${MARL_OS_LIBS}")
176 install(DIRECTORY ${MARL_INCLUDE_DIR}/marl
[all …]
DBUILD.bazel16 name = "marl",
32 "include/marl/**/*.h",
52 "//:marl",
/external/swiftshader/third_party/marl/docs/
Dscheduler.md1 # `marl::Scheduler`
5 - [`marl::Scheduler`](#marlscheduler)
10 - [`marl::Scheduler::Worker::run()`](#marlschedulerworkerrun)
11 - [`marl::Scheduler::Worker::runUntilIdle()`](#marlschedulerworkerrununtilidle)
12 - [`marl::Scheduler::Worker::suspend()`](#marlschedulerworkersuspend)
13 - [`marl::Scheduler::Worker::waitForWork()`](#marlschedulerworkerwaitforwork)
14 - [`marl::Scheduler::Worker::spinForWork()`](#marlschedulerworkerspinforwork)
19 The `marl::Scheduler` is the most complex part of marl and is responsible for executing tasks and k…
25 The scheduler must be bound to each thread that calls `marl::schedule()`, and unbound from all thre…
27 Binding is made using the `marl::Scheduler::bind()` and `marl::Scheduler::unbind()` methods.
[all …]
/external/swiftshader/src/Device/
DRenderer.hpp121 using Pool = marl::BoundedPool<BatchData, MaxBatchCount, marl::PoolPolicy::Preserve>;
130 marl::Ticket clusterTickets[MaxClusterCount];
133 using Pool = marl::BoundedPool<DrawCall, MaxDrawCount, marl::PoolPolicy::Preserve>;
139 …static void run(const marl::Loan<DrawCall> &draw, marl::Ticket::Queue *tickets, marl::Ticket::Queu…
142 …tatic void processPixels(const marl::Loan<DrawCall> &draw, const marl::Loan<BatchData> &batch, con…
230 marl::Ticket::Queue drawTickets;
231 marl::Ticket::Queue clusterQueues[MaxClusterCount];
/external/swiftshader/third_party/marl/examples/
Dhello_task.cpp27 marl::Scheduler scheduler; in main()
35 marl::Event sayHellow(marl::Event::Mode::Manual); in main()
38 marl::WaitGroup saidHellow(numTasks); in main()
43 marl::schedule([=] { // All marl primitives are capture-by-value. in main()
Dprimes.cpp45 marl::Scheduler scheduler; in main()
46 scheduler.setWorkerThreadCount(marl::Thread::numLogicalCPUs()); in main()
52 marl::Ticket::Queue queue; in main()
61 marl::schedule([=] { in main()
DBUILD.bazel21 "//:marl",
31 "//:marl",
41 "//:marl",
/external/swiftshader/src/Vulkan/
DVkFence.hpp31 : event(marl::Event::Mode::Manual, (pCreateInfo->flags & VK_FENCE_CREATE_SIGNALED_BIT) != 0) in Fence()
61 const marl::Event &getEvent() const { return event; } in getEvent()
82 marl::WaitGroup wg;
83 const marl::Event event;
DVkQueue.hpp25 namespace marl { namespace
46 Queue(Device *device, marl::Scheduler *scheduler);
75 void taskLoop(marl::Scheduler *scheduler);
/external/swiftshader/third_party/marl/include/marl/
Ddebug.h26 namespace marl {
33 #define MARL_FATAL(msg, ...) marl::fatal(msg "\n", ##__VA_ARGS__);
43 #define MARL_WARN(msg, ...) marl::warn("WARNING: " msg "\n", ##__VA_ARGS__);
Dtrace.h39 namespace marl {
217 marl::Trace::ScopedEvent MARL_CONCAT(scoped_event, __LINE__)(__VA_ARGS__);
220 if (auto t = marl::Trace::get()) { \
226 if (auto t = marl::Trace::get()) { \
231 marl::Trace::ScopedAsyncEvent MARL_CONCAT(defer_, __LINE__)(id, __VA_ARGS__);
234 if (auto t = marl::Trace::get()) { \

1234