This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Questions about earlyz

  1. Even if the drawcall of the alpha test is occluded, the occluded part of the fragments will not be rejected by earlyz, right? Because the alpha test will make the whole drawcall use late z? How about the earlyz of subsequent drawcalls? Can they use the z of previous alpha test drawcall to reject fragments by earlyz?
  2. Drawcall 2 follows drawcall 1. When drawcall 1 has alpha test or z is changed, drawcall 2 will work according to which of the following methods:
    1. Drawcall 2 has been waiting for the end of drawcall 1 and updating z before starting the process
    2. Drawcall 2 does not wait for the end of drawcall 1 to start immediately, but will use latez instead of earlyz
    3. Drawcall 2 uses earlyz, but only compares with the z of the drawcalls before drawcall 1 (provided that the z direction is not changed)
  • Even if the drawcall of the alpha test is occluded, the occluded part of the fragments will not be rejected by earlyz, right? Because the alpha test will make the whole drawcall use late z?

    Early ZS is two separable operations - test and update. Geometry with a fixed depth and variable coverage can do an early test, but must do a late update. 

    How about the earlyz of subsequent drawcalls? Can they use the z of previous alpha test drawcall to reject fragments by earlyz?

    I can't really disclose how the hardware works internally - all of the options that you mention are valid options for dependent ZS operations. 

    Kind regards, 
    Pete