diff options
author | Dennis Kobert <dennis@kobert.dev> | 2020-01-12 05:18:56 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2020-01-12 05:18:56 +0100 |
commit | 29bffc6f6c794fee886904ad3960c4cb770deb11 (patch) | |
tree | 5c896350538842863d3834b11ed25c44773d8699 /src/solvers/gpu/mod.rs | |
parent | 1650906f010574e8810c8b0b98334e22fac5894d (diff) |
Fix Bugs
Diffstat (limited to 'src/solvers/gpu/mod.rs')
-rw-r--r-- | src/solvers/gpu/mod.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/solvers/gpu/mod.rs b/src/solvers/gpu/mod.rs index f9ab711..f147f31 100644 --- a/src/solvers/gpu/mod.rs +++ b/src/solvers/gpu/mod.rs @@ -11,6 +11,7 @@ pub enum Message { CheckRequest(CheckRequest), HostMessage(MaskMessage), OutputMessage(RowMessage), + ResultMessage(ResultMessage), Terminate, } @@ -18,14 +19,22 @@ pub struct ResultMessage { data: Vec<u64>, offset: usize, size: usize, + wg_size: usize, + id: u64, } impl ResultMessage { - fn new(data: Vec<u64>, offset: usize, size: usize) -> Self { - Self { data, offset, size } + fn new(data: Vec<u64>, offset: usize, size: usize, wg_size: usize, id: u64) -> Self { + Self { + data, + offset, + size, + wg_size, + id, + } } - fn valid_walls(&self, wg_size: usize) -> &[Vec<u32>] { - let mut result = vec![Vec::new(); wg_size]; + fn valid_walls(&self) -> &[Vec<u32>] { + let mut result = vec![Vec::new(); self.wg_size]; for (j, r) in self.data.iter().enumerate() { for b in 0..64 { if r & (1 << b) != 0 { |