Freeing up RSX

It definitely doesn't belong here, but great find! I haven't heard of a secret bridge in Nvidia GPUs of that type, though.

Thanx ;)

Sorry to all...another off topic ... Shifty Gezer if you want please can you put in right place?

I read once that since developers first NV2A used a secret bridge to improve their performance and it seems then I have heard about this "skill" in the Nvidia GPUs.

http://lukasz.dk/mirror/forums.ps2dev.org/viewtopic39ea.html?t=12813
 
Should be moved to the SPU thread. Informative read indeed. That paper doesn't mention anything about secret bridge though.
 
Heh heh,

MLAA bumped the SPU Skinning off...
Amazing how some developers can squeeze multiple subsystems in a game. To be fair, this game runs @ 60fps.

Performance analysis was performed both in the test environment and in the actual title.
The results in the test environment show how well the parallelization increased performance,
and the results from the actual game show what kind of contribution the system gave to
the final product.

6.1 Performance in a stand alone demo

In the test environment the application was almost entirely made up of animations, an
entirely blank background with 16 non-textured characters with 80 bones each, running a
looping animation over and over. The characters were the same kind as the main characters
in the actual game and contained 30428 vertices each which formed 47184 triangles. So
the system would calculate 1280 bone matrices and then deform 486848 vertices. Since
the hardware skinning had not been removed, two meshes could be created, one for each
skinning system. The implementations could then be examined head-to-head in the same
application. With hardware skinning the application ran with 17 fps and with the new
SPU-skinning it ran with 61 fps, so the absolute speedup1 was 358%. As mentioned in the
in-depth study there are 7 guaranteed SPUs on the Playstation 3 one of which is claimed by
the operating system. Another is claimed by a different system running in Gamebryo which
leaves 5 SPUs. So it is clear that each single SPU is not as fast the RSX, but combined they
outperform it. Even when working with a system which goal is to fill the graphics buffer as
fast as possible, work that the RSX was specifically designed for.

6.2 Performance gain in the actual game

When the development of the game started and up until the very last stages of the testing
and performance tweaking, the SPUs where almost not utilized at all. One of the 6 availible
SPUs was allocated by Gamebryo, but the other five where mostly in idle. When the SPUskinning
solution was about to be merged into the game a new fullscreen mlaa2 algorithm
had been implemented which used all the SPUs. The algorithm was originally intended for
a game which runs at lower fps than Coldwood’s title which has to be run at 60 fps for its
advanced physics to work properly. This resulted in that all the SPUs now became occupied almost for the entire frame. There was simply no time to perform skinning for the large
main character models at the same time as the mlaa was running. There where however a
number of smaller models in each scene which could be skinned instead. There was no time
to skin them on the RSX but they had few enough bones and vertices to be skinned next
to the mlaa on the SPUs without creating a stall.

Before the mlaa was introduced the main characters where however for a short while
skinned with the new SPU skinning solution, and a comparison was made between the old
hardware skinning method and the new SPU method for the main characters. The difference
between these actual characters and the versions in the test environment is that in the actual
game the models have textures, normals, binormals, and tangents, which also need to be
deformed. On average the framerate increased from 61.7 fps to 65.25 fps, which is a 5.7%
increase.
 
What exactly do you refer to by "secret bridge"?

A bridge in computer hardware is typically connecting two devices/buses or such, like the PCI-to-PCI bridge found in most chipsets before PCI Express obsoleted good ol' PCI.

I'm at a loss trying to figure out what kind of function this "secret bridge" of yours would fill. Personally I think it sounds bogus, made-up by someone either trying to sound important on a web forum by inventing impressive-sounding buzzwords, and/or a sony f@nboy who wants people to think his beloved PS3 is more powerful and special than it actually is...
 
What exactly do you refer to by "secret bridge"?

A bridge in computer hardware is typically connecting two devices/buses or such, like the PCI-to-PCI bridge found in most chipsets before PCI Express obsoleted good ol' PCI.

I'm at a loss trying to figure out what kind of function this "secret bridge" of yours would fill. Personally I think it sounds bogus, made-up by someone either trying to sound important on a web forum by inventing impressive-sounding buzzwords, and/or a sony f@nboy who wants people to think his beloved PS3 is more powerful and special than it actually is...


As i said before..i have heard about and i wanna know if exist or no,so thanx to enlight me.


Did you read this link i post before? Perhaps we are not talking about a simple "sony fanboy" here.

http://lukasz.dk/mirror/forums.ps2dev.org/viewtopic39ea.html?t=12813

Maybe is just only hype something like that as you said,but (if this really exist) to me its sounds somekind a path(nothing like south and nort bridge,pci in PCB/MOBOs etc) to acess registers,memory map etc. and perhaps goal is linux other OS(not possible today) with direct set to RSX.

See what this guy wrote:

" Goal : Be able to write data to Nv47 outer register from within shader
Tool : Geohot exploit

Currently there are 2 annoying things :
1) Don't know how to play with RSX if fw>2.01 (for that, I have no idea)
2) Unable to declare video ram areas as TILE or ZCOMP (with fw<=2.01)
(would gain the remaining 30% speed we lack compared to game os)

These are hypothetical tips about fixing 2)

Nv2A (xbox1) had a secret 'bridge' between inner and outer registers
(inner ones are the ones you target from within shader, outer one
are MMIO registers, i.e specific memory addresses). See xbox1 pbkit library for more details. I say 'secret' because before finding it I never heard about it. The kind of low level stuff completely hidden by DirectX 8 upper concepts like "fencing".

To activate the 'secret' bridge you had to use 2 inner registers mapped to 2 outer registers. You wrote a register destination in one and a value in the other. Then you would trigger an interruption with a shader opcode.
The interrupt handler would just do a poke at the destination with the value.

On PS3 we can have our own shaders get executed on ps3 with fw<=2.01
but we lack access to MMIO registers and these ones should allow us to declare ZCOMP and TILE areas. If a similar 'secret' bridge exists in PS3, one way to find how it works would be to disassemble the interrupt handler (can it be in HV?) and detect a specific interrupt just poking a value at a destination by reading destination and value from 2 specific MMIO registers (the one linked by hw to the 2 inner registers). Then we could be able to use this bridge ourself to poke values from within our shaders.

But there is a big if...
Geohot's exploit (bravo george!) seems to allow reading and disassembling of code present in memory when Other OS runs.
So there is no warranty that the hypervisor present in memory is the same as the one running under Game OS (I know nothing precise about that). But that's one more reason to disassemble Other OS hypervisor..."
 
Last edited by a moderator:
Back
Top