Commit Graph

30 Commits

Author SHA1 Message Date
Rémi Verschelde
4fa39a02b0 Merge pull request #18 from kus04e4ek/master
Add missing imports, remove wildcard and unused imports
2024-07-17 14:20:53 +02:00
Kusok
232dda2a37 Add missing imports, remove wildcard and unused imports 2024-07-16 16:53:40 +08:00
Rémi Verschelde
27a49f8601 Merge pull request #15 from RandomShaper/bye_bye_dxil_dll
Remove patch to the no longer needed validation feature
2024-07-11 23:17:32 +02:00
Pedro J. Estébanez
1e66fa02bf Remove patch to the no longer needed validation feature 2024-07-11 10:45:09 +02:00
Rémi Verschelde
e101346d1e Merge pull request #14 from RandomShaper/handle_sc_composite
Handle OpSpecConstantComposite
2024-07-02 15:31:02 +02:00
Pedro J. Estébanez
b6ed19e648 Handle OpSpecConstantComposite 2024-07-02 15:13:54 +02:00
Rémi Verschelde
360d88bb7e Merge pull request #11 from RandomShaper/asan
Add `use_asan` build option
2024-07-02 14:30:35 +02:00
Rémi Verschelde
d3d7cc7a5a Merge pull request #13 from bruvzg/llvm-mingw-win
Fix LLVM/MinGW build on Windows.
2024-06-20 14:04:05 +02:00
bruvzg
97b2e3580c Fix LLVM/MinGW build on Windows. 2024-06-20 14:20:50 +03:00
Rémi Verschelde
7546e0b405 Merge pull request #12 from bruvzg/fix_clang_mingw
Fix LLVM/MinGW build.
2024-06-19 20:46:48 +02:00
bruvzg
c4211d1652 Fix LLVM/MinGW build. 2024-06-19 20:50:10 +03:00
Pedro J. Estébanez
d61034bda2 Add use_asan build option 2024-06-14 14:03:34 +02:00
Rémi Verschelde
0af9607ba4 Merge pull request #10 from bruvzg/add_license
Add missing license file.
2024-04-15 22:32:30 +02:00
bruvzg
ea21cea768 Add missing license file. 2024-04-15 23:25:08 +03:00
Rémi Verschelde
b3565f5cb4 Merge pull request #8 from bruvzg/fix_dxil_load
Fix infinite loop when loading DXIL.dll if library is not found.
2024-02-13 11:29:40 +01:00
bruvzg
8d78553b4f Fix infinite loop when loading DXIL.dll if library is not found. 2024-02-11 17:15:33 +02:00
Rémi Verschelde
4eaadef72f Merge pull request #6 from bruvzg/update_mesa
Update mesa to 23.1.9
23.1.9
2024-01-31 14:03:24 +01:00
Rémi Verschelde
d6fe1ff902 Merge pull request #5 from bruvzg/mesa_no_ex
[MinGW] Disable exceptions.
2024-01-31 13:16:31 +01:00
bruvzg
0985547d67 Update mesa to 23.1.9 2024-01-31 14:08:58 +02:00
bruvzg
9557f078cd [MinGW] Disable exceptions. 2024-01-30 19:13:32 +02:00
Rémi Verschelde
f2e0daf5eb Merge pull request #4 from shana/more-build-options
Allow setting additional defines and an extra suffix from the cli
2024-01-10 14:07:43 +01:00
Andreia Gaita
938501d717 Allow setting additional defines and an extra suffix from the command line
We need to do some builds with additional defines for Xbox because the
dxil validator code uses a different DLL name depending on the active
defines. It's not really worth adding a whole new platform for this,
everything else is just the normal Windows build, so this PR just adds
the ability to pass in additional defines from the CLI, and an option
to set an additional suffix to the binary, so we can tell builds apart.
2024-01-10 13:53:55 +01:00
bruvzg
5435ae8bae Merge pull request #3 from superxkooda/clangarm64
Modifications to get compiled in msys2 on arm64
2024-01-08 09:04:02 +02:00
Michael Anghelone
149bcf6cff Modifications to get compiled in msys2 on arm64
These modifications make it possible to compile within a msys2
clangarm64 environment.

Command used to build:
```
    scons use_mingw=True use_llvm=True arch=arm64
```

