Page 1 of 4 123 ... LastLast
Results 1 to 10 of 39

Thread: Memory on graphics card

  1. #1
    Join Date
    Aug 2008
    Posts
    33

    Default Memory on graphics card

    I looked around for this problem and couldn't find any solutions. On my X800 Fedora 9 (radeon 6.8.0) box, I see this message

    (II) RADEON(0): Detected total video RAM=262144K, accessible=262144K (PCI BAR=262144K)
    (--) RADEON(0): Mapped VideoRAM: 262144 kByte (256 bit DDR SDRAM)


    Fair enough. It is a 256 MB PCIE card.

    However on the Fedora 10 X1650 AGP card, the mapped memory seems half:

    (II) RADEON(0): Detected total video RAM=524288K, accessible=262144K (PCI BAR=262144K)
    (--) RADEON(0): Mapped VideoRAM: 262144 kByte (128 bit DDR SDRAM)

    I see the same on my FreeBSD 6.3 system with ATI 9250 256 MB AGP card which showed the mapped videoRAM to be 128 MB. I replaced the card with ATI 9550 AGP 256MB card and it showed the right mapped videoRAM (256 MB).

    After some google search, I came across several posts mentioning that it is PCI_BAR that is setting the range and the actual memory is still 512MB and not half.

    So, I uploaded 4 512x512x64 RGBA textures into the ATI X1650 512MB card (on the Fedora 10 system). 4 such textures take 256 MB memory and a 512MB card should be able to handle it.

    But I got a "driallocatetexture 636", which means there isn't enough memory, which led me to suspect that the driver is seeing only 256MB memory. Right?

    Any ideas?

  2. #2
    Join Date
    Dec 2007
    Posts
    2,340

    Default

    The maximum PCI bar size is 256 MB and is is further limited to the size of the BAR on the device. Thus the largest framebuffer you can map and access from the CPU is the maximum BAR size on your device (256 MB or less). The rest of the vram is accessible by the GPU only. As such it's possible to store things in the non-CPU accessible region, it just get complicated to access if you need to get to the data from the CPU.

  3. #3
    Join Date
    May 2007
    Posts
    231

    Default

    Quote Originally Posted by agd5f View Post
    The maximum PCI bar size is 256 MB and is is further limited to the size of the BAR on the device. Thus the largest framebuffer you can map and access from the CPU is the maximum BAR size on your device (256 MB or less). The rest of the vram is accessible by the GPU only. As such it's possible to store things in the non-CPU accessible region, it just get complicated to access if you need to get to the data from the CPU.
    It's also for such case that memory manager would be usefull

  4. #4
    Join Date
    Aug 2008
    Posts
    33

    Default

    Quote Originally Posted by agd5f View Post
    The maximum PCI bar size is 256 MB and is is further limited to the size of the BAR on the device. Thus the largest framebuffer you can map and access from the CPU is the maximum BAR size on your device (256 MB or less). The rest of the vram is accessible by the GPU only. As such it's possible to store things in the non-CPU accessible region, it just get complicated to access if you need to get to the data from the CPU.
    OK, How do I do it? :-) How can I upload these large textures?
    I tried with fglrx and it worked fine, even though I get the same PCI_BAR message

    Any pointers?

  5. #5
    Join Date
    Aug 2008
    Posts
    33

    Default

    To further clarify, I just need to upload data to the GPU. There aren't any data transfers between CPI and GPU after that.

  6. #6

    Default

    As I understand it, currently with the free driver (radeon/radeonhd) you can't use VRAM more than 256MB, period. This will (only) change once a memory manager is implemented in the driver.

  7. #7
    Join Date
    Aug 2008
    Posts
    33

    Default

    Thanks, I guess I'll wait!!

    Question to agd5f:

    Is mem manager being worked on? If so, where can I follow the development?

  8. #8
    Join Date
    Dec 2007
    Posts
    2,340

    Default

    Quote Originally Posted by kadambi View Post
    Thanks, I guess I'll wait!!

    Question to agd5f:

    Is mem manager being worked on? If so, where can I follow the development?
    Yes:
    http://cgit.freedesktop.org/mesa/drm...odesetting-gem

    It also includes kernel modesetting.

  9. #9
    Join Date
    Aug 2008
    Posts
    33

    Default

    Quote Originally Posted by agd5f View Post
    Yes:
    http://cgit.freedesktop.org/mesa/drm...odesetting-gem

    It also includes kernel modesetting.
    So, I just got a ATI x1950 512MB card and installed Fedora 10 hoping this would work since KMS works on F10.

    Well, It still doesn't seem to see beyond 256MB. I tried my code and I get the same message about dri not able to allocate textures.

    So, I assume memory manager is still not in place?
    Last edited by kadambi; 12-05-2008 at 04:57 PM.

  10. #10
    Join Date
    Dec 2007
    Posts
    2,340

    Default

    Quote Originally Posted by kadambi View Post
    So, I just got a ATI x1950 512MB card and installed Fedora 10 hoping this would work since KMS works on F10.

    Well, It still doesn't seem to see beyond 256MB. I tried my code and I get the same message about dri not able to allocate textures.

    So, I assume memory manager is still not in place?
    The memory manager is in place, we just aren't using the memory outside the BAR yet. It's a bit tricky since that memory cannot be accessed by the CPU, so if sw needs to access it it has to be migrated somewhere it can be mapped or accessed. Don't worry, we'll get there eventually.

Posting Permissions

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