1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-04 16:24:29 +01:00
dxvk/src/d3d10
Joshua Ashton a62117cd13 build: Disable stdcall alias-ing and use kill-at
Disable stdcall aliasing and enable kill-at to ensure our exported
functions don't have the @8, @40, etc suffixes.

This still keeps `--enable-stdcall-fixup` as otherwise the linker can
get confused trying to find exports from the .def. This does not result
in aliases being added, just for them to be found to add to the export
table.

This also switches d3d11 to use the MinGW provided dxgi.lib for linking
and d3d10 to use the MinGW provided d3d11.lib for linking.
Unfortunately the .a's we output seem to still have the @blah that we
killed so we cannot use them for internal linkage since using kill-at.

Tested that what we get out of MinGW now is what we want with dllexp.

Supercedes: #3590

Exports

```
➜  build git:(master) ✗ winedump -j export src/dxgi/dxgi.dll
Contents of src/dxgi/dxgi.dll: 129505860 bytes

  Name:            DXGI.DLL
  Characteristics: 00000000
  TimeDateStamp:   64C97A2D Tue Aug  1 22:33:33 2023
  Version:         0.00
  Ordinal base:    9
  # of functions:  9
  # of Names:      5
Addresses of functions: 00423028
Addresses of name ordinals: 00423060
Addresses of names: 0042304C

  Entry Pt  Ordn  Name
  00007C17     9 CreateDXGIFactory
  00007BF3    10 CreateDXGIFactory1
  00007B62    11 CreateDXGIFactory2
  00007C3B    16 DXGIDeclareAdapterRemovalSupport
  00007CD8    17 DXGIGetDebugInterface1

Done dumping src/dxgi/dxgi.dll
```

```
➜  build git:(fix-stdcall-32-bit) winedump -j export src/d3d11/d3d11.dll
Contents of src/d3d11/d3d11.dll: 263021637 bytes

  Name:            D3D11.DLL
  Characteristics: 00000000
  TimeDateStamp:   64C97A2E Tue Aug  1 22:33:34 2023
  Version:         0.00
  Ordinal base:    18
  # of functions:  7
  # of Names:      4
Addresses of functions: 005E3028
Addresses of name ordinals: 005E3054
Addresses of names: 005E3044

  Entry Pt  Ordn  Name
  00020045    18 D3D11CoreCreateDevice
  000200AA    22 D3D11CreateDevice
  0002010E    23 D3D11CreateDeviceAndSwapChain
  0002025F    24 D3D11On12CreateDevice

Done dumping src/d3d11/d3d11.dll
```

Import of DXGI in D3D11

```
  offset 005e1014 dxgi.dll
  Hint/Name Table: 005E408C
  TimeDateStamp:   00000000 (Thu Jan  1 01:00:00 1970)
  ForwarderChain:  00000000
  First thunk RVA: 005E4300
   Thunk    Ordn  Name
  005e4300     4  CreateDXGIFactory1
```
2023-08-01 23:35:09 +01:00
..
d3d10_blend.cpp [d3d10] Implement D3D10BlendState 2018-08-13 17:22:41 +02:00
d3d10_blend.h [d3d10] Implement D3D10BlendState 2018-08-13 17:22:41 +02:00
d3d10_buffer.cpp [d3d11] Move d3d11_context_common.* -> d3d11_context.* 2022-08-04 13:43:36 +02:00
d3d10_buffer.h [d3d10] Remove unused copies of device ptr in D3D10 wrappers 2019-10-06 00:28:19 +02:00
d3d10_core.cpp [d3d11] Rework D3D11CoreCreateDevice 2023-07-31 13:13:48 +02:00
d3d10_depth_stencil.cpp [d3d10] Implement D3D10DepthStencilState 2018-08-13 17:22:41 +02:00
d3d10_depth_stencil.h [d3d10] Implement D3D10DepthStencilState 2018-08-13 17:22:41 +02:00
d3d10_device.cpp [d3d10] Forward OpenSharedResource to D3D11 implementation 2022-03-04 19:13:30 +01:00
d3d10_device.h [d3d10] Use context lock instead of separate device lock 2018-12-30 21:08:52 +01:00
d3d10_include.h [util] Add generic recursive spinlock 2020-03-15 03:43:04 +01:00
d3d10_input_layout.cpp [d3d10] Implement D3D10InputLayout 2018-08-13 17:22:41 +02:00
d3d10_input_layout.h [d3d10] Implement D3D10InputLayout 2018-08-13 17:22:41 +02:00
d3d10_multithread.cpp [d3d11] Introduce d3d11.enableContextLock option 2022-08-24 12:27:02 +02:00
d3d10_multithread.h [d3d11] Introduce d3d11.enableContextLock option 2022-08-24 12:27:02 +02:00
d3d10_query.cpp [d3d11] Move d3d11_context_common.* -> d3d11_context.* 2022-08-04 13:43:36 +02:00
d3d10_query.h [d3d11] Remove old D3D11DeviceContext class 2022-08-04 13:43:36 +02:00
d3d10_rasterizer.cpp [d3d10] Implement D3D10RasterizerState 2018-08-13 17:22:42 +02:00
d3d10_rasterizer.h [d3d10] Implement D3D10RasterizerState 2018-08-13 17:22:42 +02:00
d3d10_sampler.cpp [d3d10] Implement D3D10SamplerState 2018-08-13 17:22:41 +02:00
d3d10_sampler.h [d3d10] Implement D3D10SamplerState 2018-08-13 17:22:41 +02:00
d3d10_shader.h [d3d10] Implement D3D10Shader 2018-08-13 17:22:42 +02:00
d3d10_texture.cpp [d3d11] Move d3d11_context_common.* -> d3d11_context.* 2022-08-04 13:43:36 +02:00
d3d10_texture.h [d3d10] Remove unused copies of device ptr in D3D10 wrappers 2019-10-06 00:28:19 +02:00
d3d10_util.cpp [d3d10] Add GetD3D10ResourceFromView and GetD3D10Resource helpers 2018-08-13 17:22:42 +02:00
d3d10_util.h [d3d10] Add GetD3D10ResourceFromView and GetD3D10Resource helpers 2018-08-13 17:22:42 +02:00
d3d10_view_dsv.cpp [d3d10] Implement D3D10CreateDepthStencilView 2018-08-13 17:22:42 +02:00
d3d10_view_dsv.h [d3d10] Implement D3D10CreateDepthStencilView 2018-08-13 17:22:42 +02:00
d3d10_view_rtv.cpp [d3d10] Implement D3D10RenderTargetView 2018-08-13 17:22:42 +02:00
d3d10_view_rtv.h [d3d10] Implement D3D10RenderTargetView 2018-08-13 17:22:42 +02:00
d3d10_view_srv.cpp [d3d10] Implement D3D10ShaderResourceView 2018-08-13 17:22:42 +02:00
d3d10_view_srv.h [d3d10] Implement D3D10ShaderResourceView 2018-08-13 17:22:42 +02:00
d3d10core.def [d3d10] Implement D3D10[Core]GetVersion and D3D10[Core]RegisterLayers 2020-03-18 20:49:17 +01:00
d3d10core.sym [d3d10] Enable native builds 2022-10-15 18:17:29 +01:00
meson.build build: Disable stdcall alias-ing and use kill-at 2023-08-01 23:35:09 +01:00
version10_core.rc [build] Add version info to compiled DLLs 2019-04-05 21:09:57 +02:00