The patch file prevents this error from occurring:
```
    gcc -o godot-mesa/src/microsoft/compiler/nir_to_dxil.windows.arm64.o -c -std=c11 -O3 -DMINGW_ENABLED -DWINVER=0x0603 -D_WIN32_WINNT=0x0603 -D__MSVCRT_VERSION__=1792 -DHAVE_STRUCT_TIMESPEC -DWINDOWS_NO_FUTEX -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DPACKAGE_VERSION=\"23.1.0-devel\" -DPACKAGE_BUGREPORT=\"https://gitlab.freedesktop.org/mesa/mesa/-/issues\" -DPIPE_SUBSYSTEM_WINDOWS_USER -D_USE_MATH_DEFINES -DHAVE_TIMESPEC_GET -DHAVE_STRUCT_TIMESPEC -D_UCRT -Igodot-mesa -Igodot-mesa/bin -Igodot-mesa/include -Igodot-mesa/include/GL -Igodot-mesa/include/GLES -Igodot-mesa/include/GLES2 -Igodot-mesa/include/GLES3 -Igodot-mesa/include/KHR -Igodot-mesa/src -Igodot-mesa/src/c11/impl -Igodot-mesa/src/compiler -Igodot-mesa/src/compiler/glsl -Igodot-mesa/src/compiler/nir -Igodot-mesa/src/compiler/nir/__pycache__ -Igodot-mesa/src/compiler/spirv -Igodot-mesa/src/gallium -Igodot-mesa/src/gallium/include -Igodot-mesa/src/gallium/include/pipe -Igodot-mesa/src/mesa -Igodot-mesa/src/mesa/main -Igodot-mesa/src/mesa/program -Igodot-mesa/src/microsoft -Igodot-mesa/src/microsoft/compiler -Igodot-mesa/src/microsoft/spirv_to_dxil -Igodot-mesa/src/util -Igodot-mesa/src/util/format -Igodot-mesa/src/util/format/__pycache__ -Igodot-mesa/src/util/sha1 -Igodot-mesa/src/vulkan -Igodot-mesa/src/vulkan/runtime -Igodot-mesa/src/vulkan/util -Igodot-mesa/generated/src -Igodot-mesa/generated/src/compiler -Igodot-mesa/generated/src/compiler/nir -Igodot-mesa/generated/src/compiler/nir -Igodot-mesa/generated/src/compiler/nir -Igodot-mesa/generated/src/compiler/nir -Igodot-mesa/generated/src/compiler/spirv -Igodot-mesa/generated/src/util/format -I. -Ivulkan/include godot-mesa/src/microsoft/compiler/nir_to_dxil.c
    =====
    godot-mesa/src/microsoft/compiler/nir_to_dxil.c:5087:7: error: expected expression
     5087 |       const struct dxil_value* value = get_src(ctx, &intr->src[0], 0, nir_type_uint);
          |       ^
    godot-mesa/src/microsoft/compiler/nir_to_dxil.c:5088:45: error: use of undeclared identifier 'value'
     5088 |       store_dest_value(ctx, &intr->dest, 0, value);
          |                                             ^
    2 errors generated.

    =====
    scons: *** [godot-mesa/src/microsoft/compiler/nir_to_dxil.windows.arm64.o] Error 1
    scons: building terminated because of errors.
```

With these change I am able to build on a Surface Pro X without any
issues.

Afterwords compiling godot itself looks like this:
```
$ scons  mingw_prefix=/clangarm64 LINKFLAGS="-lpng -lembree3.dll -L/clangarm64/lib/" CCFLAGS='-I/clangarm64/include/-v' CC=aarch64-w64-mingw32-gcc CXX=aarch64-w64-mingw32-g++ platform=windows builtin_embree=False builtin_libpng=False d3d12=True mesa_libs=<path to godot-nir-static> dxc_path=<path to dxc> opengl3=False vulkan=False use_volk=False
```

embree, and libpng included in the repo proved to be difficult to
compile with. I opted to use the pre compiled versions available through
my package manager.

This was a fun challenge, and I hope it is found to be useful.

PS this only worked on the current master of Godot (v4.3.dev.custom_build [13a0d6e9b]),
the 4.2 branch would not compile.
2024-01-05 16:40:23 -05:00
Yuri Sizov
aa5c9775c7 Merge pull request #2 from bruvzg/mingw_fixes
[MinGW] Rename conflicting file, add missing timespec function implementation.
23.1.0-devel-mingw
2023-12-14 16:18:06 +01:00
bruvzg
d1ca231620 [MinGW] Rename conflicting file, add missing timespec function implementation. 2023-12-14 11:07:37 +02:00
bruvzg
9c0754e4fe Merge pull request #1 from RandomShaper/master
Update Godot patch
23.1.0-devel
2023-12-07 18:04:08 +02:00
Pedro J. Estébanez
46a6ca6a2d Update Godot patch 2023-12-07 14:55:59 +01:00
bruvzg
3416580362 Add MinGW build support. 2023-09-30 17:57:35 +03:00
bruvzg
abdb8282ae Initial commit. 2023-09-29 14:11:30 +03:00