[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