From: Dave Airlie <airlied@gmail.com>
To: Jonathan Campbell <jon@nerdgrounds.com>
Cc: Eric Anholt <eric@anholt.net>, Mark Knecht <markknecht@gmail.com>,
Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: Vramfs: filesystem driver to utilize extra RAM on VGA devices
Date: Wed, 28 Jan 2009 17:05:40 +1000 [thread overview]
Message-ID: <21d7e9970901272305n6ec9506bodaaae29915f7914b@mail.gmail.com> (raw)
In-Reply-To: <497FFD06.8010001@nerdgrounds.com>
On Wed, Jan 28, 2009 at 4:36 PM, Jonathan Campbell <jon@nerdgrounds.com> wrote:
> Well my expectation of vramfs is that it's not meant to be used for the
> heavy-duty 3D gaming-style rendering that GEM is built to handle. It's meant
> for lighter tasks, like simple 2D/3D compositing or GPU work where you know
> what your resources need, you don't need to take that much, and you need
> direct mmap() access because some of it involves video that you will handle
> later. Situations like this can work perfectly fine without the use of a
> swapping system.
I can't think of a nice way to say this, but this idea is crack.
I can see one use for vramfs which is to use VRAM as a file backing
store, we won't mention that VRAM is slow. Some caveats being
the PCI aperture only exposes 1/2 the VRAM on some cards, there is
more hidden away where the CPU can't find it.
and that some cards have made up VRAM (read IGPs).
It doesn't in any way serve as a basis for talking to the GPU behind
said VRAM or as a basis for any
sort of backend to talk to the GPU.
Dave.
>
> My other concern is that GEM with a filesystem might be the best option for
> 3D gaming, but that it wouldn't work if the driver doesn't know the card.
> The DRI drivers, as far as I know, are tied to the GPU and chipset of the
> device (because they have to manage it, after all!). How exactly would GEM
> work for cards that it doesn't recognize, like one machine of mine with a
> weird ATI chipset nobody knows how to talk to? If GEM doesn't recognize it,
> it won't provide VRAM resources to use it, right?
>
> This is where vramfs has it's advantage: it's not the absolute best solution
> for 3D graphics, but it's simple, it can serve as a starting point for GPU
> experiments from userspace, or if nothing else allows the use of the onboard
> video RAM on an otherwise unused and unrecognized video device. It's
> device-agnostic by design.
>>
>> The way you want do that is using OpenGL to put your data in textures
>> and framebuffer objects, and render them. With KMS, we'll be able to
>> support EGL even on the console so you can do the work without having an
>> X environment set up.
>>
>> The problem with vramfs as a basis for GPU offload is that most GPU
>> tasks end up at some point exceeding the size of available
>> aperture/VRAM. So you need code that manages loading buffer objects in
>> and out on demand, managing the execution pipeline and GPU and CPU
>> caches as required. We have that with GEM already.
>>
>> Remember, writing data to an aperture isn't the hard part of offloading
>> to the GPU, programming the GPU is. That's why you use OpenGL or
>> another abstraction to do it.
>>
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2009-01-28 7:05 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-26 23:20 Jonathan Campbell
2009-01-26 23:36 ` H. Peter Anvin
2009-01-26 23:50 ` Jonathan Campbell
2009-01-29 17:04 ` Peter W. Morreale
2009-01-29 17:30 ` Jonathan Campbell
2009-01-29 17:38 ` H. Peter Anvin
2009-01-30 3:19 ` Jonathan Campbell
2009-01-30 4:46 ` H. Peter Anvin
2009-01-30 5:20 ` Willy Tarreau
2009-01-30 5:25 ` H. Peter Anvin
2009-01-27 2:59 ` Mark Knecht
2009-01-27 4:44 ` Eric Anholt
2009-01-27 17:37 ` Mark Knecht
2009-01-27 21:23 ` Eric Anholt
2009-01-28 6:36 ` Jonathan Campbell
2009-01-28 7:05 ` Dave Airlie [this message]
2009-01-28 9:03 ` Jonathan Campbell
2009-01-28 9:42 ` Dave Airlie
2009-01-27 5:07 ` Jonathan Campbell
2009-01-27 18:18 ` Mark Knecht
[not found] ` <497F60A3.6020608@nerdgrounds.com>
2009-01-27 20:49 ` Mark Knecht
2009-01-27 21:15 ` Jonathan Campbell
2009-01-28 6:59 ` Trent Piepho
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=21d7e9970901272305n6ec9506bodaaae29915f7914b@mail.gmail.com \
--to=airlied@gmail.com \
--cc=eric@anholt.net \
--cc=jon@nerdgrounds.com \
--cc=linux-kernel@vger.kernel.org \
--cc=markknecht@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®