Maybe you’re loading the wrong effect file, one that was built for OpenGL. If you delete all temporary folders (obj + bin), and then only build for DX, there should be no chance to have multiple versions of the same effect.
It could be your drivers, they might get an update if you did update your drivers by hand they are automatically removed… maybe considder using the auto detection tools available for your gpu vendor.
Thanks Sebastian, but it seems to be a misunderstanding on my part of how to target multiple platforms.
My library projects were set as .Net standard 2.1 targeting DesktopGL and my main ‘Platform’ projects targeted Android / DesktopGL / DirectX. My understanding was that the Platform dependencies would be used, however, the bin folder for the Platform builds seems to have the DesktopGL version of MonoGame.Framework.dll rather than DirectX / Android / etc. version
Changing all my projects to .Net 5 + windows and referencing the DirectX version of MG solved the issue, It’s just not ideal.