Commit Graph
100 Commits
Author SHA1 Message Date
BreadFish64andGitHub 5317c00c45 Merge pull request #6368 from GPUCode/msvc-dup
Check fd before using dup
2023-03-24 10:29:55 -05:00
BreadFish64andGitHub 353aaaf665 Merge pull request #6010 from SachinVin/gunman
shader_jit: Fixes for Gunman clive
2022-07-06 23:45:44 -05:00
BreadFish64andGitHub 6f6a9357c2 Merge pull request #6023 from Morph1984/c4267
general: Enforce C4267 warning on MSVC
2022-06-01 19:40:35 -05:00
BreadFish64andGitHub 45a4a56264 Merge pull request #5917 from jbeich/cryptopp-i386
cryptopp: unbreak build on 32-bit x86
2022-01-11 23:30:14 -06:00
BreadFish64andSachinVin 5a8c6990bf memory: fix memory leak related to un-freed shared memory 2021-12-18 00:06:15 +05:30
BreadFish64andSachinVin e6b59cb5d8 video_core: implement optimized D24S8->RGBA8 reinterpreters 2021-10-02 16:38:17 +05:30
BreadFish64andSachinVin b2057e1b62 android: disable OpenGL debug message again 2021-10-02 16:38:15 +05:30
BreadFish64andSachinVin 54b8af1444 video_core: implement GLES depth/stencil downloads
video_core: disable depth/stencil texture download on OpenGL ES

Disable deptch stencil shader in texture_downloader_es for now

enable_depth_stencil

DepthStencil

remove GL_DEBUG_OUTPUT_SYNCHRONOUS
2021-10-02 14:19:27 +05:30
BreadFish64andSachinVin 91f52c2fdb video_core: fix texture filters in GLES
anime4k: reset state.texture_units[0].texture_2d before filtering

