Merge branch 'blender-v4.2-release'

This commit is contained in:
Xavier Hallade 2024-07-03 14:03:37 +02:00
commit 275b6ee008
2 changed files with 33 additions and 6 deletions

@ -670,7 +670,14 @@ bool OneapiDevice::create_queue(SyclQueue *&external_queue,
external_queue = reinterpret_cast<SyclQueue *>(created_queue);
# ifdef WITH_EMBREE_GPU
if (embree_device_pointer) {
*((RTCDevice *)embree_device_pointer) = rtcNewSYCLDevice(created_queue->get_context(), "");
RTCDevice *device_object_ptr = reinterpret_cast<RTCDevice *>(embree_device_pointer);
*device_object_ptr = rtcNewSYCLDevice(created_queue->get_context(), "");
if (*device_object_ptr == nullptr) {
finished_correct = false;
oneapi_error_string_ =
"Hardware Raytracing is not available; please install "
"\"intel-level-zero-gpu-raytracing\" to enable it or disable Embree on GPU.";
}
}
# else
(void)embree_device_pointer;
@ -1072,7 +1079,27 @@ std::vector<sycl::device> available_sycl_devices()
filter_out = true;
}
/* if not already filtered out, check driver version. */
if (!filter_out) {
bool check_driver_version = !filter_out;
/* We don't know how to check driver version strings for non-Intel GPUs. */
if (check_driver_version &&
device.get_info<sycl::info::device::vendor>().find("Intel") == std::string::npos)
{
check_driver_version = false;
}
/* Because of https://github.com/oneapi-src/unified-runtime/issues/1777, future drivers
* may break parsing done by a SYCL runtime from before the fix we expect in major
* version 8. Parsed driver version would start with something different than current
* "1.3.". To avoid blocking a device by mistake in the case of new driver / old SYCL
* runtime, we disable driver version check in case LIBSYCL_MAJOR_VERSION is below 8 and
* actual driver version doesn't start with 1.3. */
# if __LIBSYCL_MAJOR_VERSION < 8
if (check_driver_version &&
!string_startswith(device.get_info<sycl::info::device::driver_version>(), "1.3."))
{
check_driver_version = false;
}
# endif
if (check_driver_version) {
int driver_build_version = parse_driver_build_version(device);
if ((driver_build_version > 100000 &&
driver_build_version < lowest_supported_driver_version_win) ||

@ -185,19 +185,19 @@ class DATA_PT_EEVEE_light_influence(DataButtonsPanel, Panel):
col = layout.column(align=True)
sub = col.column(align=True)
sub.active = ob.visible_diffuse
sub.active = ob is None or ob.visible_diffuse
sub.prop(light, "diffuse_factor", text="Diffuse")
sub = col.column(align=True)
sub.active = ob.visible_glossy
sub.active = ob is None or ob.visible_glossy
sub.prop(light, "specular_factor", text="Glossy")
sub = col.column(align=True)
sub.active = ob.visible_transmission
sub.active = ob is None or ob.visible_transmission
sub.prop(light, "transmission_factor", text="Transmission")
sub = col.column(align=True)
sub.active = ob.visible_volume_scatter
sub.active = ob is None or ob.visible_volume_scatter
sub.prop(light, "volume_factor", text="Volume Scatter", text_ctxt=i18n_contexts.id_id)