Joshua-Ashton / dxup

A d3d9 and d3d10 to d3d11 translation layer.
zlib License
259 stars 26 forks source link

Is it possible do the revert operation 'dxdown' d3d11 to d3d10 translation? #29

Closed copslock closed 5 years ago

copslock commented 5 years ago

Hi,Ashton. First thank you very much for developing such useful tool to improve the performance of DX10 games but as you know DX10 is even not popular as DX9.0c when still many games on steam support 9.0c only like the Source engine-based games.So DX10 games was quite minor due to the failure of Vista,when I noticed that many Unreal Engine 4 games (UE4 is almost a native D3D11 engine) like PUBG F13games Fernbus are cooked only with SM5 content but if you search 'GlobalShaderCache-PCD3D_SM4.bin' on google you will find A LOT of people still using the classical ATI HD3/4 & NVIDIA G92/Tesla even the a bit newer 2011's Sandybridge iGPUs. Accroding to the NVIDIA's advertisment ,the DX11 was 'compat' with DX10 GPUs and they showed us with the "Ocean‘ compute shader demo many years ago,and M$ said DX11 is only a hyperset of DX10 but digging into the UE4's code I found that still a lot API names difference and possible the HLSL assembly code produced by the fxc compiler for DX11&DX10 was different.Neverthess,I had tried the classical DX to OGL wined3d solution but it require equal level of DX11=OGL4 which is not suppport by the DX10 GPUs. So,is it possible to make some 'dxdown' d3d11 to d3d10 translation layer for games like PUBG and so many UE4 games?I know some guys will say 'DX11 GPU is cheap just replace your crappiest card', but they don't know people are not always wealthy like them and even have the access to a bit newer hardware,i don't want some kids have a disappointed childhood like me just beacuse of the worst compability of Games or GPU. From my view i found that DX11 may just add several shaders and Tessellation and ShaderUAV??? ,I have a idea that transpond the DX11 drawcall to CPU for emulated and DX10 compact drawcall passthrough to the GPU driver fo redering,Based on the display schematic i think just filter DX11 calls and convert PS_5_0 VS_5_0 to PS_4_0 VS_4_0 will be a better approach,and ignore the HS_5_0 stuff.After such operation the output image may possible deform but it's better than just reported some hard-understanding error.

Joshua-Ashton commented 5 years ago

No.

Firstly, I don't care to make this -- at all.

Secondly, DX10 does not support everything DX11 does.

Thirdly, these people are right. D3D11 GPUs are incredibly cheap, you can get them for about £20 and less on ebay. If you can't afford one then you probably have bigger priorities than playing Fortnite or PUBG.

Fourthly, please keep things short; concise; with paragraphs and not like you hit your head on the keyboard several times.