Phoronix Forums  

Go Back   Phoronix Forums > Linux Graphics / X.Org Drivers > VIA / S3 Graphics Linux

VIA / S3 Graphics Linux Technical support and discussion of the open-source VIA strategy and Linux drivers. The discussion of S3 Graphics is also recommended for this forum.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-17-2009, 12:40 PM
phoronix phoronix is offline
Phoronix News Bot
 
Join Date: Jan 2007
Posts: 3,103
Default Tungsten's New VIA DRM, Mesa Driver Published

Phoronix: Tungsten's New VIA DRM, Mesa Driver Published

Earlier this month we shared that Tungsten Graphics was creating a new VIA 3D stack for one of their clients. This new work has many improvements over the current Mesa and DRM code both on the technical level as well when it comes to what's supported for use by end-users...

http://www.phoronix.com/vr.php?view=NzAwMQ
Reply With Quote
  #2  
Old 01-17-2009, 01:20 PM
NeoBrain NeoBrain is offline
Senior Member
 
Join Date: Dec 2007
Location: Germany
Posts: 295
Default

Eh, so they're still using their own TTM instead of GEM?
Doesn't sound very sensefull to me, what about KMS and DRI2?
Reply With Quote
  #3  
Old 01-17-2009, 02:20 PM
russofris russofris is offline
Junior Member
 
Join Date: Jan 2009
Posts: 23
Default

Quote:
Originally Posted by NeoBrain View Post
Eh, so they're still using their own TTM instead of GEM?
Doesn't sound very sensefull to me, what about KMS and DRI2?
Since TG developed TTM, and since development likely began prior to the kernel adoption of GEM, this is expected. I expect that the Gallium driver (when complete) will use the GEM API, but still keep the TTM MM backend.

The value of GEM lays in it's API. The current GEM MM backend is only suitable for Intel UMA hardware. This is not to say that you 'cannot' write a discreet backend MM for GEM, it's just that everyone already has the TTM bits 50-90% finished.

It's actually nice that GEM and TTM can live together.

F
Reply With Quote
  #4  
Old 01-17-2009, 04:47 PM
bugmenot bugmenot is offline
Senior Member
 
Join Date: Nov 2007
Posts: 363
Default

Quote:
Removing old unused stuff, cleaning up the interface and adding integrated memory manager functionality and command submission in the form of the new TTM
implementation.
I don't really get what going on with GEM/TTM. TTM was there, intel says "oh, thats to complex, that's overkill!" and they wrote GEM. But GEM is actually only compatible to intel hardware. Now there is a *new TTM*. Thats just great.

I don't get how this works: Does TG create a new TTM that can go into the linux kernel and that is used by radeon and radeonhd and the via driver? And what does this GEM-fied TTM mean? How does that work?

Sorry for the silly questions. :$
Reply With Quote
  #5  
Old 01-17-2009, 10:48 PM
TechMage89 TechMage89 is offline
Senior Member
 
Join Date: Jul 2007
Posts: 310
Default

OK, regarding the TTM/GEM thing, this is how it went:

-Tungsten Graphics, who is in the buisness of writing graphics drivers for hardware companies, develops TTM, an API and framework for graphics memory management.

-The developers of other drivers decide that TTM can make a good driver and begin work based on it.

-Linus Torvalds reminds the devs that any API merged into the kernel *must* be stable.

-The devs realize the TTM API is very complex, and furthermore, much of it isn't used by any drivers except proprietary ones developed by TG. Therefore, it would be very hard to maintain and keep the *entire* TTM API stable.

-Intel pulls out GEM for their drivers which uses a simple, clean API and Intel-specific innards.

-The devs decide that they like the GEM API, and it should be easy to keep stable (as Linus Torvalds has required), so they adapt the TTM framework (which is already mostly developed) to work with the GEM API.


Basically, the devs have said regarding GEM "Once the API is stable, the internals can change." Basically meaning that their main concern is getting a stable memory management API out there and each do their own thing (mostly based on TTM) for the internals, to make it easier to keep the API stable.
Reply With Quote
  #6  
Old 01-17-2009, 10:48 PM
russofris russofris is offline
Junior Member
 
Join Date: Jan 2009
Posts: 23
Default

Quote:
Originally Posted by bugmenot View Post
I don't get how this works: Does TG create a new TTM that can go into the linux kernel and that is used by radeon and radeonhd and the via driver? And what does this GEM-fied TTM mean? How does that work?

Sorry for the silly questions. :$
GEM and TTM have two functions. Manage memory (how to allocate it, prioritize it, and move its contents from one region to another), and provide the user/applications access to that memory through an API. It should make litle difference to end users and app developers which backend driver developers use, as long as the API is the same.

F
Reply With Quote
  #7  
Old 01-17-2009, 11:10 PM
Ze.. Ze.. is offline
Junior Member
 
Join Date: Oct 2007
Posts: 27
Default

Quote:
Originally Posted by bugmenot View Post
I don't get how this works: Does TG create a new TTM that can go into the linux kernel and that is used by radeon and radeonhd and the via driver? And what does this GEM-fied TTM mean? How does that work?
What happened with GEM is that once it was started , it changed from purely intel into a more generic framework , that graphics memory managers can build on. It's very simple , so GEM-fied TTM is where they take the low level TTM building blocks and replace them with GEM ones but still with TTM on top.
Reply With Quote
  #8  
Old 01-18-2009, 01:33 AM
bridgman bridgman is offline
AMD Linux
 
Join Date: Oct 2007
Posts: 3,477
Default

I think it's the other way round. GEM on top (the exposed API) but the low level building blocks are mostly TTM.
Reply With Quote
  #9  
Old 01-18-2009, 03:59 AM
Ze.. Ze.. is offline
Junior Member
 
Join Date: Oct 2007
Posts: 27
Default

Quote:
Originally Posted by bridgman View Post
I think it's the other way round. GEM on top (the exposed API) but the low level building blocks are mostly TTM.
That would involve having TTM as the base in the kernel instead of GEM. One of the primary differences from memory about GEM vs TTM is that GEM has nowhere near as many assumptions and and a lot less locks , this makes it much simpler and thus more attractive to the kernel developers.
Reply With Quote
  #10  
Old 01-18-2009, 05:38 AM
bugmenot bugmenot is offline
Senior Member
 
Join Date: Nov 2007
Posts: 363
Default

Thanks for the answers everyone!

But one last question: The GEM is in the kernel and works atm only for intel cards. I don't see GEM in the kernel changing, so does that mean that the drivers, that are ready to use TTM, change, that they can use GEM, but in fact they use internally still TTM?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 01:43 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Copyright ©2004 - 2009 by Phoronix Media.