Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/surface.c:
}
+void get_aligned_rect(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom, uint32_t width, uint32_t height,
const struct pixel_format_desc *fmt_desc, RECT *aligned_rect)
+{
- SetRect(aligned_rect, left, top, right, bottom);
- if (aligned_rect->left & (fmt_desc->block_width - 1))
aligned_rect->left = aligned_rect->left & ~(fmt_desc->block_width - 1);
- if (aligned_rect->top & (fmt_desc->block_height - 1))
aligned_rect->top = aligned_rect->top & ~(fmt_desc->block_height - 1);
- if (aligned_rect->right & (fmt_desc->block_width - 1) && aligned_rect->right != width)
aligned_rect->right = min((aligned_rect->right + fmt_desc->block_width - 1)
& ~(fmt_desc->block_width - 1), width);
- if (aligned_rect->bottom & (fmt_desc->block_height - 1) && aligned_rect->bottom != height)
aligned_rect->bottom = min((aligned_rect->bottom + fmt_desc->block_height - 1)
& ~(fmt_desc->block_height - 1), height);
I realize this is my own code (which I kind of hate right now :sweat_smile:), but do you happen to know a practical case where these `min()` are needed? I suspect they are effectively unnecessary, but also not something that this MR should care about.