Skip to content

Commit

Permalink
buffer: align size to stride (#50)
Browse files Browse the repository at this point in the history
calculate the size to the stride we get from gb_bo_map to better align
it.
  • Loading branch information
gulafaran authored Aug 17, 2024
1 parent 4f66428 commit 05f4efc
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/allocator/GBM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,13 @@ SDMABUFAttrs Aquamarine::CGBMBuffer::dmabuf() {
}

std::tuple<uint8_t*, uint32_t, size_t> Aquamarine::CGBMBuffer::beginDataPtr(uint32_t flags) {
uint32_t dst_stride = 0;
uint32_t stride = 0;
if (boBuffer)
allocator->backend->log(AQ_LOG_ERROR, "beginDataPtr is called a second time without calling endDataPtr first. Returning old mapping");
else
boBuffer = gbm_bo_map(bo, 0, 0, attrs.size.x, attrs.size.y, flags, &dst_stride, &gboMapping);
// FIXME: assumes a 32-bit pixel format
return {(uint8_t*)boBuffer, attrs.format, attrs.size.x * attrs.size.y * 4};
boBuffer = gbm_bo_map(bo, 0, 0, attrs.size.x, attrs.size.y, flags, &stride, &gboMapping);

return {(uint8_t*)boBuffer, attrs.format, stride * attrs.size.y};
}

void Aquamarine::CGBMBuffer::endDataPtr() {
Expand Down

0 comments on commit 05f4efc

Please sign in to comment.