MCPcopy Create free account
hub / github.com/RenderKit/embree / getProperty

Method getProperty

kernels/common/device.cpp:435–603  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

433 }
434
435 ssize_t Device::getProperty(const RTCDeviceProperty prop)
436 {
437 size_t iprop = (size_t)prop;
438
439 /* get name of internal regression test */
440 if (iprop >= 2000000 && iprop < 3000000)
441 {
442 RegressionTest* test = getRegressionTest(iprop-2000000);
443 if (test) return (ssize_t) test->name.c_str();
444 else return 0;
445 }
446
447 /* run internal regression test */
448 if (iprop >= 3000000 && iprop < 4000000)
449 {
450 RegressionTest* test = getRegressionTest(iprop-3000000);
451 if (test) return test->run();
452 else return 0;
453 }
454
455 /* documented properties */
456 switch (prop)
457 {
458 case RTC_DEVICE_PROPERTY_VERSION_MAJOR: return RTC_VERSION_MAJOR;
459 case RTC_DEVICE_PROPERTY_VERSION_MINOR: return RTC_VERSION_MINOR;
460 case RTC_DEVICE_PROPERTY_VERSION_PATCH: return RTC_VERSION_PATCH;
461 case RTC_DEVICE_PROPERTY_VERSION : return RTC_VERSION;
462
463#if defined(EMBREE_TARGET_SIMD4) && defined(EMBREE_RAY_PACKETS)
464 case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED: return hasISA(SSE2);
465#else
466 case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED: return 0;
467#endif
468
469#if defined(EMBREE_TARGET_SIMD8) && defined(EMBREE_RAY_PACKETS)
470 case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: return hasISA(AVX);
471#else
472 case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: return 0;
473#endif
474
475#if defined(EMBREE_TARGET_SIMD16) && defined(EMBREE_RAY_PACKETS)
476 case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return hasISA(AVX512);
477#else
478 case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return 0;
479#endif
480
481#if defined(EMBREE_RAY_MASK)
482 case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 1;
483#else
484 case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 0;
485#endif
486
487#if defined(EMBREE_BACKFACE_CULLING)
488 case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 1;
489#else
490 case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 0;
491#endif
492

Callers 1

rtcGetDevicePropertyFunction · 0.80

Calls 4

getRegressionTestFunction · 0.85
hasISAFunction · 0.50
c_strMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected