Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/surface.c:
dst->range = RANGE_FULL;
break;
- case FORMAT_ARGB:
- case FORMAT_INDEX:
dst->range = RANGE_UNORM;
break;
- default: /* Shouldn't pass FORMAT_DXT/FORMAT_UNKNOWN into here. */
assert(0);
break;
- }
- for (c = 0; c < 4; ++c) { static const unsigned int component_offsets[4] = {3, 0, 1, 2};
float *dst_component = (float *)dst + component_offsets[c];
float *dst_component = ((float *)&dst->value) + component_offsets[c];
```suggestion:-0+0 float *dst_component = &dst->value.x + component_offsets[c]; ```