Commit Graph

36264 Commits

Author SHA1 Message Date
3e1511ce98 Common/FileUtil: Ensure consistency for custom user paths. 2021-12-25 20:21:32 +01:00
1554128560 MemArena: Prepare interface for proper memory reservation. 2021-12-25 20:20:36 +01:00
812cc8b632 MemArena: Split into three separate files for each OS. 2021-12-25 20:20:36 +01:00
a29d7625dd Merge pull request #10282 from JosJuice/android-wfs-root-configurable
Android: Make WFS directory configurable
2021-12-25 13:13:43 -05:00
1295bc4272 Jit64: Make paired loads always safe
It's always a good sign when the comments say "this will definitely
crash" and "I don't know if this is for a good reason".

Fixes https://bugs.dolphin-emu.org/issues/12762.
2021-12-24 19:09:12 +01:00
75bf008aba Android: Make WFS directory configurable
The Android version of 5ecd5f0. No scoped storage support, though...
2021-12-24 11:30:09 +01:00
26bfe788ba Merge pull request #10283 from JosJuice/memmap-nullptr
Memmap: Replace some GetPointer calls
2021-12-24 11:17:03 +01:00
5dd2ddb1df Memmap: Replace some GetPointer calls
These GetPointer calls could cause crashes, in part because the
callers didn't do null checks and in part because GetPointer
inherently is unsafe to use for accesses larger than 1 byte.
2021-12-24 11:03:58 +01:00
1cd148d4c5 GeomeryShaderGen: Set gl_ClipDistance on Vulkan as well as OpenGL
Fixes https://bugs.dolphin-emu.org/issues/12548
2021-12-23 17:56:21 -08:00
de7c78ef3d ControllerEmu: Hide the cursor if the input gate is disabled 2021-12-23 15:22:35 -08:00
86f2b39d66 FifoPlayer: Wait after clearing the screen
If we don't wait, then the copy will be performed at a later time, which may overwrite memory updates.
2021-12-23 12:35:18 -08:00
d981944d7c FifoPlayer: Fix uninitialized variable warnings in ClearEfb
The actual values don't matter since we overwrite all of the relevant fields, but other bits were not initialized (e.g. the top 12 bits of X10Y10), so the warning was semi-valid.
2021-12-23 12:35:18 -08:00
6dae4043cb Merge pull request #10281 from Pokechu22/static-lighting-struct-string
LightingShaderGen: Make s_lighting_struct not inline
2021-12-22 19:46:11 -05:00
85025612bc LightingShaderGen: Make s_lighting_struct not inline
This generated warnings on the freebsd builder.
2021-12-22 15:17:52 -08:00
e6f40fa015 Merge pull request #10279 from Pokechu22/intensity-alpha
TextureConverterShaderGen: Set alpha to 1 on intensity formats if EFB lacks alpha
2021-12-23 00:14:06 +01:00
b1f79d9ecf Merge pull request #10215 from OatmealDome/shader-logic-ops
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
2021-12-22 16:39:54 -05:00
b6395a7c49 PPCAnalyst: Don't treat blr as writing to CR
This piece of code is rather hard to understand, but my best guess
at what it's trying to do is that it tries to create opportunities
to skip writing CRs back to ppcState if we know that there are no
CR instructions (or branch instructions, etc) between an instruction
that writes to a CR register and the next blr. This is technically
inaccurate emulation, but as long as games don't do anything too
weird with their ABIs, I suppose it doesn't break anything.