clang-fmt
2021-09-29 22:51:16 +05:30
Marshall MohrorandGitHub b3cab3c450 Merge pull request #5747 from JohelEGP/conditional_resize
fix(net): prevent gibberish padding on linux
2021-04-03 00:05:38 -05:00
Marshall MohrorandGitHub e6c479f497 Merge pull request #5710 from BreadFish64/bonk_textures
gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
2021-02-11 19:06:03 -06:00
Marshall MohrorandGitHub 5c58620618 Merge pull request #5717 from FearlessTobi/port-5895
Port yuzu-emu/yuzu#5895: "string_util: Remove MSVC workaround for converting between UTF8/UTF16"
2021-02-10 23:04:35 -06:00
Marshall MohrorandGitHub 5776bdda82 Merge pull request #5546 from FearlessTobi/port-5524
Port yuzu-emu/yuzu#4086 and yuzu-emu/yuzu#4611: Xbyak cleanups
2021-02-08 16:00:18 -06:00
BreadFish64 ff56fdf37d fix recycling custom textures 2021-02-08 15:53:06 -06:00
Marshall MohrorandGitHub 00c798991c remove semicolon 2021-02-05 08:25:02 -06:00
Marshall MohrorandGitHub 6b2e7b77cc Merge pull request #5657 from FearlessTobi/port-5158
Port yuzu-emu/yuzu#5158: "video_core: Remove unnecessary enum class casting in logging messages"
2021-02-04 10:51:29 -06:00
Marshall MohrorandGitHub e2adb51494 Merge pull request #5693 from FearlessTobi/port-5342
Port yuzu-emu/yuzu#5342: "yuzu: Migrate off of setMargin() to setContentsMargins()"
2021-02-04 10:50:32 -06:00
Marshall MohrorandGitHub a1d6396a90 Merge pull request #5695 from FearlessTobi/port-4942
Port yuzu-emu/yuzu#4942: "core: Make use of [[nodiscard]] with the System class"
2021-02-04 10:50:00 -06:00
BreadFish64 a131f9eb74 gl_rasterizer_cache: don't place null textures in the recycler 2021-02-03 13:29:03 -06:00
Marshall MohrorandGitHub 2461f67a98 Merge pull request #5671 from FearlessTobi/port-5217
Port yuzu-emu/yuzu#5217: "citra_qt/main: Save settings when starting guest"
2021-02-03 10:22:38 -06:00
Marshall MohrorandGitHub fa67789dcd Merge pull request #5667 from zhaobot/tx-update-20210101011718
Update translations (2021-01-01)
2021-02-03 10:20:36 -06:00
Marshall MohrorandGitHub 2539215f18 Merge pull request #5660 from FearlessTobi/port-5166
Port yuzu-emu/yuzu#5166: "core: Remove unnecessary enum casts in log calls"
2021-02-03 10:19:38 -06:00
BreadFish64 85e9ba897d gl_rasterizer_cache: Recycle host textures
Allocating new textures has fairly high driver overhead.
We can avoid some of this by reusing the textures from destroyed surfaces since the game will probably create more textures with the same dimensions and format.
2021-02-02 20:46:25 -06:00
BreadFish64 935e88a580 gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
Some games (e.g. Pilotwings Resort) create many surfaces that are invalidated quickly but were never removed.
This occasionally lead to large lag spikes due to high lookup times and other data structure management overhead.
2021-02-02 20:43:41 -06:00
Marshall MohrorandGitHub 820c288236 Merge pull request #5664 from vitor-k/fix-iofile
Revert #5530 "Port yuzu-emu/yuzu#4539"
2020-12-30 12:20:21 -06:00
Marshall MohrorandGitHub ab6c605e59 Merge pull request #5609 from gal20/enable-fdk-patch
Enable fdk decoder for flatpak version
2020-12-30 11:59:18 -06:00
Marshall MohrorandGitHub 26e8b755f0 Merge pull request #5661 from BreadFish64/fix-bitrise
Fix Bitrise build
2020-12-29 22:43:35 -06:00
BreadFish64 b3915c23a0 Update Gradle 2020-12-29 13:29:02 -06:00
BreadFish64 dbd6b8adc3 Update Bitrise build stages 2020-12-29 13:28:53 -06:00
Marshall MohrorandGitHub 02d6032afb Merge pull request #5566 from zhaowenlan1779/layered-fs-fix
layered_fs: Make LoadFile and LoadDirectory less recursive
2020-11-17 09:31:25 -06:00
Marshall MohrorandGitHub 3115529be7 Merge pull request #5603 from FearlessTobi/port-4887
Port yuzu-emu/yuzu#4887: "microprofile: Silence warning in headers"
2020-11-17 09:29:06 -06:00
Marshall MohrorandGitHub 6772e46153 Merge pull request #5593 from FearlessTobi/port-4831
Port yuzu-emu/yuzu#4831: "externals: Update fmt to 7.1.0"
2020-11-17 09:27:45 -06:00
Marshall MohrorandGitHub 7a8d576164 Merge pull request #5577 from vitor-k/cubeb-volume
Update cubeb to latest and request a persistent stream session
2020-11-16 16:54:10 -06:00
Marshall MohrorandGitHub a89261d397 Merge pull request #5580 from oneup03/master
Implement Reverse Interlaced 3D
2020-11-16 16:53:05 -06:00
Marshall MohrorandGitHub 23b67849d5 Merge pull request #5608 from gal20/fix-flatpak-crash
Fix flatpak crash when hardware shader is enabled
2020-11-15 11:23:08 -06:00
Marshall MohrorandGitHub e97ecdc2b8 Merge pull request #5544 from FearlessTobi/port-4461
Port yuzu-emu/yuzu#4461: "Fix thread naming on Linux, which limits names to 15 bytes."
2020-09-06 12:48:43 -05:00
Marshall MohrorandGitHub e48110bdf4 Merge pull request #5512 from vitor-k/untangle-includes
Forward declare some classes and remove some unnecessary includes
2020-08-29 22:02:25 -05:00
Marshall MohrorandGitHub 855dc9f0fc Merge pull request #5518 from tywald/change-log-level
cubeb_sink: Change a log from INFO to DEBUG level
2020-08-28 13:54:36 -05:00
Marshall MohrorandGitHub 88c0288cb1 Merge pull request #5521 from xperia64/fix_hotkey_ordering
Fix hotkey ordering
2020-08-28 13:53:40 -05:00
Marshall MohrorandGitHub 550cc859b5 Merge pull request #5524 from FearlessTobi/port-4582
Port yuzu-emu/yuzu#4582: "externals: Update Xbyak to 5.95"
2020-08-28 13:30:44 -05:00
Marshall MohrorandGitHub 69f4aacccf Merge pull request #5531 from FearlessTobi/port-4536
Port yuzu-emu/yuzu#4536: "yuzu: Resolve -Wextra-semi warnings"
2020-08-28 13:29:22 -05:00
Marshall MohrorandGitHub f2d26eb73b Merge pull request #5532 from FearlessTobi/port-4531
Port yuzu-emu/yuzu#4531: "yuzu: Make use of qOverload where applicable"
2020-08-28 13:28:48 -05:00
Marshall MohrorandGitHub 2a676858be Merge pull request #5527 from FearlessTobi/port-4518
Port yuzu-emu/yuzu#4518: "CMakeLists: Update fmt to 7.0.3"
2020-08-28 13:19:43 -05:00
Marshall MohrorandGitHub b94f21eacd Merge pull request #5462 from FearlessTobi/port-4376
Port yuzu-emu/yuzu#4376: "frontend: Improve wait tree readability for dark themes"
2020-07-28 12:27:54 -05:00
Marshall MohrorandGitHub a34888804b Merge pull request #5464 from FearlessTobi/port-4347
Port yuzu-emu/yuzu#4347: "settings: Make use of std::string_view over std::string for logging"
2020-07-21 08:46:18 -05:00
Marshall MohrorandGitHub d88d22080d Merge pull request #5453 from FearlessTobi/port-4221
Port yuzu-emu/yuzu#4221: "cmake: stop linking against QGL"
2020-07-14 09:26:43 -05:00
Marshall MohrorandGitHub f6ced5def0 Merge pull request #5452 from FearlessTobi/port-4287
Port yuzu-emu/yuzu#4287: "CMakeLists: Update fmt to 7.0.1"
2020-07-14 09:26:24 -05:00
Marshall MohrorandGitHub 897e473da4 Merge pull request #5332 from Dragios/fix-exe-path
Correct output paths for executable binaries in CMakeLists.txt
2020-07-14 09:10:11 -05:00
Marshall MohrorandGitHub a83f819160 Merge pull request #5317 from MerryMage/compile-on-10.13
travis: Compile on macOS 10.13 with more up to date compiler
2020-07-14 09:06:03 -05:00
Marshall MohrorandGitHub f4e727cc19 Merge pull request #5420 from citra-emu/xglTextureBarrier
videocore: When an image is the current framebuffer and is sampled, make a copy instead of using glTextureBarrier
2020-07-07 16:45:27 -05:00
BreadFish64 60282f35fe fix clang format 2020-07-07 16:43:42 -05:00
Marshall MohrorandGitHub bd7ee8c315 Common: remove a mod from AlignUp (#5441)
In cases where the size is not a known constant when inlining, AlignUp<std::size_t> currently generates two 64-bit div instructions.
This generates one div and a cmov which is significantly cheaper.
2020-07-07 16:39:23 -05:00
BreadFish64 662c348b6c fix 2020-06-27 13:23:34 -05:00
BreadFish64 ea2584c54d generic texture allocator 2020-06-27 13:13:37 -05:00
BreadFish64 cae4b7aaf7 Clean up 2020-06-26 15:41:10 -05:00
Marshall MohrorandGitHub c4a4b40b2d Fix using system boost (#5424)
closes #5234
2020-06-23 21:30:35 -05:00
Marshall MohrorandGitHub 372c653ec3 Fix clang-format 2020-06-20 14:03:04 -05:00
Marshall MohrorandGitHub 8a080146c9 Merge pull request #5344 from vitor-k/fix-folder-order
game_list: Fix folder reordering
2020-06-20 13:23:44 -05:00
Marshall MohrorandGitHub 353780e1c9 Merge pull request #5403 from lioncash/gen2
gl_shader_gen: Minor string cleanups
2020-06-20 13:09:24 -05:00
BreadFish64 b80c6f7534 handle all cases more robustly 2020-06-20 13:01:26 -05:00
BreadFish64 d04071d6b3 video_core/GLES: fix issues cause by missing glTextureBarrier
create a duplicate for sampling instead
2020-06-20 13:01:26 -05:00
Marshall MohrorandGitHub 8a0b0c2fc7 texture_filters: update ScaleForce (#5270)
* texture_filters: update ScaleForce

* texture_filters: optimize scale_force

* texture_filters/scale_force: optimize final offset calculation
2020-04-27 23:50:47 -05:00
db5b8b9c88 video_core: reduce string allocations in shader decompiler (#5261)
* video_core: reduce string allocations in shader decompiler

* use append for indentation instead of resize

Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-04-20 22:08:58 -05:00
55ecaa0344 video_core: add ScaleForce to texture filters (#5210)
* video_core: add ScaleForce to texture filters

* fix erroneous namespace end comment

Co-Authored-By: Valentin Vanelslande <vvanelslandedev@gmail.com>

* move copyright header to shader file

Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>
2020-04-16 13:33:14 -05:00
Marshall MohrorandGitHub 45dfb3aacc Merge pull request #5186 from hamish-milne/feature/fix-5067
Revert one change from #4844
2020-04-13 23:57:46 -05:00
Marshall MohrorandGitHub d5a435fdf0 Merge pull request #5162 from tbsp/log_user_ips
Added user IP to log events for join/left/kicked/banned
2020-04-13 12:05:42 -05:00
d37b0476ad video_core/renderer_opengl/gl_rasterizer_cache: Create Format Reinterpretation Framework (#5170)
* video_core/renderer_opengl/gl_rasterizer_cache: Create Format Reinterpretation Framework

Adds RGBA4 -> RGB5A1 reinterpretation commonly used by virtual console
If no matching surface can be found, ValidateSurface checks for a surface in the cache which is reinterpretable to the requested format.
If that fails, the cache is checked for any surface with a matching bit-width. If one is found, the region is flushed.
If not, the region is checked against dirty_regions to see if it was created entirely on the GPU.
If not, then the surface is flushed.

Co-Authored-By: James Rowe <jroweboy@users.noreply.github.com>
Co-Authored-By: Ben <b3n30@users.noreply.github.com>

temporary change to avoid merge conflicts with video dumping

* re-add D24S8->RGBA8 res_scale hack

* adress review comments

* fix dirty region check

* check for surfaces with invalid pixel format, and break logic into separate functions
2020-04-07 09:12:32 -05:00
Marshall MohrorandGitHub 3b1b8b7e1f Merge pull request #5123 from vitor-k/disable-hidapi
SDL: Disable hidapi drivers due to compatibility problems with certain controllers
2020-04-03 23:23:03 -05:00
Marshall MohrorandGitHub 9c7da35382 Merge pull request #5083 from zhaowenlan1779/video-dumping-update
video_core, citra_qt: Video dumping updates
2020-04-03 21:15:32 -05:00
Marshall MohrorandGitHub 00667c222a Merge pull request #5117 from FearlessTobi/n3ds-setting
citra_qt/system: Add N3DS mode checkbox and enable it by default
2020-04-03 17:52:31 -05:00
Marshall MohrorandGitHub f14e973a27 Texture Filtering v2 (#5166)
* video_core/renderer_opengl: Move SurfaceParams into its own file

Some of its enums are needed outside of the rasterizer cache
and trying to use it caused circular dependencies.

* video_core/renderer_opengl: Overhaul the texture filter framework

This should make it less intrusive.
Now texture filtering doesn't have any mutable global state.
The texture filters now always upscale to the internal rendering resolution.
This simplifies the logic in UploadGLTexture and it simply takes the role of BlitTextures at the end of the function.
This also prevent extra blitting required when uploading to a framebuffer surface with a mismatched size.

* video_core/renderer_opengl: Use generated mipmaps for filtered textures

The filtered guest mipmaps often looked terrible.

* core/settings: Remove texture filter factor

* sdl/config: Remove texture filter factor

* qt/config: Remove texture filter factor
2020-04-02 22:42:50 -05:00
Marshall MohrorandGitHub 5dbf334ef1 Revert "Use immutable storage when available (#5053)" (#5151)
This reverts commit 407fd15515.
2020-03-26 19:01:18 -05:00
Marshall MohrorandGitHub feb5b5a394 common: include algorithm thread_queue_list.h (#5147)
build was failing because the compiler couldn't find std::find
2020-03-25 22:23:39 -05:00
BreadFish64 37384174d9 fix formatting for media-ndk 2020-03-17 21:15:33 -05:00
Marshall MohrorandGitHub a7d3489dc9 video_core: add texture filtering (#5017)
video_core: add texture filtering
2020-03-16 09:42:05 -05:00
Marshall MohrorandGitHub ab8cb17ab7 Merge pull request #5111 from BreadFish64/interval
video_core: use explicit interval type in texture cache
2020-02-29 11:25:04 -06:00
Marshall MohrorandGitHub 9dfb83f1e1 Update README.md (#5097)
* Update README.md

* fix travis link
2020-02-29 11:13:28 -06:00
BreadFish64 cfd2ab6121 video_core: use explicit interval type in texture cache
The default is discrete_interval which has dynamic open-ness.
We only use right_open intervals anyway. In theory this could allow some compile-time optimizations.
2020-02-28 13:45:19 -06:00
Marshall MohrorandGitHub 3ae1b5e2d6 Merge pull request #5047 from BreadFish64/patch-3
fix c++ standard flag for msvc
2020-02-22 21:18:08 -06:00
Marshall MohrorandGitHub 688e44bc8b videocore/renderer_opengl/gl_rasterizer_cache: Move bits per pixel table out of function (#5101)
* videocore/renderer_opengl/gl_rasterizer_cache: Move bits per pixel table out of function

GCC and MSVC copy the table at runtime with the old implementation, which is wasteful and prevents inlining. Unfortunately, static constexpr variables are not legal in constexpr functions, so the table has to be external.
Also replaced non-standard assert with DEBUG_ASSERT_MSG.

* fix case of table name in assert

* set table to private
2020-02-22 14:37:42 -07:00
BreadFish64 670119ef86 android: use cmake 3.10
bitrise still doesn't have 3.10 despite it being part of the NDK now
2020-02-21 16:47:04 -06:00
Marshall Mohror 990d27f4f9 Remove C++ standard flag 2020-02-21 16:45:02 -06:00
Marshall MohrorandGitHub 996f1546b2 core: Remove outdated MSVC workarounds (#5099)
* core/hw/gpu: Remove outdated MSVC workarounds

* core/hle/service/hid: Remove MSVC workaround
2020-02-20 13:40:21 -06:00
BreadFish64andFearlessTobi e7a073e15f logging/backend: Change type of filename from string to const char*
This was suggested by degasus in https://github.com/yuzu-emu/yuzu/pull/3326 in order to avoid an unnecessary copy.
2020-01-28 14:29:26 +01:00
BreadFish64 b3beff0f4c common/logging: don't use regex for path trimming 2019-12-24 14:19:18 -06:00
BreadFish64 cadfd6834d qt: do not use an invalid update smdh 2019-12-18 21:51:06 -06:00
BreadFish64 e38b4f6707 video_core: get rid of MSVC hack comment 2019-11-17 17:42:19 -06:00
BreadFish64 d0decf2166 remove ugly msvc hack
the bug appears to be fixed so there's no reason to keep this around
2019-09-15 22:35:21 -05:00
BreadFish64 aaf496dec7 video_core: change "left + width" to "right" in CanSubRect
the constructed rectangle from GetSubRect already has the right info
2019-06-04 17:03:31 -05:00
BreadFish64 36e368ff99 remove Common::TrimSourcePath
wwylele / 白疾風Today at 6:14 PM
I doubt the performance of constructing regex everytime the function is called
Is TrimSourcePath only called by logging? if so, you can move the implementation into logging, and cache the regex object into global
This function is probably too specific to be in common anyway
2019-03-10 19:18:09 -05:00
BreadFish64 605dfe80e7 appease clang format 2019-03-09 19:15:35 -06:00
BreadFish64 f767b5fdef android: add logging 2019-03-09 18:23:32 -06:00
BreadFish64 9848610ea2 android: init user path 2019-03-09 18:23:27 -06:00
BreadFish64 28b2ee9cd7 add java to .clang-format 2019-02-22 16:29:19 -06:00
BreadFish64 d3d53bae83 common: decouple getting and setting user paths
paths -> g_paths
2019-02-15 14:48:31 -06:00
BreadFish64 d90f733330 video_core: improve efficiency of CachedSurface::IsSurfaceFullyInvalid 2019-02-09 17:33:18 -06:00
BreadFish64 cd21abe50f sdl: add GLES support 2019-02-03 15:58:09 -06:00
BreadFish64 9af8d61ba2 externals/glad: add GLES loader 2019-01-30 14:08:28 -06:00
BreadFish64 ac3b514875 android: fix native library inclusion 2019-01-15 20:28:56 -06:00
BreadFish64 7b1cfff825 android: use better icons
vector assets are available
unfortunately android studio mutilates citra's vector icon
2019-01-15 20:28:29 -06:00