Changeset 96561 in vbox for trunk/src/VBox/Additions/3D/mesa
- Timestamp:
- Aug 31, 2022 3:09:32 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/gallium/auxiliary/tgsi/tgsi_exec.c
r96488 r96561 451 451 const union tgsi_exec_channel *src) 452 452 { 453 #if defined(IPRT_NO_CRT) && defined(_MSC_VER) 454 /* The micro_flr use in exec_exp is optimized into a __vdecl_floorf4 call, 455 which the no-CRT library doesn't implement. There is some vectorization 456 taking place in the file (now 102 hits, 264 misses), but this one is the 457 only one resulting in calling an external helper it seems. 458 459 We could just use /Os (optimize for size) to disable all of it, however 460 that's not very desirable. 461 462 Only found the #pragma loop(no_vector) incantation to selectively 463 controlling this optimization. However, that one needs an actual loop to 464 work, only here the compiler is detecting an implicit loop. So, it won't 465 work without changing the code. The stupid loop below does the trick even 466 without the #pragma (1303: too few loop iterations). */ 467 # pragma loop(no_vector) 468 for (unsigned i = 0; i < 4; i++) 469 dst->f[i] = floorf(src->f[i]); 470 #else 453 471 dst->f[0] = floorf(src->f[0]); 454 472 dst->f[1] = floorf(src->f[1]); 455 473 dst->f[2] = floorf(src->f[2]); 456 474 dst->f[3] = floorf(src->f[3]); 475 #endif 457 476 } 458 477
Note:
See TracChangeset
for help on using the changeset viewer.