TVP4020
Programmers Reference Manual
Memory I/O and Organization
35
to the buffer swap. Secondly, once a command has been loaded into the
input FIFO the host is free to continue with other work, while P
ERMEDIA
executes the command. Accesses to the
ScreenBase register bypass
the FIFO so it is possible for the host to update it, and for the buffer
swap to happen, before P
ERMEDIA
has completed rendering the last
frame.
The P
ERMEDIA
includes the SuspendUntilFrameBlank command to solve
these problems without the need for the host synchronizing with
P
ERMEDIA
. Here is the preferred version of the above example:
SuspendUntilFrameBlank(parameters) // display buffer 0
FBPixelOffset = Buf1_Offset
// draw to buffer 1 now
Render Commands
// draw next frame
SuspendUntilFrameBlank(parameters) // display buffer 1
FBPixelOffset = 0
// draw to buffer 0 now
Render Commands
// draw next frame
The SuspendUntilFrameBlank command will flush all outstanding reads
and writes to the framebuffer, and will prevent any further framebuffer
memory accesses until after the buffers have been swapped.
The data that is loaded into the SuspendUntilFrameBlank command
enables P
ERMEDIA
to swap the buffers automatically when the VBLANK
occurs by loading a new buffer offset into the
ScreenBase register as
discussed above. For full details, see the detailed description in the
register reference, Appendix A.
Thus a single command register access ensures that:
•
all rendering has completed to the back buffer
•
the chip will wait for VBLANK before carrying out the swap
•
the host can continue sending rendering commands to P
ERMEDIA
without risk of them affecting the displayed buffer.
As a general performance note, it is best to send non-framebuffer
related commands to P
ERMEDIA
following the SuspendUntilFrameBlank
command. This allows better overlap between the host and P
ERMEDIA
. In
general any commands that will not cause rendering to the framebuffer
to occur can be queued in the P
ERMEDIA
FIFO before waiting on
VBLANK.
Eventually more framebuffer rendering commands will be sent by the
host, and the P
ERMEDIA
will then stall its hyperpipeline until the buffer
swap completes. Ideally the host should use this time to perform non-
rendering operations e.g. prepare additional DMA buffers
Using this scheme the host will not normally ever need to wait for
VBLANK, unless it is making framebuffer memory accesses through the
bypass.
Содержание TVP4020 PERMEDIA 2
Страница 1: ...Texas Instruments TVP4020 PERMEDIA 2 Programmer s Reference Manual Issue 4 ...
Страница 47: ...Memory I O and Organization TVP4020 Programmers Reference Manual 38 Texture address TextureBaseAddress T W S ...
Страница 284: ...TVP4020 Programmers Reference Manual A Gouraud Shaded Triangle 275 ...
Страница 292: ...TVP4020 Programmers Reference Manual Register Tables 283 ...
Страница 314: ...TVP4020 Programmers Reference Manual Index 305 ...
Страница 315: ...Index TVP4020 Programmers Reference Manual 306 Index ...
Страница 323: ...Index TVP4020 Programmers Reference Manual 314 ...