38,8 → 38,11 |
|
#define DIV_ROUND_UP(x, y) (((x) + (y) - 1) / (y)) |
#define max_t(type, x, y) ((x) > (y) ? (x) : (y)) |
#define min_t(type, x, y) ((x) < (y) ? (x) : (y)) |
#define surf_size_struct SVGA3dSize |
#define u32 uint32 |
#define u64 uint64_t |
#define U32_MAX ((u32)~0U) |
|
#endif /* __KERNEL__ */ |
|
704,8 → 707,8 |
|
static inline u32 clamped_umul32(u32 a, u32 b) |
{ |
uint64_t tmp = (uint64_t) a*b; |
return (tmp > (uint64_t) ((u32) -1)) ? (u32) -1 : tmp; |
u64 tmp = (u64) a*b; |
return (tmp > (u64) U32_MAX) ? U32_MAX : tmp; |
} |
|
static inline const struct svga3d_surface_desc * |
834,7 → 837,7 |
bool cubemap) |
{ |
const struct svga3d_surface_desc *desc = svga3dsurface_get_desc(format); |
u32 total_size = 0; |
u64 total_size = 0; |
u32 mip; |
|
for (mip = 0; mip < num_mip_levels; mip++) { |
847,7 → 850,7 |
if (cubemap) |
total_size *= SVGA3D_MAX_SURFACE_FACES; |
|
return total_size; |
return (u32) min_t(u64, total_size, (u64) U32_MAX); |
} |
|
|