Tilka
2ccc2bfb2e
Merge pull request #12250 from Sintendo/dcbx-nit
...
Jit_LoadStore: Minor dcbx register optimizations
2023-10-28 02:33:51 +01:00
Tilka
9bea807732
Merge pull request #12249 from Sintendo/frsqrte-nit
...
PowerPC: Negate m_dec values in frsqrte table
2023-10-28 02:15:05 +01:00
Tilka
2212a5b225
Merge pull request #12254 from AdmiralCurtiss/savestate-no-xfb-stride
...
VideoCommon: Don't swap on state load when there's no XFB.
2023-10-28 02:14:30 +01:00
Tilka
7c243a110a
Merge pull request #12253 from TellowKrinkle/AsahiGL
...
Fix shader compiles on Asahi Linux
2023-10-28 02:12:40 +01:00
Tilka
ef447bb40b
Merge pull request #12248 from Dentomologist/cheatsearch_use_std_comparison_functions
...
CheatSearch: Use std comparison function objects
2023-10-28 02:11:18 +01:00
Tilka
ce895f1205
Merge pull request #12255 from jordan-woyak/sdl-360
...
ControllerInterface/SDL: Remove Xbox 360 controller disabling hack.
2023-10-28 02:10:46 +01:00
Jordan Woyak
30ce1f2ec2
ControllerInterface/SDL: Remove Xbox 360 controller disabling hack.
2023-10-26 18:04:11 -05:00
Admiral H. Curtiss
4f0c8b1657
VideoCommon: Don't swap on state load when there's no XFB.
...
This triggers an assert in TCacheEntry::SetXfbCopy() otherwise if you load a savestate that was made before the first XFB has been rendered.
2023-10-25 18:24:42 +02:00
TellowKrinkle
4f2a79058a
VideoBackends:OGL: Handle when SSBOs are only supported in some shader stages
2023-10-25 17:47:04 +02:00
TellowKrinkle
323aea60d6
VideoCommon: Fix VS point/line on older GLSL
2023-10-24 23:18:01 -05:00
Sintendo
171f76ae07
Jit_LoadStore: Another minor dcbx optimization
...
The multiplication needs the value from RSCRATCH2, but shouldn't
overwrite it as it is still needed later. The original code solved this
by copying RSCRATCH2 to another register first.
As it turns out, the other register involved in the multiplication can
safely be overwritten, so we can swap the operands around and use
RSCRATCH2 directly without making a copy.
Before:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 30 jle 000002D4DF373F6B
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
41 8D 56 FF lea edx,[r14-1]
3B C2 cmp eax,edx
0F 42 D0 cmovb edx,eax
44 2B F2 sub r14d,edx
44 89 B5 D4 02 00 00 mov dword ptr [rbp+2D4h],r14d
8B C2 mov eax,edx
0F AF C7 imul eax,edi
44 2B E8 sub r13d,eax
44 89 6D 64 mov dword ptr [rbp+64h],r13d
44 8D 72 01 lea r14d,[rdx+1]
After:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 2E jle 0000021C01013F69
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
41 8D 56 FF lea edx,[r14-1]
3B C2 cmp eax,edx
0F 42 D0 cmovb edx,eax
44 2B F2 sub r14d,edx
44 89 B5 D4 02 00 00 mov dword ptr [rbp+2D4h],r14d
0F AF FA imul edi,edx
44 2B EF sub r13d,edi
44 89 6D 64 mov dword ptr [rbp+64h],r13d
44 8D 72 01 lea r14d,[rdx+1]
2023-10-24 00:42:35 +02:00
Dentomologist
3ba5cd30ff
SkylanderPortal: Make protected variables private
...
SkylanderPortal is final, so having member variables be protected
instead of private is just misleading.
2023-10-22 12:00:49 -07:00
Sintendo
dd58a8d65e
Jit_LoadStore: Minor dcbx register optimization
...
Instructions referencing registers r8-r15 take an additional byte to
encode. `reg_downcount` may be assigned to one of these registers, so it
is a small size win to store the downcount value in `RSCRATCH` first.
Before:
33 D2 xor edx,edx
44 8B 6D 64 mov r13d,dword ptr [rbp+64h]
45 85 ED test r13d,r13d
7E 30 jle 0000023546B43F6D
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
41 8B C5 mov eax,r13d
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
After:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 30 jle 000001AFBBAE359D
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
2023-10-22 15:13:52 +02:00
Sintendo
3c3168706c
PowerPC: Negate m_dec values in frsqrte table
...
This value is used in a multiplication. The result of this
multiplication is then subtracted from m_base. By negating m_dec, we are
free to use an addition instead.
On x64, this saves an instruction.
2023-10-21 21:08:21 +02:00
Dentomologist
c5a8a3fd4a
CheatSearch: Use std comparison function objects
2023-10-20 16:05:47 -07:00
LillyJadeKatrin
db78437498
Refactored welcome message to render after game start
...
Split the "welcome" messages letting players know achievements are active into a separate method that gets called (currently) after a number of frames to ensure that the emulator has started properly and has somewhere to display the messages.
2023-10-19 19:21:12 +02:00
LillyJadeKatrin
a3d561fdff
Add badges to achievement messages
...
Updated OSD::AddMessage calls for achievements and game start to pass in the badges intended to be shown.
2023-10-19 19:13:20 +02:00
Admiral H. Curtiss
c87b2e46b4
Merge pull request #12242 from AdmiralCurtiss/osd-icons
...
VideoCommon: Add support for icons in OSD messages.
2023-10-17 12:46:36 +02:00
Admiral H. Curtiss
53ea7aee1b
Merge pull request #12239 from AdmiralCurtiss/achievementprogresswidget-clearlayout
...
DolphinQt/AchievementProgressWidget: Use ClearLayoutRecursively() to clear layout.
2023-10-17 12:45:40 +02:00
Admiral H. Curtiss
cb13ad7a5f
VideoCommon: Add support for icons in OSD messages.
2023-10-17 02:47:29 +02:00
iwubcode
b292022bc7
VideoCommon: use ToLower function in assets when parsing json, for proper locale independent behavior
2023-10-16 19:23:00 -05:00
iwubcode
fec2a8af8c
VideoCommon: add additional properties to ShaderAsset to support custom shader uniforms
2023-10-16 19:02:27 -05:00
Admiral H. Curtiss
3873664143
DolphinQt/AchievementProgressWidget: Use ClearLayoutRecursively() to clear layout.
2023-10-15 22:54:40 +02:00
LillyJadeKatrin
b824d55093
Add Leaderboards tab to Achievement dialog
...
A new tab is added to the Achievements dialog to chart out the leaderboards in a table. Each row of the table contains the leaderboard information and up to four relevant entries, varying based on how many entries are in the leaderboard, whether or not the player has a submitted score, and where in the leaderboard the player's score is.
2023-10-15 21:28:40 +02:00
LillyJadeKatrin
04df930e0d
Added FetchBoardInfo to AchievementManager
...
FetchBoardInfo is called (via the work queue asynchronously) on a leaderboard every time it is activated or submitted to. It makes two calls to the RetroAchievements API for fetching leaderboard info, one that requests the top four entries in the leaderboard and another that requests the player's entry, the two entries above the player and the two entries below. All of these are inserted into a single map (resolving any overlaps) so the result can be exposed to the UI.
2023-10-15 21:28:40 +02:00
LillyJadeKatrin
61dded7043
Added Leaderboard info map to AchievementManager
...
The leaderboard map created here contains information useful to displaying leaderboard stats in the Achievement dialog, including each leaderboard's name and description and a partial list of entries for display. The entire map is exposed to the UI in a single call for simplicity.
2023-10-15 21:28:40 +02:00
Admiral H. Curtiss
daf9ff012a
Merge pull request #12229 from AdmiralCurtiss/achievement-load-async-lock
...
AchievementManager: Call ActivateDeactivateLeaderboards() and ActivateDeactivateRichPresence() under lock.
2023-10-15 21:27:41 +02:00
Admiral H. Curtiss
1645b1ed62
AchievementManager: Call ActivateDeactivateLeaderboards() and ActivateDeactivateRichPresence() under lock.
...
Both of these functions access `m_game_data` and don't lock themselves, so they must be called in a way that guarantees that `m_game_data` is not modified during the call.
2023-10-15 18:59:36 +02:00
Admiral H. Curtiss
4b2dad074a
DolphinQt: Move GraphicsModListWidget::ClearLayoutRecursively() to QtUtils.
2023-10-15 18:39:05 +02:00
Admiral H. Curtiss
2677fd9a8e
Merge pull request #12185 from iwubcode/custom_shader_uniform_backend_support
...
VideoBackends / VideoCommon: add support for custom shader uniforms to D3D, Vulkan, OGL
2023-10-15 00:21:56 +02:00
Dentomologist
b2a8f7e276
IOS: Convert ObjectSubType to enum class
2023-10-11 14:21:29 -07:00
Admiral H. Curtiss
111c1ab531
AchievementManager: Don't store pointer to rc_runtime_event_t in lambda.
...
Scope issue in the event callback from `rc_runtime_do_frame()`. The pointer points to a variable on the stack from inside `rc_runtime_do_frame()`, so that's a race condition between the thread calling `rc_runtime_do_frame()` and the event queue thread.
2023-10-11 10:32:11 +02:00
iwubcode
b251194a7e
VideoCommon: wait for the GPU to be finished doing any work before invalidating pipelines when graphic config changes
2023-10-10 18:17:24 -05:00
Admiral H. Curtiss
6aadfd522b
Merge pull request #12225 from AdmiralCurtiss/resolution-dropdown-fix
...
Qt/EnhancementsWidget: Fix size of resolution dropdown.
2023-10-10 19:29:22 +02:00
iwubcode
0e8f8ea930
VideoCommon: instead of using 'CustomTextureData' directly, use 'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
2023-10-10 09:58:14 -05:00
Admiral H. Curtiss
7b32530de6
Qt/EnhancementsWidget: Fix size of resolution dropdown.
2023-10-10 15:03:49 +02:00
Admiral H. Curtiss
1b7a590b4b
Merge pull request #12209 from JosJuice/frsqrte-exp-lsb
...
PowerPC: Flip the order of frsqrte_expected
2023-10-10 10:38:07 +02:00
Admiral H. Curtiss
410ec83575
Merge pull request #12213 from dreamsyntax/128_CODE_SIZE_AND_FARCODE_SIZE
...
Jit64: Increase farcode & nearcode cache size
2023-10-10 10:35:23 +02:00
Admiral H. Curtiss
9ebb52537e
Merge pull request #12217 from malleoz/savestate_lz4
...
Savestates: Use LZ4 algorithm for faster decompression
2023-10-10 10:34:38 +02:00
sowens99
1eaa9380dd
Savestates: Use LZ4 algorithm for faster decompression
2023-10-08 20:45:49 -04:00
Nicola Vella
b506bdc401
Fix heap buffer overflow in GCMemcardRaw
2023-10-08 15:13:41 +02:00
Nicola Vella
31dfb53152
Fix heap buffer overflow in GCMemcardRaw
2023-10-06 19:30:03 +02:00
iwubcode
713454b7d7
Metal: update binding mapping for SPRV due to change for custom shader uniforms in other backends (Metal is still not supported)
...
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-10-06 02:17:43 -05:00
iwubcode
a099f4f41b
VideoCommon: given the changes to pipeline interaction, update the global version variable to reflect those changes and force pipelines to be rebuilt
2023-10-06 02:17:43 -05:00
iwubcode
751356af47
VideoCommon: avoid Vulkan validation errors when custom shader ubo isn't set up
...
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-10-06 02:17:43 -05:00
iwubcode
b6d321bfb1
VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available)
2023-10-06 02:17:42 -05:00
iwubcode
92accc3ef7
VideoCommon: add custom pixel shader constants as a buffer of data to be passed to all backends
2023-10-05 21:20:16 -05:00
Filoppi
8027c88e58
Video: add support for 12x resolution multiplier
2023-10-06 01:12:10 +03:00
dreamsyntax
219610d8a0
Jit64: Increase nearcode/farcode size
2023-10-04 13:05:09 -07:00
Admiral H. Curtiss
beebe0a200
Core/BBA/BuiltIn: Replace IP_PROTOCOL with IPV4_ETHERTYPE to avoid conflict with Linux headers.
2023-10-04 16:13:16 +02:00