Commit Graph

154 Commits

Author SHA1 Message Date
Philip Rebohle 80e075406b [meta] Release 2.3 2023-09-04 17:59:12 +02:00
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
Blisto91 4ed04268fd [build] Use new glslang name with fallback 2023-07-29 14:54:32 +02:00
Tatsuyuki Ishi 2ef41bdbf6 build: Switch symbols to DWARF 4
Since [1], Wine's supports and uses DWARF 4 as default. Make use of it, which
should fix inlined stacks and some other small details.

[1]: https://www.winehq.org/pipermail/wine-devel/2021-November/201333.html
2023-07-01 17:12:18 +02:00
Philip Rebohle cae0a1cef3 [meta] Release 2.2 2023-05-12 11:26:07 +02:00
Philip Rebohle 2abc102d2c [meta] Release 2.1 2023-01-24 14:54:09 +01:00
Beyley Thomas c11a63f5e5 [wsi] Add GLFW backend 2023-01-08 10:36:25 +01:00
Joshua Ashton ac10c75ca0 [build] Add Josh's libdisplay-info fork for parsing EDIDs
This will be used to parse static HDR metadata and chromaticity of the display.

Upstream currently has no Windows or MSVC support so use my fork for now.
2022-11-21 17:26:53 +01:00
Philip Rebohle 8f8a93696d [meta] Release 2.0 2022-11-10 13:55:39 +01:00
Georg Lehmann ae764333f4 [build] Use glslang with --depfile to rebuild on header changes 2022-10-21 17:04:47 +02:00
Georg Lehmann 2653628041 [build] Always use glslang with --quiet
We depend on a new enough glslang anyway.
2022-10-21 17:04:47 +02:00
Joshua Ashton 1157b235cc [build] Specify static libgcc/stdc++ on native
We don't have any interfaces that rely on the c++ abi. Makes our builds more portable.

Means that our builds in Sniper can be used on games that are still forcing the old C++03 string abi.
2022-10-15 19:10:57 +02:00
Joshua Ashton 25798f6fe1 [build] Set name_prefix to `libdxvk_` for native builds
Less rude and nicer than just d3d9.so.
Matches old DXVK native behaviour too.
2022-10-15 19:10:57 +02:00
Joshua Ashton ce47bf4264 [build] Disable some dumb clang warnings 2022-09-10 21:46:07 +00:00
Joshua Ashton f9bd1a5d79 [build] Enable warning_level 2
Compiles cleanly with GCC 12
2022-09-10 21:27:04 +00:00
Philip Rebohle a11fb568b9 [tests] Remove D3D9 tests 2022-08-31 17:01:22 +02:00
Georg Lehmann b96947107a [build] Remove dead lib_d3dcompiler_43.
Fixes MSVC build.
2022-08-30 10:16:18 +01:00
Joshua Ashton 482a7e433b [vulkan] Make LibraryLoader dynamically load vulkan-1
This makes LibraryLoader actually load the library and moves ownership
of GetInstanceProcAddr into it, which means we pass through the
loaders into their parents to grab stuff.
2022-08-27 19:32:03 +02:00
Philip Rebohle 85aa0a0ecb [dxvk] Fix meson issue for native builds 2022-08-21 23:22:43 +02:00
Philip Rebohle c1448d31fa [meta] Use SPIRV-Headers repository as a submodule 2022-08-21 22:54:21 +02:00
Philip Rebohle aa554f1166 [meta] Use Vulkan-Headers repository as a submodule 2022-08-21 22:54:21 +02:00
Joshua Ashton c258eb05d2 [build] Enable building natively for non-Windows
Yipee 🥳🎉

