On Mon Feb 23, 2026 at 10:15 AM CET, Alice Ryhl wrote:
> On Sat, Feb 21, 2026 at 04:09:41PM +0100, Danilo Krummrich wrote:
>> On Sat Feb 21, 2026 at 9:46 AM CET, Alice Ryhl wrote:
>> > So, should we get rid of GpuVmBoRegistered in favor of ARef<GpuVm<T>>?
>> 
>> I wanted to avoid exposing the reference count, as I suspect drivers might 
>> not
>> need it in Rust, but I don't know for sure.
>> 
>> We could also define it as GpuVmBo<T>(ARef<GpuVmBoInner<T>>), where
>> GpuVmBoInner<T> is private, but I also don't want you to go back and forth 
>> with
>> this in case it turns out we do need drivers to be able to take a reference
>> count and I also don't think it hurts too much exposing the reference count,
>> even if not needed.
>> 
>> So, either is fine with me, ARef<GpuVmBo<T>> or
>> GpuVmBo<T>(ARef<GpuVmBoInner<T>>).
>
> I don't think GpuVmBo<T>(ARef<GpuVmBoInner<T>>) works because we need to
> be able to talk about both ARef<GpuVmBoInner<T>> and &GpuVmBoInner<T>.
> The reference type is returned by several different APIs, so the Inner
> type can't be private.

I meant NonNull<GpuVmBoInner<T>>, analogous to the current GpuVmBoRegistered.

Reply via email to