So why do I want to get rid of it? Well, other than breaking some
hypothetical weird game, I imagine it could trip up people trying
to debug a game who are looking at the CR contents. And the code
is just plain confusing. (blr clearly doesn't write to CRs!)
2021-12-21 21:29:55 +01:00
254f39cf78 GameSettings: Add patch for black screen effects in Pokémon Battle Revolution 2021-12-20 11:34:05 -08:00
fd2324e40a Fifo analyzer: Rename mipmap filter to half scale for EFB copies
The field itself is named half_scale, and it can be used for things unrelated to mipmaps, so reflecting that name in the fifo analyzer helps.
2021-12-20 11:34:05 -08:00
2f6953efb6 TextureConverterShaderGen: Set alpha to 1 on intensity formats if EFB lacks alpha
We were already doing this for non-intensity formats, but it seems like the same applies to intensity formats.
2021-12-20 11:34:05 -08:00
820a424dcd Merge pull request #10272 from JosJuice/android-intent-uri
Android: Rework intent handling to work under scoped storage
2021-12-20 14:30:16 -05:00
1d146a9e15 Merge pull request #10236 from JMC47/n64vc
Cleanup and Update N64 Virtual Console INIs
2021-12-20 14:29:40 -05:00
32fed91b0d Merge pull request #9718 from Pokechu22/better-fifo-analyzer-part-3
Fifo analyzer improvements, part 3
2021-12-20 14:27:14 -05:00
1714dc64bb Merge pull request #10120 from Sintendo/jit64arithcxrefactor
Jit64: Merge arithcx into addx/subfx
2021-12-20 14:20:49 -05:00
9ed368ead7 Merge pull request #9376 from merryhime/rlwimix2
Jit_Integer: Optimize rlwimix
2021-12-20 14:20:26 -05:00
a8a8b294cd Android: Remove all setRetainInstance calls
Our reasons for using setRetainInstance were gotten rid of in PRs
9011 and 10008, so let's remove our calls to this deprecated method.
2021-12-19 14:45:51 +01:00
2d1c7352e4 Merge pull request #10280 from iwubcode/wfs_root_configurable
Core / DolphinQt: make WFS directory configurable
2021-12-18 19:02:53 -05:00
ffa512f5e7 DolphinTool: Remove direct dependency on core
Videocommon also depends on core, which resulted in linking errors (though I'm not sure why).  Ideally, dolphintool woudln't depend on videocommon... but some stuff in core does.
2021-12-18 15:24:29 -08:00
e7d5f8ad5c TextureCacheBase: Re-wrap GetTexture comment 2021-12-18 15:21:48 -08:00
f4f4dbbc63 Switch to the Play / Record tab when fifo playback stops 2021-12-18 15:21:48 -08:00
d1cc539476 BPMemory: Correct spelling of MaxAniso 2021-12-18 15:21:48 -08:00
f0f12ac8d7 Fifo analyzer: Decode floats in primitive data 2021-12-18 15:21:48 -08:00
27cb704466 Eliminate VarType for ComponentFormat 2021-12-18 15:21:48 -08:00
1a964891f8 VertexLoader_Color: Use Common::swap24 2021-12-18 15:21:48 -08:00
95e0f833f9 Fifo analyzer: Display equations for color/alpha combiners 2021-12-18 15:21:48 -08:00
0afe318b55 OpcodeDecoding: Make s_is_fifo_error_seen static 2021-12-18 15:21:48 -08:00
d039b1bc0d VideoCommon: Move VertexLoaderManager logic out of CPState 2021-12-18 15:21:48 -08:00
e4605fa399 Fifo analyzer: Create a new object for each EFB copy
Previously, EFB copies would be in the middle of other objects, as objects were only split on primitive data.  A distinct object for each EFB copy makes them easier to spot, but does also mean there are more objects that do nothing when disabled (as disabling an object only skips primitive data, and there is no primitive data for EFB copies).
2021-12-18 15:21:48 -08:00
d84d695fdf Remove DataReader from LoadXFReg 2021-12-18 15:21:48 -08:00
b5fd35f951 Refactor OpcodeDecoding and FIFO analyzer to use callbacks 2021-12-18 15:21:36 -08:00
0441826206 Fix wrapping in FifoPlayer comment 2021-12-18 12:51:56 -08:00
d5cfac71d0 Refactor object listing code
This also adds the commands after the last primitive data but before the next frame as a unique object; this is mainly just the XFB copy.  It's nice to have these visible, though disabling the object does nothing since only primitive data is disabled and there is no primitive data in this case.
2021-12-18 12:51:56 -08:00
1914087998 Create and use CPArray enum class 2021-12-18 12:51:56 -08:00
3aaeb2b9ef Convert OpcodeDecoder::Opcode and OpcodeDecoder::Primitive to enum class 2021-12-18 12:51:56 -08:00
3fc12431c5 Remove parameters to SWVertexLoader::SetFormat
They haven't been used since efbe5bc4b6.
2021-12-18 12:51:56 -08:00
205ab23d80 GeometryShaderGen: Convert to EnumMap 2021-12-18 12:51:55 -08:00
f53dc6564f UberShaderPixel: Convert to EnumMap 2021-12-18 12:51:55 -08:00
380b333387 PixelShaderGen: Convert to EnumMap 2021-12-18 12:51:55 -08:00
2b1d1038a6 VertexLoader: Convert to EnumMap 2021-12-18 12:51:55 -08:00
327126d1e8 ShaderGenCommon: Add WriteSwitch 2021-12-18 12:51:55 -08:00