The purpose of this page is to describe and document the development of a next generation framebuffer driver for the ps3
The ps3 otheros(linux) suffers from a huge lack of users compared to the amount of consoles out there as well as a huge lack of development interest. We hope to give users a greater experience and flexibility by improving support for desktop enviroments as well as video playback. By providing this interface we also provide the ability to develop code on the ps3 trough IDE’s and similar tools. This will hopefully give a more rapid production and test enviroment for cell(spu) developers wanting to take a peak at the unique cpu architecture the ps3 provides in its cell processor.
under development
A GPU Command is made up from the following pieces
ps3rsxfb_begin_ring(priv, chan, tag, size)
ps3rsxfb_out_ring(priv, data)
Once this setup is completed it should be possible to use these tags/channels
| Name | TAG | Channel | Size |
|---|---|---|---|
| SURFACE_FORMAT | 0×00000300 | 0×00 | 4 |
| PATTERN_FORMAT | 0×00000300 | 0×02 | 1 |
| LINE_FORMAT | 0×00000300 | 0×04 | 1 |
| RECT_FORMAT | 0×00000300 | 0×06 | 1 |
| CLIPPING_RECT | 0×00000300 | 0×03 | 2 |
| Name | TAG | Channel | Size |
|---|---|---|---|
| SURFACE_FORMAT | 0×00000300 | 0×00 | 4 |
| Reg | Content | ||
| R1 | format_type | ||
| R2 | line_length«16 (or) line_length | ||
| R3 | unused | ||
| R4 | unused |
| Name | TAG | Channel | Size |
|---|---|---|---|
| PATTERN_FORMAT | 0×00000300 | 0×02 | 1 |
| Reg | Content | ||
| R1 | pattern_format |
| Name | TAG | Channel | Size |
|---|---|---|---|
| RECT_FORMAT | 0×00000300 | 0×06 | 1 |
| Reg | Content | ||
| R1 | rect_format |
| Name | TAG | Channel | Size |
|---|---|---|---|
| LINE_FORMAT | 0×00000300 | 0×04 | 1 |
| Reg | Content | ||
| R1 | line_format |
| Name | TAG | Channel | Size |
|---|---|---|---|
| CLIPPING_RECT | 0×00000300 | 0×03 | 2 |
| Reg | Content | ||
| R1 | y«16 (or) x | ||
| R2 | height«16 (or) width |
First setup the color
| Name | TAG | Channel | Size |
|---|---|---|---|
| RECT_SOLID_COLOR | 0x000003FC | 0×06 | 1 |
| Reg | Content | ||
| R1 | color |
Then we can paint some rects with the color
| Name | TAG | Channel | Size |
|---|---|---|---|
| RECT_SOLID_RECTS | 0×00000400 | 0×06 | 2 |
| Reg | Content | ||
| R1 | dy«16 (or) dx | ||
| R2 | height«16 (or) width |