Fix overwriting of filter factor
Fix overwriting of filter factor

The third coordinate of the 2D sampling code is only used for 2D array
textures, so we don't compute a filter factor. This used to be taken
advantage of by passing the filter factor of the second coordinate to
the addressing method for the third coordinate, and ensuring that the
addressing mode of this component was ADDRESSING_LAYER even for non-
array textures.

Instead of relying on this brittle hack, just specify a third filter
factor. Now that we elide materialization of single-block variables,
this doesn't take any stack space and is zero overhead to the backend.

Bug: b/129523279
Change-Id: Iee6b0f90bf1cc4ccc41672d3bdb706ff5af0a555
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30548
Presubmit-Ready: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Tested-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Chris Forbes <c3279c50043e18e9442c1ae071cafa0e7a4ca967@google.com>

bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader,google/swiftshader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,bkaradzic/SwiftShader