[vlc-commits] [Git][videolan/vlc][master] 3 commits: d3d11_scaler: mark Intel Super Resolution detection as not possible

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Sun Mar 24 04:55:55 UTC 2024



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
12511587 by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: mark Intel Super Resolution detection as not possible

- - - - -
6a5b788c by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: fix Intel Super Resolution enabling

The wrong API was used to set kIntelVpeFnScaling.

- - - - -
172ae5a6 by Steve Lhomme at 2024-03-24T04:32:43+00:00
d3d11_scaler: fix deadlock on NVIDIA detection errors

- - - - -


1 changed file:

- modules/video_output/win32/d3d11_scaler.cpp


Changes:

=====================================
modules/video_output/win32/d3d11_scaler.cpp
=====================================
@@ -124,14 +124,13 @@ d3d11_scaler *D3D11_UpscalerCreate(vlc_object_t *vd, d3d11_device_t *d3d_dev, vl
 
         hr = d3dvidctx->VideoProcessorGetStreamExtension(processor.Get(),
                     0, &kNvidiaPPEInterfaceGUID, sizeof(available), &available);
-        d3d11_device_unlock(d3d_dev);
 checked:
+        d3d11_device_unlock(d3d_dev);
         canProcess = available != 0;
     }
     else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_INTEL)
     {
-        // TODO refine which GPU and drivers can do it
-        canProcess = true;
+        canProcess = true; // detection doesn't work
     }
 #ifdef HAVE_AMF_SCALER
     else if (d3d_dev->adapterDesc.VendorId == GPU_MANUFACTURER_AMD)
@@ -553,8 +552,8 @@ int D3D11_UpscalerUpdate(vlc_object_t *vd, d3d11_scaler *scaleProc, d3d11_device
 
             ext.function = kIntelVpeFnScaling;
             param = upscale ? kIntelVpeScalingSuperResolution : kIntelVpeScalingDefault;
-            hr = scaleProc->d3dvidctx->VideoProcessorSetOutputExtension(
-                scaleProc->processor.Get(),
+            hr = scaleProc->d3dvidctx->VideoProcessorSetStreamExtension(
+                scaleProc->processor.Get(), 0,
                 &GUID_INTEL_VPE_INTERFACE, sizeof(ext), &ext);
             if (FAILED(hr)) {
                 msg_Err(vd, "Failed to set the Intel VPE scaling type. (hr=0x%lX)", hr);



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/58d43b1259270d11525265e72bc285cb928fc5d1...172ae5a6635c7d4183ad778347dd18e8ab3210ba

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/58d43b1259270d11525265e72bc285cb928fc5d1...172ae5a6635c7d4183ad778347dd18e8ab3210ba
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list