DPCT1074#

Message#

The SYCL Image class does not support some of the flags used in the original code. Unsupported flags were ignored. Data read from SYCL Image could not be normalized as specified in the original code.

Detailed Help#

Data read from SYCL* image cannot be normalized to a float in the range of (0, 1] using the standard SYCL API. All flags used in the original code are ignored, except coordinate normalization mode.

Suggestions to Fix#

Adjust the code manually.

For example, this original CUDA* code:

1  cuSetTexFlags(tex, CU_TRSF_NORMALIZED_COORDINATES); // Need manually fix the read code if the flag CU_TRSF_READ_AS_INTEGER is unset.
2  ...
3  result = tex2D(tex, 0.5f, 0.5f);

results in the following migrated SYCL code:

1  tex.set(sycl::coordinate_normalization_mode::normalized);
2  ...
3  result = tex.read(0.5f, 0.5f); // data normalization does not match original code

which is manually adjusted to:

1  tex.set(sycl::coordinate_normalization_mode::normalized);
2  ...
3  result = normalization(tex.read(0.5f, 0.5f)); // Implement the function "normalization" to normalize the result data as required.