/external/swiftshader/third_party/marl/src/ |
D | event_test.cpp | 30 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 …]
|
D | scheduler_test.cpp | 24 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 …]
|
D | pool_test.cpp | 22 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 …]
|
D | marl_test.h | 35 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;
|
D | containers_test.cpp | 27 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 …]
|
D | osfiber_test.cpp | 22 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()
|
D | waitgroup_test.cpp | 20 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()
|
D | blockingcall_test.cpp | 27 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()
|
D | memory_test.cpp | 21 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()
|
D | conditionvariable_test.cpp | 27 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()
|
D | scheduler_bench.cpp | 25 marl::schedule([] {}); in BENCHMARK_DEFINE_F() 36 marl::WaitGroup wg; in BENCHMARK_DEFINE_F() 39 marl::schedule([=] { in BENCHMARK_DEFINE_F()
|
D | memory.cpp | 204 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/ |
D | BUILD.gn | 25 "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 …]
|
D | README.md | 18 #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 …]
|
D | CMakeLists.txt | 34 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 …]
|
D | BUILD.bazel | 16 name = "marl", 32 "include/marl/**/*.h", 52 "//:marl",
|
/external/swiftshader/third_party/marl/docs/ |
D | scheduler.md | 1 # `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/ |
D | Renderer.hpp | 121 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/ |
D | hello_task.cpp | 27 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()
|
D | primes.cpp | 45 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()
|
D | BUILD.bazel | 21 "//:marl", 31 "//:marl", 41 "//:marl",
|
/external/swiftshader/src/Vulkan/ |
D | VkFence.hpp | 31 : 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;
|
D | VkQueue.hpp | 25 namespace marl { namespace 46 Queue(Device *device, marl::Scheduler *scheduler); 75 void taskLoop(marl::Scheduler *scheduler);
|
/external/swiftshader/third_party/marl/include/marl/ |
D | debug.h | 26 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__);
|
D | trace.h | 39 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()) { \
|