1.0 / 256 is in between texel 0 and 1, and due to round-to-nearest-even it selects texel 0. Are you getting different behavior with the reference rasterizer? Does 1.01 / 256 get you texel 1?
I think it's not round to nearest even. I'm not sure, but I have a little program that does 2 type of precision tests:
Fetched texel precision,
Texture coordinate precision.
Here the my source code(6kb) don't know if it helps:
http://www.freefilehosting.net/gpuprecisiontest
Textue coordinate rounding for reference and recent NVidia/AMD GPUs all similar to (assuming texture width of 256):
[0, 1/256), [1/256, 2/256), [2/256, 3/256),...where "[": inclusive and ")": exclusive.
Actually no, SwiftShader behaves a bit different.
for REF:
8bit average error: 0.000000e+000
10bit average error: 0.000000e+000
16bit average error: 0.000000e+000
I8 Texcorrd offset near 0[0]: 0.000000e+000
I8 Texcorrd offset near 255/256[0]: -2.980232e-008
for NVIDIA: (pretty bad precision for INT10)
8bit average error: 0.000000e+000
10bit average error: 1.855369e-009
16bit average error: 0.000000e+000
I8 Texcorrd offset near 0[0]: 0.000000e+000
I8 Texcorrd offset near 255/256[0]: -2.980232e-008
for Swift:
8bit average error: -9.469659e-009
10bit average error: 1.676381e-008
16bit average error: 1.164153e-010
I8 Texcorrd offset near 0[0]: -1.525879e-005
I8 Texcorrd offset near 255/256[0]: -2.980232e-008
Old AMD gpus(HD3200) which is worse in terms of texcoord rounding
8bit average error: 0.000000e+000
10bit average error: 0.000000e+000
16bit average error: 0.000000e+000
I8 Texcorrd offset near 0[0]: -1.221001e-004
I8 Texcorrd offset near 255/256[0]: -1.221001e-004
New AMD gpus (): best of all above HW, only slight imperfect.
ATI Mobility Radeon HD 5600/5700 Series
8bit average error: 0.000000e+000
10bit average error: 0.000000e+000
16bit average error: 0.000000e+000
I8 Texcorrd offset near 0[0]: -1.192046e-007
I8 Texcorrd offset near 255/256[0]: -2.980232e-008
Why I said there's -1/65536 for Swift is because of the offset found by the program: -1.525879e-005.
I would like to see a software render likes SwiftShader getting better not only in terms of speed but matches GPU's precision. I actually quite amazed by any attempt to make software renderer better.