edit: DRM library still doesn't get to "fully FLOSSed"
Last time I checked (a few months ago) they didn't even support Chrome (either Windows or Mac) for UHD, they required Safari, Edge or their own Windows app.
You can't watch UHD content on Edge for Linux, for example, because the necessary DRM isn't implemented.
I also seem to remember that Netflix on Windows (don't know about mac) also requires hardware decoding support for HEVC1 (or whatever their codec is). I never got it to work with an intel GPU (8th gen udh630 — supposed to support it) but it worked with an AMD GPU.
I don't know a lot about how everything works below the hood, but you can probably find some of the details on the Microsoft website [0] if you want.
My understanding was that there was some kind of compositing going on, in hardware, where the display server would tell the GPU to display the output between some coordinates, but the server itself wouldn't know what the actual output would be.
Here is the libva documentation which seems to support this: http://intel.github.io/libva/group__api__prot.html
When this was done in software, I understand that open source decoders could have been modified to pipe the clear stream to disk, but now the software basically just hands the encrypted blob to a "trusted" hardware decoder.
Or am I missing something?