Some compiler fixes for image tests in the CTS
This is WIP because 3b6fc7bb doesn't fully support that feature - new metadata needs to come in from the runtime to indicate border behavior (fortunately can only be clamp / border / unspecified).
This series:
- Fixes resource limits. Min read-only image args is 128 for CL.
- Correctly sets the 64 UAVs bit.
- Fixes sampler bindings for the case where we have more than one sampler argument (as opposed to literal).
- Supports texture store (UAV write) for integer types
- Supports sampling from integer textures by moving D3D12's pass for this to the common DXIL path. Also changed border clamping to happen in pixel space improve precision (no more -0.1 shift); this actually simplified the code I think. Also fixed bugs related to texture array handling.
- Pass more sampler info in with the configuration so we can output correct border/filter instructions. Corresponding CLOn12 change is here.
- Fixes a few bugs with previous image support changes.
These changes get the test_image_streams.exe test mostly passing. I'm still seeing some minor precision issues (AMD doesn't do our custom border addressing correctly for normalized 1.0 coordinate, fmod appears to produce an out-of-bounds value; WARP produces incorrect linear sampling values for values approaching limits of floating point precision).
/cc @gerddie for the integer coordinate rework. /cc @bbrezillon @daniels for everything else.