Commit Graph

109 Commits

Author SHA1 Message Date
liamwhite c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Liam e8966fd1f9 shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
ameerj bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
Liam 5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
bunnei 7c3bee5601 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
Morph dc61af8eb1 CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
Morph ea5b59b539 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
Morph 9fba74d245 general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
Morph 4bad20dc5f CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
FengChen 38e9c78843 video_core: Generate mipmap texture by drawing 2022-09-20 11:55:43 +08:00
Andrea Pappacoda 6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
Morph e647661b76 CMakeLists: Make variable shadowing a compile-time error
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-13 18:19:23 -04:00
ameerj c0705ede4d shader_recompiler: Rename backend emit_context files 2021-12-05 16:33:44 -05:00
ReinUsesLisp 14fb648246 shader: Fix resolution scaling pass 2021-11-16 22:11:27 +01:00
ReinUsesLisp b1df436cef shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.

Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp e3df2285ca shader: Add int64 to int32 lowering pass 2021-07-22 21:51:39 -04:00
ReinUsesLisp 9389e71b12 shader: Split profile and runtime info headers 2021-07-22 21:51:38 -04:00
ReinUsesLisp 52be21495e shader: Add support for native 16-bit floats 2021-07-22 21:51:38 -04:00
ReinUsesLisp 41c634a7a9 shader: Rename maxwell/program.h to translate_program.h 2021-07-22 21:51:38 -04:00
ameerj 8ab7780015 glsl: Reorganize backend code, remove unneeded [[maybe_unused]] 2021-07-22 21:51:37 -04:00
ameerj 8185a5ab34 glsl: Rework variable allocator to allow for variable reuse 2021-07-22 21:51:37 -04:00
ameerj fda83fe3c5 glsl: Initial backend 2021-07-22 21:51:35 -04:00
ReinUsesLisp df14567fcc glasm: Use storage buffers instead of global memory when possible 2021-07-22 21:51:33 -04:00
ReinUsesLisp 2e2d1986b1 glasm: Implement image atomics 2021-07-22 21:51:33 -04:00
ReinUsesLisp 03f6d424ce glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
ReinUsesLisp d9b9c10f32 glasm: Add GLASM backend infrastructure 2021-07-22 21:51:30 -04:00
ReinUsesLisp 055db41f19 Move SPIR-V emission functions to their own header 2021-07-22 21:51:30 -04:00
ameerj 455872a4af shader: Implement Int32 SUATOM/SURED 2021-07-22 21:51:30 -04:00
ReinUsesLisp 4c5f8d123d shader: Remove shader util 2021-07-22 21:51:29 -04:00
FernandoS27 a2fac91c47 shader: Implement VertexA stage 2021-07-22 21:51:29 -04:00
ReinUsesLisp fecb87ebc8 cmake: Link to common in shader_recompiler 2021-07-22 21:51:28 -04:00
ReinUsesLisp 6236b611cf shader: Move microinstruction header to the value header 2021-07-22 21:51:28 -04:00
ReinUsesLisp cc96469019 shader: Implement PIXLD.MY_INDEX 2021-07-22 21:51:28 -04:00
ReinUsesLisp 38908d0f7e shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
ReinUsesLisp 40948b18ac shader: Implement OUT 2021-07-22 21:51:27 -04:00
ReinUsesLisp c6b81943a9 shader: Stub ISBERD 2021-07-22 21:51:27 -04:00
ameerj 62c3bef607 shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
ReinUsesLisp 5ab1ac4f29 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
lat9nq 5b95114cd4 shader: Address feedback + clang format 2021-07-22 21:51:26 -04:00
lat9nq a4e7a41e7f shader_recompiler,video_core: Cleanup some GCC and Clang errors
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.

Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler

shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth

thread_worker: Include condition_variable

Don't use list initializers in control flow

Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2021-07-22 21:51:26 -04:00
FernandoS27 a7f5231caf shader: Implement AL2P 2021-07-22 21:51:26 -04:00
ReinUsesLisp e9d7f63788 shader: Abstract breadth searches and use the abstraction 2021-07-22 21:51:26 -04:00
FernandoS27 a9f79b6553 shader: Implement MEMBAR 2021-07-22 21:51:26 -04:00
FernandoS27 5a7d8d73ad shader: Implement TXD 2021-07-22 21:51:25 -04:00
FernandoS27 d523cd563c shader: Implement TMML partially 2021-07-22 21:51:25 -04:00
FernandoS27 287d4a38de shader: Implement TLDS 2021-07-22 21:51:25 -04:00
FernandoS27 8232c10ed1 shader: Implement TLD 2021-07-22 21:51:25 -04:00
ameerj d5d6d4ce74 shader: Implement FSWZADD 2021-07-22 21:51:25 -04:00
FernandoS27 bf9d512e17 shader: Implement BRX 2021-07-22 21:51:25 -04:00