|
|
#1 |
|
One Mind, One Goal
Join Date: Aug 2002
Posts: 4,085
|
Two days ago, Intel released a new version of their open source Linux IGP driver and opened a new website for IGP driver development and discussion. Intel's IGP drivers have been open source for a long time now, but the big news in this new release is the full implementation of Mesa 3D, and therefore OpenGL, for the G965, Intel's next-generation D3D10 IGP. By examining the source code, we have managed to extract some interesting and previously unknown information about this new chip. Here's what we can say about the G965 at the moment:
|
|
|
|
|
|
#2 |
|
One Mind, One Goal
Join Date: Aug 2002
Posts: 4,085
|
And for programmers interested in looking at the Mesa 3D driver source code themselves, it can easily be downloaded through CVS with the following command:
cvs -d :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/mesa checkout Mesa/src/mesa/drivers/dri/i965 Uttar |
|
|
|
|
|
#3 |
|
whoops
Join Date: May 2003
Location: Santa Clara, CA
Posts: 3,266
|
Any chance you could give us some code statistics so I don't have to check it out from CVS? You know, basic stuff like lines of code, number of files, stupid meaningless crap like that?
|
|
|
|
|
|
#5 |
|
Member
Join Date: Dec 2005
Posts: 1,278
|
excellant news
if u dont wanna use CVS u can download the latest stable release of mesa from there website in a single download |
|
|
|
|
|
#6 |
|
One Mind, One Goal
Join Date: Aug 2002
Posts: 4,085
|
|
|
|
|
|
|
#7 |
|
Member
Join Date: May 2003
Posts: 540
|
|
|
|
|
|
|
#9 |
|
One Mind, One Goal
Join Date: Aug 2002
Posts: 4,085
|
There ya go
Code:
static void emit_mad( struct brw_compile *p,
const struct brw_reg *dst,
GLuint mask,
const struct brw_reg *arg0,
const struct brw_reg *arg1,
const struct brw_reg *arg2 )
{
GLuint i;
for (i = 0; i < 4; i++) {
if (mask & (1 << i)) {
brw_MUL(p, dst[i], arg0[i], arg1[i]);
brw_set_saturate(p, (mask & SATURATE) ? 1 : 0);
brw_ADD(p, dst[i], dst[i], arg2[i]);
brw_set_saturate(p, 0);
}
}
}
Code:
static void emit_dp3( struct brw_compile *p,
const struct brw_reg *dst,
GLuint mask,
const struct brw_reg *arg0,
const struct brw_reg *arg1 )
{
assert((mask & WRITEMASK_XYZW) == WRITEMASK_X);
brw_MUL(p, brw_null_reg(), arg0[0], arg1[0]);
brw_MAC(p, brw_null_reg(), arg0[1], arg1[1]);
brw_set_saturate(p, (mask & SATURATE) ? 1 : 0);
brw_MAC(p, dst[0], arg0[2], arg1[2]);
brw_set_saturate(p, 0);
}
|
|
|
|
|
|
#10 |
|
Senior Member
|
I know this part of the code and it looks similar to that part of my own code that I want to use for a D3D10 CPU SSE device. I believe they confusion was based on the definition of vector and scalar ALU/FPU. It seems you are talking about vector ALUs that are working on vector that represented a logical vector like an XYZW or RGBA value. I was talking about vectors of values were the ALU does the same operation for every value in the vector like 16 R values of 16 different pixel.
Anyway it’s interesting seeing that Intel take the same approach like 3DLabs when it comes to shader/program execution. The only thing that surprised me a little bit a first is that they seem to use a 16 channel math unit but a 8 channel general register file. Maybe they can use the 8 32 Bit entry’s there as 16 16 bit values too. Hopefully they will add the new OpenGL extension for the “D3D10 features” soon. But this will require an update for MESA too.
__________________
GPU blog |
|
|
|
|
|
#11 | ||||
|
One Mind, One Goal
Join Date: Aug 2002
Posts: 4,085
|
Quote:
Quote:
Quote:
Quote:
Uttar |
||||
|
|
|
|
|
#12 | ||
|
Senior Member
Join Date: Oct 2002
Posts: 1,297
|
Quote:
(Anyone knows what that omnipresent "brw" abbreviation means?) (edit: D'oh! Broadwater...) Quote:
On paper, I think I really like the gma x3000 so far. Looks like a very flexible architecture. Of course, performance might not be there... (I want a review!!!) Last edited by mczak; 13-Aug-2006 at 21:13. |
||
|
|
|
|
|
#13 |
|
Gamerscore Wh...
Join Date: Jan 2002
Posts: 12,196
|
XPRESS 200 is has a Vector MADD and Vector ADD per pipe, both 3+1.
__________________
Expand. Accelerate. Dominate. ATI Radeon HD 5800 Series Graphics Cards - Designed by the Community |
|
|
|
|
|
#14 | |
|
Senior Member
Join Date: Oct 2002
Posts: 1,297
|
Quote:
(edit: actually that single MAD the gma x300 can do is only a MAC since it looks the ALU only ever takes 2 source and 1 destination argument. Thus the 3rd argument (for the add part) needs to be the same as the destination argument, otherwise you'd need to split a MAD into two instructions.) Last edited by mczak; 14-Aug-2006 at 23:16. |
|
|
|
|
|
|
#15 |
|
Gamerscore Wh...
Join Date: Jan 2002
Posts: 12,196
|
From the sounds of it the ALU's in G965 are tasked with a lot of stuff that other graphics processors have fixed function processors for, which probably explains the speed differential.
__________________
Expand. Accelerate. Dominate. ATI Radeon HD 5800 Series Graphics Cards - Designed by the Community |
|
|
|
|
|
#16 |
|
Mostly Harmless
|
What, unified is slower than fixed function? [geo runs away very quickly, giggling]
__________________
"We'll thrash them --absolutely thrash them."--Richard Huddy on Larrabee "Our multi-decade old 3D graphics rendering architecture that's based on a rasterization approach is no longer scalable and suitable for the demands of the future." --Pat Gelsinger, Intel ". . .its taking us longer than we would have liked to get a [Crossfire game] profiling system out there" --Terry Makedon, ATI, July 2006 "Christ, this is Beyond3D; just get rid of any f**ker talking about patterned chihuahuas! Can the dog write GLSL? No. Then it can f**k off." --Da Boss |
|
|
|
|
|
#18 |
|
Senior Member
Join Date: Oct 2002
Posts: 1,297
|
It is still interesting to see that in terms of functionality intel seems to have the most advanced graphic "chip" (almost) available on the market. Of course it might lack the performance so that the functionality isn't really useable (that is it could be underpowered like a FX5200 was wrt to PS 2.0 functionality to the point applications treat it as older generation part).
|
|
|
|
|
|
#19 | |
|
Senior Member
|
Quote:
__________________
GPU blog |
|
|
|
|
|
|
#20 |
|
Gamerscore Wh...
Join Date: Jan 2002
Posts: 12,196
|
Programmable, at any one thing, is slower than fixed function, yes. Bear in mind that, for the most part, programmable shaders are an addition to the fixed function pipeline, and haven't really replaced that much overall.
__________________
Expand. Accelerate. Dominate. ATI Radeon HD 5800 Series Graphics Cards - Designed by the Community |
|
|
|
|
|
#21 |
|
Member
|
Well, I could throw any one of a number of software renderers on my CPU and say the same thing. It's not just the features that matter, it's the performance.
__________________
Forums are the Opiate of the Masses |
|
|
|
|
|
#22 |
|
Registered
Join Date: Aug 2006
Posts: 1
|
Do you mean this purely in this market segment (ie low end) or am I just buying into the marketing hype at the higher end on the extent to which programmable shaders have taken over much of the traditional pipeline.
|
|
|
|
|
|
#23 |
|
Senior Member
Join Date: Oct 2002
Posts: 1,297
|
Even for something as old as the r200 (radeon 8500), the arithmetic part of fragment programs were replacing the equivalent fixed function functionality (roughly texture environments in opengl) completely in hardware. But that's really all, the rest of the fixed function functionality remained. Even with something like r520 you still have dedicated hardware for things like triangle setup, but this, as Uttar mentioned, seems to be no longer the case for the new intel igp. It not only "simply" unifies vertex and pixel shaders.
Can't say I especially like the idea of the external mathbox though, it kinda goes against the idea of having generic execution units for everything. Edit: actually the G965 still has some fixed function units for things like blending. There is some rough explanation of it at the beginning of brw_context.h: http://cvsweb.freedesktop.org/mesa/M....1&view=markup Last edited by mczak; 15-Aug-2006 at 00:36. |
|
|
|
|
|
#24 | |
|
Senile Member
|
Quote:
That would certainly give your hunch a profound base.
__________________
Have a foot in the Stirrup Last edited by neliz; 21-Aug-2006 at 12:39. |
|
|
|
|
|
|
#25 | |
|
Senior Member
Join Date: Feb 2002
Posts: 1,426
|
Quote:
Aquiring engineers 6 months ago is not enough time for them to make a significant impact on the architecture of a product that should ship soon.
__________________
http://www.3dcgi.com/ Last edited by 3dcgi; 22-Aug-2006 at 02:44. |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|