Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 3 of 8 FirstFirst 12345 ... LastLast
Results 21 to 30 of 74

Thread: Official Bindless Graphics feedback thread

  1. #21
    Junior Member Regular Contributor
    Join Date
    Aug 2007
    Posts
    121

    Re: Official Bindless Graphics feedback thread

    I have some concerns about the driver's memory management when using MakeBufferResidentNV. My understanding is that this function locks a buffer at its present VRAM location in order to provide a constant GPU address. If that is the case, this would seem to exacerbate the memory fragmentation of VRAM. If some randomly sized buffers are locked at some random positions in memory, the driver won't be able to defrag the memory and later buffer allocations will eventually fail. How will the GL cope with this?

    Regarding structures made of pointers, maybe it would be a good idea to add refcounts to resident GPU addresses. As it stands now, the application has to do this on its own in order to use a resident GPU address in multiple structures. It is really only safe to delete a resident buffer shared across multiple structures via its GPU address when its usage count drops to 0. Otherwise, it generates dangling pointers to deleted memory. Essentially, it seems to me that using GPU addresses shared across structures is an easy way to introduce hard to debug crashes.

  2. #22
    Junior Member Regular Contributor
    Join Date
    Aug 2007
    Posts
    121

    Re: Official Bindless Graphics feedback thread

    By the way, I think its a great idea to ask for developer feedback like this. Now it remains to be seen if anything coming of this thread will actually makes its way in the spec/driver

  3. #23
    Administrator Regular Contributor
    Join Date
    Aug 2001
    Location
    NVIDIA, Fort Collins, CO, USA
    Posts
    184

    Re: Official Bindless Graphics feedback thread

    We released 185.81 beta drivers today, including for notebook. Please use those drivers if you are going to experiment with bindless graphics.

    Barthold

  4. #24
    Advanced Member Frequent Contributor cass's Avatar
    Join Date
    Feb 2000
    Location
    Austin, TX, USA
    Posts
    913

    Re: Official Bindless Graphics feedback thread

    bertgp, the gpu address is virtual. The virtual address can be constant without making the physical address constant.

    This looks like a really good set of extensions.

    I particularly like that the vertex buffer code should be easily hidden behind an existing application VBO abstraction.
    Cass Everitt -- cass@xyzw.us

  5. #25
    Senior Member OpenGL Pro
    Join Date
    Sep 2004
    Location
    Prombaatu
    Posts
    1,386

    Re: Official Bindless Graphics feedback thread

    Yeah, this is freaky cool.

    Big thanks for the beta drivers!

  6. #26
    Intern Contributor
    Join Date
    Jun 2007
    Location
    Pittsburgh, Pa. USA
    Posts
    65

    Re: Official Bindless Graphics feedback thread

    This is definitely promising. It seems that it would be pretty easy to change my VBO code to do this. I assume the big wins here are a direct connection to GPU address, thus eliminating a bind id lookup, and the notion that you cannot edit, so you can rely on these functions being lightweight. I was wondering why there were no GL extensions to do something like this for textures, as drawing from a texture should take less work than setting up to update a texture on the driver side, no?
    Keith Z. Leonard
    Sword and Spirit, LLC.
    Schell Games, LLC.

  7. #27
    Junior Member Regular Contributor
    Join Date
    Aug 2007
    Posts
    121

    Re: Official Bindless Graphics feedback thread

    Quote Originally Posted by cass
    bertgp, the gpu address is virtual. The virtual address can be constant without making the physical address constant.
    With virtual addresses, there can still be problems. Let's say there are N memory pages and each one has one resident VBO locked in it. In that case, any allocation greater than the size of two memory pages would fail since it would not be possible to provide a continuous range of virtual memory which satisfies it.

    Before resident buffers, the GL could shuffle data around as much as it wanted. With this extension, there are more restrictions to what it can do.

  8. #28
    Advanced Member Frequent Contributor cass's Avatar
    Join Date
    Feb 2000
    Location
    Austin, TX, USA
    Posts
    913

    Re: Official Bindless Graphics feedback thread


    Being virtual doesn't mean completely unconstrained, I agree, but the virtual address space of modern GPUs is in the terabyte range.

    Agreed that giving the virtual address does add restrictions that didn't exist with handles alone, but the handle-to-address cache misses were not an insignificant cost.

    This seems like a perfectly reasonable way to go about eliminating that cost.
    Cass Everitt -- cass@xyzw.us

  9. #29
    Junior Member Regular Contributor
    Join Date
    Aug 2007
    Posts
    121

    Re: Official Bindless Graphics feedback thread

    Quote Originally Posted by cass
    Being virtual doesn't mean completely unconstrained, I agree, but the virtual address space of modern GPUs is in the terabyte range.
    Yeah you're right. I had completely forgotten that the addresses are 64 bits. We have some leeway before each page of the 64 bit range is taken!

    And by the way, I wasn't saying that this extension is useless, just pointing out a possible problem and wondering how Nvidia intended to handle the issue.

  10. #30
    Advanced Member Frequent Contributor
    Join Date
    Apr 2003
    Posts
    661

    Re: Official Bindless Graphics feedback thread

    Quote Originally Posted by barthold
    We released 185.81 beta drivers today, including for notebook. Please use those drivers if you are going to experiment with bindless graphics.
    Is GL3.1 enabled in these?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •