[Mesa-dev] Second derivatives and ARB_derivative_control

Ilia Mirkin imirkin at alum.mit.edu
Tue Aug 12 12:08:12 PDT 2014


Hello,

I was looking at the ARB_derivative_control spec and it has this bit:

    "It is typical to consider a 2x2 square of fragments or samples, and
    compute independent dFdxFine per row and independent dFdyFine per column,
    while computing only a single dFdxCoarse and a single dFdyCoarse for the
    entire 2x2 square. Thus, all second-order coarse derivatives, e.g.,
    dFdxCoarse(dFdxCoarse(x)), may be 0, even for non-linear arguments.
    However, second-order fine derivatives, e.g., dFdxFine(dFdxFine(x))
    will properly reflect the difference between the independent fine
    derivatives computed within the 2x2 square."

The first bit makes sense -- only one dFdxFine value is computed per
row. However then they go on to second derivatives... that can't
possibly work, right? dFdyFine(dFdxFine(x)) would work, since each row
would have a different dFdxFine(x) value, but not
dFdxFine(dFdxFine(x)). Is this a spec bug, or is one supposed to reach
outside of the current 2x2 square?

  -ilia


More information about the mesa-dev mailing list