TellowKrinkle
a5ef9dfd53
VideoBackends:Metal: Use DriverDetails for bugs
2022-07-21 20:44:19 -05:00
TellowKrinkle
716c0980d7
VideoBackends: Add Metal renderer
2022-07-21 20:44:19 -05:00
Admiral H. Curtiss
b0b5faa793
Merge pull request #10874 from JosJuice/cmpr-layout
...
VideoCommon: Fix CMPR compute shader layout
2022-07-19 12:05:29 +02:00
JosJuice
1a2bc2eff9
VideoCommon: Fix CMPR compute shader layout
...
Looks like a copy-paste gone wrong. The compute shaders for the other
formats use a group size of 8 * 8, whereas the CMPR compute shader
is supposed to use a flattened 64 * 1 as I understand it.
2022-07-18 18:56:50 +02:00
TellowKrinkle
88c85ce471
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-17 20:50:53 -05:00
Joon Park
319288de8e
Fix OpenGL error on M1 Mac.
...
Followup to #10466 . Resolves the following error:
ERROR: 0:85: '&' does not operate on 'uvec3' and 'int'
2022-07-17 08:54:39 -04:00
JMC47
70b0b03c3c
Merge pull request #10747 from tellowkrinkle/LateUIDFixup
...
Add a post-cache shader UID fixup pass
2022-07-17 00:43:16 -04:00
Pokechu22
a6e06f38ad
Add notes about precision of YUV->RGB conversion factors for XFB
2022-07-16 00:07:10 -07:00
Pokechu22
e7339d63f1
Rework TextureConversionShader for hardware accuracy and simplicity
2022-07-16 00:07:10 -07:00
Pokechu22
b16ec5b6dc
Rework TextureConverterShaderGen for hardware accuracy and simplicity
2022-07-16 00:07:10 -07:00
Pokechu22
791bd16b28
Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
...
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
TellowKrinkle
89ae060214
VideoCommon: Increase uniform stream buffer size to 64mb
...
Densha De Go uses 27mb per frame, and we want enough space for the CPU to be encoding one frame while the GPU is rendering the previous
2022-07-15 18:21:50 -05:00
TellowKrinkle
fb5648541c
VideoCommon: Remove dstalpha from BlendingState
...
It's not supported by any PC graphics API, and therefore completely unused
2022-07-15 15:31:47 -05:00
TellowKrinkle
991024173e
VideoCommon: Always use fbfetch in ubershaders if available
...
Reduce the number of different pipelines needed. Also works around drivers that break when you combine fbfetch with dual source blending
2022-07-15 15:31:47 -05:00
Pokechu22
d20094efa2
Add extra Low and High fields to CopyFilterCoefficients
...
This struct is the only one in BPMemory that uses u64 as its base. These fields are to allow viewing it as two u32s instead. It's not used by Dolphin right now, but it is used in the copy of BPMemory.h used by hwtests.
2022-07-15 12:29:40 -07:00
Pokechu22
bed278d3b7
Create dedicated enum for EFB/XFB gamma correction
...
This also changes the behavior for the invalid gamma value, which was confirmed to behave the same as 2.2.
Note that currently, the gamma value is only used for XFB copies, even though hardware testing indicates it also works for EFB copies. This will be changed in a later commit.
2022-07-15 12:29:40 -07:00
Pokechu22
dd41a72378
Only use intensity formats if both intensity_fmt and auto_conv are set
...
auto_conv is normally always set for EFB copies, but hardware testing indicates that intensity_fmt does nothing if auto_conv is not set.
2022-07-15 12:29:40 -07:00
Pokechu22
cd2cc5fa22
Rename EFB copy bit 2 from yuv to unknown_bit
...
It was named yuv in 522746b2c2
, but hardware testing indicates that that bit does nothing (the intensity format bit enables YUV conversion, instead).
2022-07-15 12:29:40 -07:00
Pokechu22
850e524514
Use fmt::to_string for texture format overlay
...
This required adding parentheses to the font used by that.
2022-07-15 12:29:40 -07:00
Pokechu22
290e62f179
Remove casts to integers for texture and EFB formats
...
The only remaining casts for these types that I know of are in TextureInfo (where format_name is set to the int version of the format, and since that affects filenames and probably would break resource packs, I'm not changing it) and in TextureDecoder_Common's TexDecoder_DrawOverlay, which will be handled separately.
2022-07-15 12:29:40 -07:00
TellowKrinkle
6ab24e6c17
VideoCommon: Better driver bug handling
...
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-07-13 21:51:24 -05:00
JMC47
e237aa1435
Merge pull request #10777 from tellowkrinkle/EFBFlush
...
VideoCommon: Remember to flush command buffers after multiple EFB copies
2022-07-13 19:45:31 -04:00
JMC47
5663a44962
Merge pull request #10842 from tellowkrinkle/ClearBackendInfo
...
VideoCommon: Clear backend_info before populating
2022-07-13 16:40:46 -04:00
TellowKrinkle
f83015649c
VideoCommon: Clear backend_info before populating
2022-07-13 02:55:54 -05:00
TellowKrinkle
6bd0fc86ba
VideoCommon: Properly mask fbfetch logic op emulation
2022-07-13 02:27:45 -05:00
JMC47
cce6133ef6
Merge pull request #10749 from tellowkrinkle/IntelUbershaders
...
VideoCommon: Fix ubershaders on MoltenVK Intel
2022-07-10 19:35:55 -04:00
Admiral H. Curtiss
e072aaa769
ShaderCache: Fix inverted usage of palette_format.
2022-07-09 13:17:53 +02:00
JMC47
fac66897af
Merge pull request #10819 from Dentomologist/fix_shader_compilation_warnings
...
VideoCommon: Fix D3D shader compilation warnings
2022-07-08 18:46:29 -04:00
JMC47
828afc6735
Merge pull request #10673 from iwubcode/spirv-backends
...
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
Dentomologist
e1e0f42b37
VideoCommon: Fix D3D shader warning X3557 (single iteration loop)
...
Fix warning "loop only executes for 1 iteration(s), forcing loop to
unroll" when vertex_in == 1
2022-07-08 00:25:55 -07:00
Dentomologist
71541c1324
VideoCommon: Fix D3D shader warning X4000 (uninitialized variables)
...
Initialize alpha_A and alpha_B. They were previously only initialized in
cases where they were used, but D3D isn't able to figure that out.
2022-07-08 00:25:14 -07:00
Dentomologist
0fac1d6e87
VideoCommon: Fix D3D shader warning X3571 (negative base for pow())
...
Add abs() to fix "pow(f, e) will not work for negative f, use abs(f) or
conditionally handle negative values if you expect them".
2022-07-08 00:19:05 -07:00
TellowKrinkle
3ee4b89a46
VideoCommon: Remember to flush command buffers after multiple EFB copies
2022-07-06 18:38:05 -05:00
Admiral H. Curtiss
3bcd7aced9
Merge pull request #8467 from CookiePLMonster/interruptable-shader-precompile
...
Make shader precompilation interruptable
2022-07-02 13:08:37 +02:00
JosJuice
07a15a3228
Merge pull request #10624 from Minty-Meeo/resolve-gcc-warnings
...
Resolve Linux GCC Warnings
2022-07-02 09:17:44 +02:00
Minty-Meeo
69e32dea52
Resolve GCC Warnings
2022-06-30 15:26:48 -05:00
iwubcode
4788a05c76
VideoCommon: fix projection graphics mod affecting more than the intended draw call
2022-06-29 20:04:59 -05:00
iwubcode
1480b78f64
VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n'
2022-06-27 18:20:52 -05:00
iwubcode
69839df1eb
VideoCommon: support dynamically updating game mods at runtime
2022-06-27 18:20:52 -05:00
iwubcode
892678648e
VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
2022-06-27 18:20:52 -05:00
iwubcode
62c186e14b
VideoCommon: add UninitializeEFBMemory to mirror XFB function
2022-06-27 18:20:52 -05:00
iwubcode
0f88155729
Core / DolphinQt / VideoCommon: add setting for enabling graphic mods
2022-06-27 18:20:52 -05:00
iwubcode
f416b71925
VideoCommon: add logic to handle a GraphicsMod while Dolphin is running
2022-06-27 18:20:52 -05:00
iwubcode
254246b814
VideoCommon: add logic to read a GraphicsMod from configuration
2022-06-27 18:20:52 -05:00
iwubcode
f92beb611f
VideoCommon: add game mod constants
2022-06-26 21:53:21 -05:00
iwubcode
4fbbd85ef4
VideoCommon: create variables for EFB/XFB copy prefix. Reword prefix to 'efb1' and 'xfb1' to match textures
2022-06-26 21:53:21 -05:00
iwubcode
b9995b04a0
VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file
2022-06-26 00:45:13 -05:00
iwubcode
7854afe512
VideoCommon: add support for setting and getting the stage from the texture info
2022-06-26 00:45:13 -05:00
iwubcode
a1892a9c68
VideoCommon: add function to check whether TextureFormat is a valid value
2022-06-26 00:45:13 -05:00
iwubcode
a8b5266347
VideoCommon: enable optimizer and remove debug details when converting GLSL to SPIR-V with validation layers turned off
2022-06-24 18:09:53 -05:00
iwubcode
dda1479ecf
VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality
2022-06-24 18:09:53 -05:00
iwubcode
c2d3b7e7f5
VideoCommon: update pixel shader output to match old D3D code
2022-06-24 18:09:53 -05:00
iwubcode
cad1d6ce90
VideoCommon: fix support of stereoscopic rendering after moving d3d to SPIRV generation
2022-06-24 18:09:53 -05:00
iwubcode
993fa3bf94
VideoCommon: update UberShaderPixel to properly support logic ops, matching the specialized shader
2022-06-24 18:09:53 -05:00
iwubcode
5dd2704416
D3D / VideoCommon: generate HLSL from SPIRV
2022-06-24 18:09:53 -05:00
iwubcode
3790c99a7d
VideoCommon: add common spirv helper functions
...
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
Pokechu22
1faca4bfc7
Merge pull request #10752 from tellowkrinkle/BetterShaderNames
...
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00
JMC47
ffa3bf86fb
Merge pull request #10760 from tellowkrinkle/std430
...
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04:00
Pierre Bourdon
6ddff87d42
Merge pull request #10755 from tellowkrinkle/DebugUID
...
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
Braxton Anderson
2b2b8e932d
Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter
2022-06-17 20:11:53 -06:00
TellowKrinkle
f79ac768d8
VideoCommon:ShaderCache: Add const to some local variables
2022-06-17 20:14:32 -05:00
TellowKrinkle
26529a31ab
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-16 20:26:11 -05:00
TellowKrinkle
c7892d7371
VideoCommon: Name ubershaders
2022-06-16 02:08:45 -05:00
TellowKrinkle
23c1721fbd
VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders
2022-06-16 02:08:45 -05:00
TellowKrinkle
3fe1a1a3d7
VideoCommon: Don't add garbage to shader uids in debug builds
...
There wasn't anything stopping compilers from doing it in release builds either, but most optimizations would make the padding zero
2022-06-14 21:51:58 -05:00
TellowKrinkle
25929789c1
VideoCommon: Don't pass State by inout
...
Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`. Not all Metal backends handle this mess well. In particular, it causes register spills on Intel, losing about 5% in performance.
2022-06-14 00:48:47 -05:00
TellowKrinkle
db6e928c8d
VideoCommon: Fix Intel GPUs on Metal/Vulkan locking up in ubershaders
2022-06-14 00:48:47 -05:00
Silent
7faf5ea170
Clear the UI after async shader compilation
2022-06-10 17:19:59 +02:00
Silent
dcad3ec892
Allow to interrupt shader precompilation by stopping emulation
2022-06-10 17:11:32 +02:00
OatmealDome
6e2febd404
VideoBackendBase: Remove __builtin_available for macOS 10.14
2022-06-01 22:57:51 -04:00
Dentomologist
f6b9acccfc
Common: Refactor PointerWrap
2022-05-25 13:06:41 -07:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
Mai M
a98d0367d8
Merge pull request #10677 from Pokechu22/no-printf-log
...
Remove printf-style logging
2022-05-19 17:55:17 -04:00
Pokechu22
2aa0ae097b
Merge pull request #10672 from Pokechu22/xf-invtxspec
...
Show panic alerts if the CP configuration doesn't match the XF configuration
2022-05-19 13:13:53 -07:00
Pokechu22
0637c17b59
VideoCommon/FrameDump: printf-format messages before logging them
2022-05-19 12:41:58 -07:00
Pokechu22
8df55b492c
Show a panic alert if the CP matrix indices don't match the XF matrix indices
...
This almost certainly never happens, but if it does we want to know.
2022-05-18 14:43:14 -07:00
Pokechu22
38a75f6a49
Show a panic alert if the CP vertex config doesn't match the XF vertex config
...
This probably isn't triggered by real games, but it's possible to accidentally do it with libogc (which results in freezes on real hardware).
2022-05-18 14:43:14 -07:00
Pokechu22
46bcdc4372
Rename CP and XF normal component count enums and update their descriptions
2022-05-18 14:43:14 -07:00
Pokechu22
736466a5d9
XFMemory: Rename hostinfo to invtxspec
2022-05-18 14:43:14 -07:00
Pokechu22
3949698acf
Verify graphics config validity after populating the backend info
...
... and refresh the config before populating the backend info, as the config (specifically iAdapter) needs to be set to correctly populate the backend info.
Before, the list of valid antialiasing modes was always determined from the first adapter on the list on startup, regardless of the adapter the user selected.
2022-05-16 16:59:57 -07:00
Shawn Hoffman
56626f73bf
fmt: fix 'ambigous overload' error
2022-05-10 19:19:52 -07:00
Admiral H. Curtiss
01d4a2e9cc
TextureCacheBase: Don't log error while measuring state size.
2022-04-26 21:26:42 +02:00
JMC47
c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
...
Rework scissor handling
2022-04-24 15:00:42 -04:00
JMC47
c42392c565
Merge pull request #10290 from OatmealDome/m1-earlyz-bug
...
DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs
2022-04-24 13:30:04 -04:00
Pokechu22
784079853d
VideoCommon: Add comment explaining why only the first normal gets normalized
...
Co-authored-by: Scott Mansell <phiren@gmail.com>
2022-04-22 16:54:38 -07:00
Pokechu22
2a5c77f43f
VideoCommon: Handle emboss texgen with only a single normal
...
Fixes a large number of effects in Rogue Squadron 2 and 3.
2022-04-22 16:54:38 -07:00
Pokechu22
39b2854b98
VertexLoader: Convert count register to remaining register
...
This more accurately represents what's going on, and also ends at 0 instead of 1, making some indexing operations easier. This also changes it so that position_matrix_index_cache actually starts from index 0 instead of index 1.
2022-04-22 16:54:38 -07:00
Pokechu22
97d0ff58c8
Convert vertex loader position cache to std::array
2022-04-22 16:54:38 -07:00
Pokechu22
f722bdf7f1
VertexLoaderX64: Refactor so that zfreeze is only in one place
...
(Specifically, the copy for VertexLoaderManager::position_cache. The position matrix index happens elsewhere, and the float path still has special logic to copy to scratch3.)
2022-04-22 16:54:38 -07:00
Pokechu22
6f1350ae51
VertexLoaderARM64: Fix z-freeze position matrix index
...
Before, it would always write to index 0 (which is unused). Now it writes to the correct index.
2022-04-22 16:54:38 -07:00
Pokechu22
04fdadd9d5
VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal
2022-04-22 16:54:36 -07:00
Pokechu22
88134a6786
VertexShaderGen: Simplify normal calculation
...
This is a readability change; there should be no functional or performance differences.
2022-04-22 16:51:58 -07:00
OatmealDome
259a5fc7c0
DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs
2022-04-20 14:56:34 -04:00
OatmealDome
e7f5e5172c
DriverDetails: Introduce new VENDOR_APPLE for Apple GPUs
2022-04-19 10:55:27 -04:00
OatmealDome
80dfefb32e
UberShaderPixel: Add support for non-dual source shader blending
2022-04-19 10:55:26 -04:00
OatmealDome
c1d87db6fa
PixelShaderGen: Add support for non-dual source shader blending
2022-04-19 10:55:26 -04:00
Admiral H. Curtiss
ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-18 23:48:00 +02:00
Admiral H. Curtiss
853cf4f818
Common/PointerWrap: Hide internals.
2022-04-18 03:41:14 +02:00
Pokechu22
f3eff70e2f
Implement ImGui window for scissor rectangles
...
This is mainly for debugging, and is only exposed by manually editing the configuration.
2022-04-16 12:35:00 -07:00
Pokechu22
076392a0f6
VideoCommon: Rework scissor handling
...
This increases accuracy, fixing the white rendering in Major Minor's Majestic March. However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening. If possible, this will need to be fixed later.
2022-04-16 10:26:11 -07:00
Pokechu22
4595b89ad8
VideoCommon: Remove bSupportsOversizedViewports
...
I think this is a relic of D3D9. D3D11 and D3D12 seem to work fine without it. Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
Pokechu22
b85b35d5ea
VideoCommon: Create dedicated structs for scissor pos/offset
2022-04-16 10:26:10 -07:00
Scott Mansell
c5c4169bc8
Merge pull request #10255 from Pokechu22/sw-zfreeze
...
Software: Fix zfreeze with CullMode::All
2022-04-15 11:12:49 +12:00
JosJuice
abffa93a72
MoltenVK: Fix pixel shader typo
2022-04-10 20:51:20 +02:00
Mai M
e932a1bfb7
Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmt
...
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 14:19:39 -04:00
Pokechu22
59f299d5d6
Software: Fix zfreeze with CullMode::All
2022-04-08 20:05:32 -07:00
Pokechu22
3a742e99bb
Software: Remove config to disable ZComploc and ZFreeze
...
These aren't particularly useful, and make the code a bit more confusing. If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them. They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08 20:05:32 -07:00
Pokechu22
4e9a314776
Round viewport coordinates when vertex rounding is enabled
...
This should fix https://bugs.dolphin-emu.org/issues/9105
2022-04-08 18:30:59 -07:00
Pokechu22
dbb857b175
VertexShaderManager: Use g_ActiveConfig.UseVertexRounding()
2022-04-08 18:30:59 -07:00
Pokechu22
f6ab317374
Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING)
2022-04-08 18:30:59 -07:00
Admiral H. Curtiss
df214af8a1
VideoCommon/FrameDump: Fix log messages with arguments.
2022-04-09 01:42:02 +02:00
Admiral H. Curtiss
3382408b8e
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 00:45:49 +02:00
JMC47
e02194057b
Merge pull request #10412 from Pokechu22/sw-efb-peek-alpha
...
Software: Implement pixel engine alpha read mode
2022-04-07 17:01:56 -04:00
JosJuice
7a33659e7b
Merge pull request #10485 from JosJuice/real-ocol0-logic-ops
...
Shadergen: Use real_ocol0 workaround for shader logic ops
2022-04-07 21:00:24 +02:00
Shawn Hoffman
4fad2c26e4
framedump: enable compat with utvideo codec
2022-03-29 17:27:59 -07:00
Shawn Hoffman
decaea8f9b
FrameDump: improve debug logging
2022-03-29 17:27:59 -07:00
Shawn Hoffman
09432ef098
windows: move ffmpeg bins to submodule
...
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
Pokechu22
8882eb040a
PixelEngine: Convert to BitField and enum class
2022-03-29 15:34:43 -07:00
Pokechu22
45b8ebeb25
PixelEngine: Remove old comment
...
This comment was added in 76d24f2c0d
(the link was updated in 5799824b22
, but both are dead now). An archived version is at https://web.archive.org/web/20090830050441/http://developer.nvidia.com/object/General_FAQ.html#t6 but it's about the number of available texture units, which doesn't seem relevant to PixelEngine.
2022-03-29 15:34:43 -07:00
Pokechu22
30a34d06c1
RenderBase: Add call to IMGUI_CHECKVERSION()
2022-03-25 10:24:07 -07:00
JosJuice
f1f02180fa
VideoCommon: Remove redundant in qualifiers
...
ANGLE raises a compilation error otherwise.
2022-03-21 22:16:25 +01:00
JosJuice
bbb64ff993
Shadergen: Use real_ocol0 workaround for shader logic ops
...
Previously we were using this workaround when using framebuffer fetch
to emulate dual source blending, but it seems like we also need to use
it when using framebuffer fetch to emulate logic ops, otherwise some
Adreno devices get a crash when compiling OpenGL ES ubershaders.
Using the workaround in specialized shaders doesn't seem to be
necessary, but I've made the same change there for consistency.
This gets us closer to fixing https://bugs.dolphin-emu.org/issues/12791
but doesn't actually fix it.
2022-02-28 18:32:19 +01:00
JMC47
f65dc6d525
Merge pull request #10441 from OatmealDome/improved-logic-op-workaround
...
BlendingState: Set source and destination alpha factors in logic op workaround
2022-02-28 12:17:25 -05:00
JosJuice
608799f1e4
PixelShaderGen: Check uid_data for use_shader_logic_op
...
On devices which have hardware support for dual source blending
but not logic ops, this lets us skip performing the framebuffer
fetch in situations where the game isn't actually using logic ops.
2022-02-28 00:04:31 +01:00
Pokechu22
23cbd570a1
FramebufferManager: Flush pending EFB pokes in PopulateEFBCache
...
I.e. flush pokes before running an EFB peek, if the cache tile isn't present. If the cache tile is present, then EFB pokes should have been written to the cache tile and thus don't need to be flushed.
2022-02-21 13:23:22 -08:00
Léo Lam
eb98bcd2ae
Merge pull request #10455 from Pokechu22/directly-map-fifo-breakpoint
...
CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
2022-02-18 18:54:06 +01:00
Léo Lam
fa059b20ba
Merge pull request #10460 from Dentomologist/convert_option_type_to_enum_class
...
VideoCommon: Convert OptionType to enum class
2022-02-18 18:40:59 +01:00
Léo Lam
067fbe8f86
Merge pull request #10376 from shuffle2/uidctor
...
GXPipelineUid: remove explicit shallow copy where it's the default
2022-02-18 18:39:59 +01:00
Techjar
63181f0446
ShaderGenCommon: Add missing <functional> include
2022-02-18 06:34:01 -05:00
Dentomologist
edbe202aa3
VideoCommon: Convert OptionType to enum class
2022-02-17 10:03:08 -08:00
Merry
be81fe86e1
JitRegister: Use fmt
...
Prefer fmt to printf-style formatting.
2022-02-16 20:09:38 +00:00
Pokechu22
68d987bbee
CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
...
directly_mapped_vars was added in #69 (4129b30494
), but for some reason FIFO_BP_LO/HI were split out from it in in #885 (65af90669b
). As far as I can tell, this code (and the code that existed at the time) is identical, so there's no reason to have it handled separately.
2022-02-15 22:34:31 -08:00
Pokechu22
07578d8f1d
CommandProcessor: Log ignored unknown opcodes at warn level
...
Large amounts of logging can have an impact on performance, so moving the ones that have been determined to not matter to the warn level gives a way to hide those messages without hiding actual errors (and also gives a fast visual way of distinguishing between ignored and non-ignored ones due to the different colors).
2022-02-13 14:16:05 -08:00
Pokechu22
4ea9287a09
CommandProcessor: Move unknown opcode log message before the panic alert
...
This way, the extra information is already in the log by the time the panic alert appears, which is slightly more convenient for debugging.
2022-02-13 14:15:54 -08:00
Pokechu22
97482a61c6
CommandProcessor: Ignore unknown opcode for 0x3f
2022-02-12 23:38:20 -08:00
Pokechu22
68cdceb4be
CommandProcessor: Log PC and LR on unknown opcodes
2022-02-12 23:38:20 -08:00
Pokechu22
095803d1e9
CommandProcessor: Move contents of second unknown opcode panic alert to the log
...
This way, the information is always available, and users don't have to deal with a wall of meaningless information.
2022-02-12 23:38:19 -08:00
Pokechu22
55f8aa9921
VideoCommon/Fifo: Use GPFifo::GATHER_PIPE_SIZE instead of magic 32
2022-02-12 23:38:19 -08:00
Pokechu22
9ffe9d3dc1
CommandProcessor: Remove redundant GATHER_PIPE_SIZE constant
2022-02-12 16:17:03 -08:00
Pokechu22
444f6fd0cb
Treat alpha as 0 if alpha is 1 for blending
...
This removes the white box in fortune street again, without causing Mario Kart Wii to regress.
2022-02-08 15:15:15 -08:00
Pokechu22
0327e6acb4
Use the same logic for lerp bias for color and alpha
...
It doesn't make sense for alpha to add the bias ONLY when dividing by 2, while color doesn't apply the bias for divide by 2 only; hardware testing indicates that alpha should have the bias.
This fixes the menus in Mario Kart Wii (https://bugs.dolphin-emu.org/issues/11909 ) but reintroduces the white rectangle in Fortune Street.
This reverts commit 5aaa5141ed
(and several other matching changes elsewhere).
2022-02-08 15:15:15 -08:00
OatmealDome
bdc55f9557
RenderState: Set source and destination alpha factors in logic op workaround
2022-02-07 16:03:22 -05:00
Admiral H. Curtiss
09a0ba06c0
Merge pull request #10417 from jordan-woyak/libavformat-59-build-fix
...
VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer.
2022-02-04 20:42:34 +01:00
JMC47
4d1e6ff76a
Merge pull request #10422 from OatmealDome/opengl-shader-crash
...
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:25:46 -05:00
OatmealDome
947b562e06
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:17:37 -05:00
Jordan Woyak
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
Pokechu22
4aeef95746
Fix copy filter clamping when EFB VRAM copies are disabled
2022-01-29 12:23:32 -08:00
Admiral H. Curtiss
36cfcb530f
IOFile: Make origin parameter to Seek() an enum class.
2022-01-29 06:49:21 +01:00
JMC47
c2d8191fbb
Merge pull request #10401 from JosJuice/adreno-primitive-restart
...
DriverDetails: Disable primitive restart on Adreno
2022-01-28 15:12:43 -05:00
JosJuice
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