Back

Priority

For each screen pixel, each of the eight graphics layers provides the following data:

separate this into the data (color,alpha) vs the selectors (enable,prio,blend mode)

The Color Id and Alpha Select may placed into the Priority Table, which has 16 rows (indexed by the Priority Value; higher values are above lower values) and 2 columns (selected by the Blend Mode, if Enable is set).  this part is too terse. also we need to make it clear that a value can be placed in multiple columns, or neither, but always one priority row. unless priority is 0. also we should describe the format of each priority cell: color id, alpha select, invalid bit, filled bit (i think its likely that these fields are correct since it's 16 bits total)

If more than one value is placed in the same cell, it is marked as invalid, and will contribute the background colorand alpha select? if chosen. (note how this means the order that the layers are processed in doesn't matter)

We call the priority table columns "half-pixels", and refer to them as "A" and "B".  we wait too long to say half pixel. either put it up front or drop the term. The highest non-empty cell in each column will be chosen to move on to the next step of the pipeline, which takes two "half-pixels" as input. if no cell is found? do we go with "background layer always fills priority row 0"? or say that row 0 doesnt exist and that bg color is just a fallback value incase no valid value is found

(may not be in scope) after we pick these, we look up their alpha values. (based on the column index and alpha select)
then, we send this data (the color index and alpha value) out of the fdp.

we have to mention shadow mode somewhere. this happens within the priority table, as special circuitry between adjacent layers which is activated if the shadow bit is set.