Commit Graph

154 Commits

Author SHA1 Message Date
Henrik Rydgård 75453632f9 Handle inset adjustements on the C++ side, handle them better in the UI. 2026-03-14 18:13:37 +01:00
Henrik Rydgård eb234a1563 Finish the split. Greatly simplifies the render code in EmuScreen. 2026-02-08 10:46:16 +01:00
Henrik Rydgård aa17599f66 Make things more consistent in the no-present case 2026-02-08 10:13:34 +01:00
Henrik Rydgård 814713e932 More refactor 2026-02-08 01:06:35 +01:00
Henrik Rydgård c139d4aaff Split up Presentation::CopyToOutput into passes and output. 2026-02-08 01:06:35 +01:00
Henrik Rydgård 64461329e7 More minor fixes and cleanups 2026-01-02 14:20:20 +01:00
Henrik Rydgård 2d9ceb8ccf Display layout: Add orientation indicator. Also, the stretch option was inconsistent between UI and actual application 2025-11-05 12:49:52 +01:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
Henrik Rydgård 0fa7349f5a Integrate Dolphin's granule based audio resampler.
Removed parts of it that were not relevant.

Working, it seems. Not sure about the buffer size thing.

Not defaulting it for now

See #20146 and https://github.com/dolphin-emu/dolphin/pull/13352

..
2025-08-22 21:21:19 +02:00
Henrik Rydgård f728bb95b1 Remove unnecessary check for integer scaling for the 16:9 crop
See #20585
2025-07-20 13:09:39 +02:00
Lubos 1c7922f511 OpenXR - Make FakeReflections shader compatible with nonVR screens 2025-06-19 15:57:24 +02:00
Henrik Rydgård 6cfea96e58 Remove D3D9 support, to make future changes easier 2025-06-10 15:07:16 +02:00
Henrik Rydgård ab2f85b6b8 Crashfix in folder move logging. Plus relax an assert 2025-06-01 10:55:21 +02:00
Henrik Rydgård 09e067c6e1 Revert "Get rid of remains of support for non-square screen DPIs"
This reverts commit f206ed95eb.
2025-05-21 21:41:50 +02:00
Henrik Rydgård 5549fddae5 Touch control layout screen: Resize the game image to fit the editing surface
Makes it easier to place controls properly.

Note, if you have disabled "Transparent UI background" in settings, this
won't do much.

This is a long-requested feature: #16228
2025-03-05 18:00:49 +01:00
Henrik Rydgård f206ed95eb Get rid of remains of support for non-square screen DPIs 2025-02-20 11:14:26 -06:00
Henrik Rydgård 1f7461bb70 When ImDebugger is active, shrink the display area to match the central node. 2025-02-19 11:00:20 -06:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård df6ed8cfc9 Do some cleanup of #includes in GPU 2024-12-18 13:57:26 +01:00
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 294584c608 GCC/llvm: Enable a lot more warnings, error on missing return value 2024-11-04 11:54:45 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård a07a2e445b Fix event order and some logic. Can now change skip buffer effect while running in background. 2024-02-01 23:26:36 +01:00
Henrik Rydgård e908034ad3 Revert back to the old way of fitting into 16:9: Crop one line at the top and bottom
I seem to have switched to a stretch at some point, which isn't ideal and can be
achieved anyway with the stretch option. A two-line crop (1 at top, 1 at bottom)
is generally the better option.

There's now also a hidden ini setting to turn it off. I might be
convinced to add it as a real setting once I figure out a good name for
it. The setting:

```ini
[Graphics]
DisplayCrop16x9 = True
```

Fixes #18693
2024-01-15 22:04:42 +01:00
Henrik Rydgård 8d8ff5886b Fix issue where nothing had started a render pass when we wanted to clear the screen. 2023-12-11 13:06:15 +01:00
Henrik Rydgård d891aaf9cd Remove code that pretended that we supported multiple vertex streams
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård 7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Henrik Rydgård 7c4b9bac90 Cache textures created by MakePixelsTexture and reuse where appropriate. 2023-05-30 14:07:44 +02:00
Henrik Rydgård ad8827ae70 Cleanup, address feedback 2023-05-26 10:28:10 +02:00
Henrik Rydgård 6cee08c74f Post-processing: Fix using limited UV ranges when there's a single upscaling filter in the chain.
Fixes #17499
2023-05-26 09:48:51 +02:00
Henrik Rydgård 02880d7d7d Less broken behavior with integer scale factor + auto render resolution
Unfortunately these don't make the same decision (integer scale factor
tries to make sure the whole image can fit in the window, while auto
render resolution is glad to step up a level), but at least the user is
not faces with a black screen.

Not sure what's actually the best thing here, possibly this case should
be disallowed somehow.
2023-04-30 10:18:47 +02:00
Henrik Rydgård 88899984e3 Correctly pass un-rotated width/height to presentation pipeline. 2023-04-11 22:27:26 +02:00
Henrik Rydgård 652612cf15 Fix issue in present where we applied the UV range at the wrong place when post-processing.
Fixes #17249
2023-04-11 22:27:26 +02:00
Henrik Rydgård 4f6e5e73a6 PresentationCommon: Simplify Y flip handling.
Don't manipulate the UVs, manipulate the vertex coordinates instead.

This will simplify the next change that will fix the pixel accuracy
problems in post-processing.
2023-04-10 21:58:34 +02:00
Henrik Rydgård d26700820c Minor buildfix/cleanup 2023-04-09 22:47:34 +02:00
Henrik Rydgård d630d3c751 Presentation: Switch from indexed trilist to plain tristrip
Insignificant performance difference, but nice to get rid of the index
buffer.
2023-04-08 13:02:18 +02:00
Henrik Rydgård cf28556d6d When integer scaling, take the internal render resolution into account. 2023-04-05 09:48:28 +02:00
Henrik Rydgård c08c711006 Fix portrait mode integer scaling 2023-04-02 22:35:51 +02:00
Henrik Rydgård d223d3c316 Rename CenterDisplayOutputRect to CalculateDisplayOutputRect 2023-04-02 22:29:08 +02:00
Henrik Rydgård 2fa93982ea Add support for integer scale factor for display
This is mainly useful if you want an authentic pixellated look with 1x
rendering (or software) and nearest display filter. It'll simply round
down the auto-scaled sized to the nearest integer scale factor,
configuring exactly which one isn't that interesting since they all are
gonna look good.

Fixes #17093
2023-04-02 22:29:08 +02:00
Henrik Rydgård d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Henrik Rydgård 9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik Rydgård 3b39e9e068 Turn the VFS into a class, to be able to reuse it for other purposes. 2023-03-06 16:42:47 +01:00
Henrik Rydgård 8b431b39ba Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00
Henrik Rydgård 49e5460c9c Remove count parameter from SetViewports. No use foreseen. 2023-02-25 07:12:53 +01:00
Unknown W. Brackets fe470c790e Postshader: Reset ini keys for defaults.
Should fix the Vignette shader defaults, see #16562.
2022-12-12 19:11:20 -08:00
Unknown W. Brackets f202029d0b Postshader: Don't save default setting values.
This way the defaults can change in the future without problems.
2022-12-12 19:09:14 -08:00
Lubos df01f18aa6 Merge branch 'master' into config_openxr_update 2022-12-10 10:20:29 +01:00
Henrik Rydgård 4280a9f51c Force postshaders with the usePreviousFrame flag to the end of the order 2022-12-09 17:19:08 +01:00