Boxis R700 User Manual Page 47

  • Download
  • Add to my manuals
  • Print
  • Page
    / 392
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 46
ATI R700 Technology
Conditional Execution 3-11
Copyright © 2009 Advanced Micro Devices, Inc. All rights reserved.
These instructions use the CF_DWORD[0,1] microcode formats and can be
executed only by a GS program; they are invalid in other programs.
3.6 Conditional Execution
The remaining CF instructions include conditional execution and manipulation of
the branch-loop states. The following subsections describes how conditional
executions operate and describe the specific instructions.
3.6.1 Valid and Active Masks
Every element in the three bits that specify its state associated can be
manipulated by a program.
a one-bit valid mask and a 2-bit per-pixel state. The valid mask is set for any
pixel that is covered by the original primitive and has not been killed by an
ALU KILL operation.
a two-bit per-pixel state that reflects the pixel’s active status as conditional
instructions are executed; it can take on the following states:
Active: The pixel is currently executing.
Inactive-branch: The pixel is inactive due to a branch (ALU PRED_SET*)
instruction.
Inactive-continue: The pixel is inactive due to a ALU_CONTINUE instruction
inside a loop.
Inactive-break: The pixel is inactive due to a ALU_BREAK instruction inside
a loop.
Once the valid mask is cleared, it can not be restored. The per-pixel state can
change during the lifetime of the program in response to conditional-execution
instructions. Pixels that are invalid at the beginning of the program are put in one
of the inactive states and do not normally execute (but they can be explicitly
enabled, see below). Pixels that are killed during the program maintain their
current active state (but they can be explicitly disabled, see below).
Branch-loop instructions can push the current pixel state onto the stack. This
information is used to restore the pixel state when leaving a loop or conditional
instruction block. CF instructions allow conditional execution in one of the
following ways:
Perform a condition test for each pixel based on current processor state:
The condition test determines which pixels execute the current
instruction, and per-pixel state is unmodified, or
The per-pixel state is modified; pixels that pass the condition test are put
into the active state, and pixels that fail the condition test are put into one
of the inactive states, or
If at least one pixel passes, push the current per-pixel state onto the
stack, then modify the per-pixel state based on the results of the test. If
Page view 46
1 2 ... 42 43 44 45 46 47 48 49 50 51 52 ... 391 392

Comments to this Manuals

No comments