Commit Graph

4580 Commits

Author SHA1 Message Date
a9a163657c VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer. av_guess_format now returns a pointer to const. 2022-01-30 13:16:51 -06:00
4aeef95746 Fix copy filter clamping when EFB VRAM copies are disabled 2022-01-29 12:23:32 -08:00
36cfcb530f IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
c2d8191fbb Merge pull request #10401 from JosJuice/adreno-primitive-restart
DriverDetails: Disable primitive restart on Adreno
2022-01-28 15:12:43 -05:00
4f292f5ade DriverDetails: Disable primitive restart on Adreno
Turning off primitive restart increases performance a lot on
Adreno for some reason. We're talking numbers like 50%-100% faster
in situations which are bottlenecked by rendering.
2022-01-28 20:25:18 +01:00
f0136e0eb6 Merge pull request #10396 from Pokechu22/efb-copy-clamp
Fix copy filter clamping (again)
2022-01-27 20:12:34 -05:00
cc9ed4815d UberShaderPixel: Fix typo in fog calculation 2022-01-26 20:23:35 -08:00
ab5e71abf3 Merge pull request #10387 from Pokechu22/geometry-shader-always-write-layer
GeometryShaderGen: Write the layer for every vertex
2022-01-26 13:37:40 -08:00
25c547e9e5 Fix incorrect copy filter clamping
We need to clamp to the center of pixels, or else things end up working out incorrectly.  This also fixes an off-by-1 for the bottom line.
2022-01-25 19:53:25 -08:00
e741d4783a TextureConverterShaderGen: Add missing newline 2022-01-25 13:22:56 -08:00
8d7eff2a8a VideoCommon: Move logging/seen check for unknown opcodes into CommandProcessor
That way, they're in the same place the panic alerts are generated.
2022-01-22 22:04:15 -08:00
79b2185117 OpcodeDecoding: Don't raise panic alerts for unknown opcodes 0x01-0x07
A pop-up is no longer generated for the Wiggler capsule in Mario Party 5 (https://bugs.dolphin-emu.org/issues/8104).
2022-01-22 16:49:19 -08:00
6420845fcb GeometryShaderGen: Write the layer for every vertex
At least in GLSL, after calling EmitVertex() the value of all 'out' variables (including gl_Layer and ps) becomes undefined.  On OpenGL it seems like they were unchanged, but on Vulkan they became 0, resulting in bad rendering.

Fixes https://bugs.dolphin-emu.org/issues/12001
2022-01-22 12:16:48 -08:00
3175e38a2e GXPipelineUid: remove explicit shallow copy where it's the default 2022-01-16 22:34:39 -08:00
29d6dd609c Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
5465775d11 Fix ambiguous uses of format_to
At least in MSVC (which is not restricted from targetting C++20), these can be resolved to either std::format_to or fmt::format_to (though I'm not sure why the std one is available).  We want the latter.
2022-01-13 11:11:08 -08:00
ac46b91673 Make all fmt::formatter constructors constexpr 2022-01-13 11:11:08 -08:00
78e43a4404 Make all custom fmt::formatter's format functions const
fmt 8.0.0 requires this.
2022-01-13 11:11:08 -08:00
0cc211d1ef Use fmt::format_string 2022-01-13 11:11:08 -08:00
ff8965c40b Replace uses of undocumented/deprecated fmt::format_to overload
This was deprecated in fmt 8.0.0.
2022-01-13 11:11:08 -08:00
fc0d958e26 PixelShaderGen: Fix invalid use of int3(0)
This syntax is allowed by GLSL, but HLSL doesn't allow it.  This meant that games using R8 comparisons in equal mode would produce shaders that failed to compile.  Super Mario Galaxy's water levels were affected by this.
2022-01-12 21:50:34 -08:00
c18abfaecc Merge pull request #10356 from AdmiralCurtiss/config-port-core-4
Config: Port remaining Core settings to new config system (the rest).
2022-01-11 16:08:19 -05:00
161c627466 Treewide: Remove unused inclusions of <cinttypes>
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
44e93e91d7 Common/Assert: Switch to fmt 2022-01-09 12:43:11 -08:00
c82b2dccb5 Config: Port SyncGPU settings to new config system. 2022-01-09 21:29:12 +01:00
d8825f5635 Config: Port dual core setting to new config system. 2022-01-09 21:29:11 +01:00
4c0dcf42b8 Merge pull request #10346 from iwubcode/fixed_shader_precompile_parallelization
VideoCommon: Fix shader precompilization detection
2022-01-06 16:28:15 -05:00
d98c6b0b1d Config: Port GPUDeterminismMode setting to new config system. 2022-01-06 16:13:55 +01:00
fb47035f97 Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
9b4e5b00ee VideoCommon: assume the majority of os/drivers support parallel compiling of shaders, we can create bugs if there are issues. Android is assumed buggy 2022-01-04 20:40:07 -06:00
9a914d33d5 Merge pull request #9414 from DevJPM/master
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2022-01-04 10:15:12 -05:00
0de008da11 Merge pull request #10332 from AdmiralCurtiss/config-port-general
Config: Port remaining General settings to new config system.
2022-01-03 01:40:37 +01:00
afd02b79a5 VideoCommon: Add names for textures and shaders 2022-01-01 11:38:56 -08:00
d590aa88a4 Config: Port remaining General settings to new config system. 2022-01-01 19:02:45 +01:00
aa437d9805 Config: Port Movie settings to new config system. 2021-12-30 20:16:17 +01:00
a96cfe2531 GLES: Fix LOD bias int/float mismatch
Another simple GLES shader compilation error.
2021-12-28 19:19:22 +01:00
01e8e950e8 Merge pull request #10292 from OatmealDome/lodbias-take-two
PixelShaderGen: Use LOD bias when sampling texture on Metal and OpenGL ES
2021-12-28 02:45:14 -05:00
056613ecc5 PixelShaderGen: Add LOD bias to texture() call on systems that don't support it in the sampler 2021-12-28 02:10:45 -05:00
4e12d6e871 ShaderGenCommon: Add bit for LOD bias 2021-12-28 02:10:39 -05:00
08396c56e5 VideoConfig: Add bool for sampler LOD bias support 2021-12-25 15:16:27 -05: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
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
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
e7d5f8ad5c TextureCacheBase: Re-wrap GetTexture comment 2021-12-18 15:21:48 -08:00
d1cc539476 BPMemory: Correct spelling of MaxAniso 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