Commit Graph

4425 Commits

Author SHA1 Message Date
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
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