Page 1 of 1

Questions regarding Blitter documentation.

Posted: Mon Feb 24, 2014 4:28 am
by a31chris
averybluemonkey wrote: After the rather nice GPU documentation, the Blitter section is making my head hurt. If anyone is able to shed some light on these initial questions I would be really grateful:

(1) Earlier in the documentation the use of the word "phrase" had been to signify something of size 64bits, however in the Blitter documentation it's used in a number of places such as the 'Pitch' definition on page 70 and the 'A2 Flags Register' definition on page 72 in a way that makes me think this isn't the case. As far as the Blitter section of the documentation is concerned is the definition of the word "phrase" meant to be equal to the pixel size and therefore dependent on how you configure the flags register for that operation?

(2) On page 70 the "Pitch" definition seems a bit nonsensical.
(i)"The distance between two successive phrases of pixels is given by two to the power of this value" - 2 to the power of what - normally I would assume bytes but based on the next sentences does it mean phrases?

(ii)"2 means 3 phrase gaps" - so in memory could this look like the following, for example:
[first framebuffer pixel 0] [second framebuffer pixel 0] [third framebuffer pixel 0] [z buffer pixel 0]
[first framebuffer pixel 1] [second framebuffer pixel 1] [third framebuffer pixel 1] [z buffer pixel 1]
[first framebuffer pixel n] [second framebuffer pixel n] [third framebuffer pixel n] [z buffer pixel n]

(iii) "but 3 means 2 phrase gaps" - is this correct and not a typo? If so it seems strange not to just use 0=0, 1=1, 2=2 and 3=3

(4) Any good examples kicking around from the devkit days showing more uses of the Blitter beyond the 5 examples at the back of the section?

Once again, thanks to anyone who can help answer these.

Re: Questions regarding Blitter documentation.

Posted: Mon Feb 24, 2014 4:30 am
by a31chris
Thunderbird wrote:
The possible pitch values equate to

0 = 1 Phrase (contiguous data)
1 = 2 Phrases (every other phrase)
2 = 4 Phrases
3 = 3 Phrases

3 is a special case. In the prototype blitter, this value was 8 phrases, but it was suggested that the value of 3 would be incredibly useful as it would allow two frame buffers to interleave with the z buffer data, so the blitter design was modified to change the encoding for 8 phrases to become 3 phrases.

But in reality,a lot of these weird thing in the jag were not well documented and nobody could help with them, so what we did was just TRY all 4 values and see what they did. If one value did what we needed, then we used it without worrying about why it worked or why the documentation was wrong. If it was an obvious typo in the docs, we would report it but nothing much happened to our reports. We didn't spend a lot of time trying to figure out why the documentation or examples were wrong.