RIP DXVK Native
2022-08-21 22:37:13 +02:00
Joshua Ashton 9dad1aadbe [build] Set SDL2 WSI env vars and defines on native builds 2022-08-21 22:37:13 +02:00
Joshua Ashton 4b0f13d351 [build] Set dxvk_wsi and defines for Windows 2022-08-20 20:27:07 +02:00
Joshua Ashton 76ddd2a35a [build] Use current_source_dir instead of source_root
source_root is deprecated and doesn't work if we are used in a subproject
2022-07-30 21:28:09 +02:00
Joshua Ashton 297759be4e [build] Initial reworkings for non-Windows platform support in Meson 2022-07-30 21:28:09 +02:00
Philip Rebohle 10c5c17bc1
[meta] Build meta shaders against Vulkan 1.2
Silences some validation errors regarding layer export.
2022-07-15 16:10:16 +02:00
pchome 15fa310bb4 [build] Bump required meson version to >=0.49 2022-05-01 18:37:39 +02:00
Philip Rebohle a72463c5af
[meta] Release 1.10.1 2022-03-26 12:44:25 +01:00
Georg Lehmann 2550cff149 [build] Cleanup build system.
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Joshua Ashton e9b0d5d716 [build] Enable -Wimplicit-fallthrough
I got bit by this in D3D9.
2022-03-10 00:47:38 +01:00
Philip Rebohle 23eead9e99
[meta] Release 1.10 2022-03-04 17:15:51 +01:00
Georg Lehmann 939040b178 [build] Avoid meson warning.
WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.

Stupid change, stupid warning, stupid fix.
2022-02-10 15:18:25 +01:00
Philip Rebohle 1216466be7
[meta] Release 1.9.4 2022-01-24 15:08:49 +01:00
Philip Rebohle a70a35406e
[meta] Release 1.9.3 2022-01-11 13:28:28 +01:00
Philip Rebohle b79ce7af8a
[meta] Release 1.9.2 2021-09-20 15:07:25 +02:00
Philip Rebohle d10e1ed3c0
[meta] Release 1.9.1 2021-07-26 15:45:33 +02:00
Georg Lehmann a9c185d01a [build] Enable strict dwarf2 debug symbols for Wine back traces 2021-07-25 18:18:14 +02:00
Connor Abbott 120585c66d
Don't hardcode windres location
This isn't the meson way to do things. Doing this also prepares us for
using the builtin meson rc support instead of hand-rolling our own once
https://github.com/mesonbuild/meson/pull/8954 lands.
2021-07-03 14:28:25 +02:00
Philip Rebohle 6e4778cc81
[build] Define _WINNT_WIN32 on MinGW
Fixes #2133.
2021-06-29 15:30:34 +02:00
Philip Rebohle dca63464b4
[meta] Release 1.9 2021-06-15 15:32:19 +02:00
Georg Lehmann 730f5cc418 [build] conditionally enable --quiet for glslang 2021-04-21 13:43:08 +02:00
Joshua Ashton 6b833062a0
build: Enable SSE3 for x86_64
Some minor codegen improvements around vector/matrix math in DX9.
2021-03-27 13:34:17 +00:00
Joshua Ashton 403af8820b
build: Disable SSSE3
Apparently people are still using Phenoms in 2021. *sigh*
2021-03-27 13:23:27 +00:00
Joshua Ashton dd2823287a
build: Enable -mfpmath=sse 2021-03-27 12:33:37 +00:00
Joshua Ashton f8c7e29d6f
build: Enable SSE3 and SSSE3 for x86 2021-03-27 12:33:05 +00:00
Joshua Ashton 0367bf95c4 [build] MSVC check cleanup 2021-03-03 18:57:42 +01:00
Joshua Ashton aae889ccd9 [build] Use --file-alignment=4096 with MinGW
Avoids a copy in the Wine loader as well as enables debug symbols to work in perf.
2021-03-03 18:57:42 +01:00
Philip Rebohle 5083b8474c
[meta] Release 1.8.1 2021-03-01 16:49:02 +01:00
Philip Rebohle d66ecf4a94
[meta] Release 1.8 2021-02-19 05:29:50 +01:00