struct PendingTransfer
{
unsigned order = 0;
- unsigned buffer_index = 0;
+ int buffer_index = -1;
std::size_t offset = 0;
std::size_t size = 0;
std::function<void()> synchronize;
PendingTransfer &pt = prepare_transfer(object, ordered, size);
pt.synchronize = std::forward<S>(synchronize);
pt.transfer = std::forward<T>(transfer);
- return static_cast<char *>(buffers[pt.buffer_index].mapped_address)+pt.offset;
+ return (pt.buffer_index<0 ? 0 : static_cast<char *>(buffers[pt.buffer_index].mapped_address)+pt.offset);
}
} // namespace GL