Commit graph

2709 commits

Author SHA1 Message Date
Fernando S
af222dc924 Merge pull request #8752 from vonchenplus/rectangle_texture
video_code: support rectangle texture
2022-08-31 10:40:45 +02:00
FengChen
98656c14a8 video_code: support rectangle texture 2022-08-25 12:45:58 +08:00
vonchenplus
477cdc7566 video_core: support framebuffer crop rect top not zero 2022-08-20 21:41:40 +08:00
bunnei
ceed22dbc4 Merge pull request #8678 from liamwhite/stop-waiting
video_core: stop waiting for shader compilation on user cancel
2022-07-31 14:47:43 -07:00
Liam
652e1a7bde renderer_opengl: delete shader source after linking 2022-07-30 13:21:26 -04:00
Liam
50ed529c2a video_core: stop waiting for shader compilation on user cancel 2022-07-29 23:33:40 -04: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
3cd5e47ee3 renderer_(gl/vk): Implement ASTC_10x6_UNORM
- Used by Monster Hunter Rise Update 10.0.2
2022-07-05 20:33:43 -04:00
Liam
c1771c98f3 common: Change semantics of UNREACHABLE to unconditionally crash 2022-06-13 20:09:00 -04:00
Liam
455ea63f4a OpenGL: implement face flips according to NDC 2022-05-06 20:05:21 -04:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Fernando Sahmkow
ba73142ce0 video_core: implement formats for N64 emulation 2022-04-14 11:06:27 -04:00
bunnei
68b5568576 Merge pull request #8149 from liamwhite/front-face
OpenGL: flip front faces if Z scale is inverted
2022-04-09 01:39:39 -07:00
Merry
e8a60754e9 video_core: Replace lock_guard with scoped_lock 2022-04-07 19:44:07 +01:00
Fernando S
a426c9e941 Merge pull request #8161 from liamwhite/gl-s8d24
OpenGL: fix S8D24 to ABGR8 conversions
2022-04-07 16:59:41 +02:00
Liam
1027ffa911 OpenGL: fix S8D24 to ABGR8 conversions 2022-04-06 19:44:33 -04:00
Liam
27116accd9 OpenGL: fix cropping 2022-04-04 12:51:09 -04:00
Liam
a9d9b29461 OpenGL: propagate face flip condition 2022-04-04 10:32:14 -04:00
Liam
6c926f3cac OpenGL: flip front faces if Z scale is inverted 2022-04-04 10:19:40 -04:00
Fernando Sahmkow
29660bc55e GPU Garbage Collection: Fix regressions. 2022-04-01 01:36:24 +02:00
ameerj
ddafe40dc1 gl_rasterizer: Avoid scenario locking already owned mutex
gpu.TickWork() may lock the texture_cache and buffer_cache mutexes, which are owned by the thread prior to invoking TickWork().

Defer invoking gpu.TickWork() until the scope ends, where the owned mutexes are released.
2022-03-28 20:35:15 -04:00
bunnei
b149526098 Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory." 2022-03-26 12:38:30 -07:00
Fernando Sahmkow
bcee5061e7 Texture Cache: Add Cached CPU system. 2022-03-25 04:24:05 +01:00
bunnei
c989676dc5 Merge pull request #7720 from FernandoS27/yfc-gc
First Nugget: Reworked Garbage Collection to be smarter [originally from Project YFC]
2022-03-24 20:16:11 -07:00
Fernando Sahmkow
392612a2d3 GC: Address Feedback. 2022-03-25 03:05:56 +01:00
bunnei
1f6dcd3784 hle: nvflinger: Migrate android namespace -> Service::android. 2022-03-24 18:13:33 -07:00
bunnei
3396730b85 hle: nvflinger: Move PixelFormat to its own header. 2022-03-24 18:13:32 -07:00
Fernando Sahmkow
2bd91a6f84 Garbage Collection: Final tuning. 2022-03-25 01:51:52 +01:00
Fernando Sahmkow
35675b986e Buffer Cache: Tune to the levels of the new GC. 2022-03-25 01:51:51 +01:00
Fernando Sahmkow
7ea1f39bd0 Garbage Collection: Redesign the algorithm to do a better use of memory. 2022-03-25 01:51:51 +01:00
ameerj
b837219423 video_core: Reduce unused includes 2022-03-19 15:01:31 -04:00
ameerj
1967757627 general: Reduce core.h includes 2022-03-18 02:13:02 -04:00
Ameer J
7d636e10d7 gl_graphics_pipeline: Improve shader builder synchronization using fences (#7969)
* gl_graphics_pipeline: Improve shader builder synchronization

Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context

* gl_graphics_pipeline: Make built_fence access threadsafe

* gl_graphics_pipeline: Use GLsync objects only when building in parallel

* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits

The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
2022-03-06 16:46:49 +01:00
ameerj
51d9a43dad gl_fence_manager: Minor optimization to signal querying
Per the spec, bufSize is the number of integers that will be written, in this case, 1.

Also, the length argument is optional if the information of the number of elements written is not needed.
2022-02-27 17:57:33 -05:00
Morph
77514a45a6 maxwell_to_(gl/vk): Add 11_11_10 float vertex format
- Used by パワプロクンポケットR
2022-02-25 17:11:17 -05:00
Lioncash
8a509e5a2c general: Replace NonCopyable struct with equivalents 2022-02-02 13:17:12 -05:00
Fernando Sahmkow
9ebf1c00bd Rasterizer: Refactor inlineToMemory. 2022-02-01 01:47:28 +01:00
Fernando Sahmkow
19270ae4e6 Rasterizer: Implement Inline2Memory Acceleration. 2022-01-29 22:53:27 +01:00
Fernando Sahmkow
65387dd0a0 ShaderDecompiler: Add a debug option to dump the game's shaders. 2022-01-04 02:39:00 +01:00
Fernando S
8a790b09a7 Merge pull request #7629 from ameerj/nv-driver-fixes
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
ameerj
c5c13369fa glsl: Add boolean reference workaround 2021-12-29 19:03:50 -05:00
ameerj
a57dc3509a glsl_context_get_set: Add alternative cbuf type for broken drivers
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
531d53d6b9 vk_texture_cache: Fix invalidated pointer access
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
Fernando S
88a132afcf Merge pull request #7375 from vonchenplus/convert_legacy
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
vonchenplus
8fe519b656 Address format clang 2021-12-18 14:27:07 +08:00
Feng Chen
c8dab19f32 Merge branch 'yuzu-emu:master' into convert_legacy 2021-12-18 13:57:14 +08:00
ameerj
9699d5e6d5 renderer_opengl: Minor refactoring of filter selection 2021-12-05 15:42:45 -05:00
ameerj
4c9fb0ffe9 blit_image: Refactor upscale factors usage
The image view itself can be queried to see if it is being rescaled or not, removing the need to pass the upscale/down shift factors from the texture cache.
2021-12-05 15:42:44 -05:00
bunnei
9e4707b508 Merge pull request #7368 from FernandoS27/vulkan-conv
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Fernando Sahmkow
e6d7d48d78 TextureCache: Refactor and fix linux compiling. 2021-11-20 14:46:19 +01:00