I'm working on getting gamma correction into my engine. But I'm confused on the D3DX11_FILTER_FLAG in D3DX11_IMAGE_LOAD_INFO. The relevant flags are:
D3DX11_FILTER_SRGB_IN: Input data is in standard RGB (sRGB) color space.
D3DX11_FILTER_SRGB_OUT: Output data is in standard RGB (sRGB) color space.
So if my image on disk is sRGB and I want the texture to be sRGB (and the hardware will convert to linear when sampled), I specify both D3DX11_FILTER_SRGB_IN | D3DX11_FILTER_SRGB_OUT, and an sRGB texture format.
However, if my image on disk is sRGB and I specified only D3DX11_FILTER_SRGB_IN, and a non-sRGB texture format, then wouldn't give the same results? It would convert sRGB to linear during load? Then the hardware wouldn't need to do any conversion?
What would be the difference if any?