Commit Graph

4356 Commits

Author SHA1 Message Date
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
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
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
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
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
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
2025763420 Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
74a979db09 UberShaderPixel: Add shader logic ops support on OpenGL ES 2021-12-06 22:36:40 -05:00
18b2f6953d PixelShaderGen: Add shader logic ops support on OpenGL ES
To do this, I had to decouple framebuffer fetch from shader blending. We need to be able to access framebuffer fetch input when using shader logic ops.
2021-12-06 22:36:40 -05:00
a77ae14d94 UberShaderPixel: Add shader logic ops support on Metal 2021-12-06 22:36:40 -05:00
e0837cb847 PixelShaderGen: Add shader logic ops support on Metal 2021-12-06 22:36:40 -05:00
426c68b5a0 ShaderCache: Don't turn on logic ops approximation if framebuffer fetch is supported 2021-12-06 22:36:40 -05:00
c12b9b013b PixelShaderGen: Add logic ops to pixel_shader_uid_data 2021-12-06 22:36:34 -05:00
0327bc2ab6 Merge pull request #10256 from malleoz/show-rerecord-count
Renderbase: Show rerecord count
2021-12-03 14:42:10 +13:00
c12e4e8ee0 Merge pull request #10244 from phire/ban-timetravel
Delay singlecore gpu interrupts; Fixes Bomberman Jetters in single core mode.
2021-12-02 07:21:41 -05:00
e4fed7cce8 Add Rerecord Count display
Simply shows Movie::s_rerecords in the ImGui Movie window
2021-11-30 20:08:29 -05:00
04ec02c06b ConstantManager: Add logic ops to PixelShaderConstants 2021-11-24 17:52:26 -05:00
f5c550e9cb Delay singlecore gpu interrupts
Fixes Bomberman Jetters in single core mode.

When single core mode pauses the CPU to execute the GPU
FIFO it greedily executes the whole thing. Before this commit,
Finish and Token interrupts would happen instantly, not even
taking into account how long the current FIFO window has
taken to execute. The interrupts would be effectively backdated
to the start of this execution window.

This commit does two things: It pipes the current FIFO window
execution time though to the interrupt scheduling and it enforces
a minimum delay of 500 cycles before an interrupt will be fired.
2021-11-25 11:11:01 +13:00