summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
AgeCommit message (Collapse)Author
2022-10-08VideoBackends:Metal: Unroll lighting loopTellowKrinkle
2022-10-08VideoBackends:Metal: Properly set vsync on creationTellowKrinkle
2022-10-08VideoBackends:Multiple: More GPUs with broken subgroup opsTellowKrinkle
2022-10-04Vulkan/CommandBufferManager: Show error code in PanicAlerts.Admiral H. Curtiss
2022-09-30Merge pull request #11090 from K0bin/submit-reworkJMC47
Vulkan: Raise number of command buffers
2022-10-01VideoBackends:Vulkan: Raise number of command buffersRobin Kertels
Avoid waiting for earlier submissions when we flush more often. The vertex manager will flush more often if the game accesses the EFB on the CPU, to give the GPU a head start.
2022-10-01VideoBackends:Vulkan: Associate descriptor pool with frame rather than ↵Robin Kertels
command buffer
2022-10-01VideoBackends:Vulkan: Decouple available command buffers from frames in flightRobin Kertels
2022-10-01VideoBackends:Vulkan: Only synchronize with submission thread when necessaryRobin Kertels
We only need to synchronize with the submission thread when submitting on the GPU thread or when waiting for a command buffer.
2022-10-01VideoBackends:Vulkan: Fix validation error around surface_capabilities2Robin Kertels
2022-09-30Merge pull request #11084 from K0bin/qcom-workaroundJMC47
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driverRobin Kertels
2022-09-29Merge pull request #11100 from Pokechu22/software-settings-mergeMai
Use the same settings for the software renderer as other backends
2022-09-26Software: Fix mipmaps and uneven strides in SWTexturePokechu22
I think this is only used for texture dumping, but this resolves some failed assertions and glitchy results.
2022-09-26D3D12: Fix backend multithreading incorrectly being marked as supportedPokechu22
2022-09-26Software: Remove dedicated texture/frame dumping infrastructurePokechu22
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
2022-09-20VideoBackends:Metal: Use BitField for stuffing bits in pipeline idsTellowKrinkle
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-19VideoCommon: Use std::array in PortableVertexDeclarationTellowKrinkle
2022-09-19VideoBackends:Vulkan: Make dynamic vertex loader optionalTellowKrinkle
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19VideoBackends:D3D12: Dynamic vertex loader supportTellowKrinkle
2022-09-19VideoBackends:Vulkan: Dynamic vertex loader supportTellowKrinkle
2022-09-19VideoBackends:Metal: Don't set primitive on ubershadersTellowKrinkle
2022-09-19VideoCommon: Add separate pipeline usage for UberShadersTellowKrinkle
2022-09-19VideoBackends:Metal: Dynamic vertex loader supportTellowKrinkle
2022-09-19VideoCommon: Add dynamic vertex loader to ubershadersTellowKrinkle
2022-09-08Merge pull request #10549 from Pokechu22/sw-tev-enum-mapPokechu22
Refactor various bits of graphics code for readability
2022-08-29MTLObjectCache: Correct signature of equality operatorMerry
Not doing so produces a warning in clang: ISO C++20 considers use of overloaded operator '!=' (with operand types 'Metal::DepthStencilSelector' and 'Metal::DepthStencilSelector') to be ambiguous despite there being a unique best viable function with non-reversed arguments The underlying reason for this warning is an incorrect method signature.
2022-08-29BPMemory: Make TevKSel more clearPokechu22
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner). Since these are indexed very differently, the old code was hard to follow.
2022-08-29SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMapPokechu22
2022-08-29SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColorsPokechu22
2022-08-29SW/Tev: Use std::clamp for Clamp255 and Clamp1024Pokechu22
2022-08-29SW/Tev: Remove Tev::InitPokechu22
2022-08-29SW/Tev: Use EnumMap for scale/bias tablesPokechu22
2022-08-29SW/Tev: Use EnumMap for RegPokechu22
2022-08-29SW/Tev: Use TevColorRef/TevAlphaRef instead of raw s16 pointersPokechu22
2022-08-28SW/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4Pokechu22
The masking was incorrect. This affects the main menu of The Last Avatar, though that menu also relies on copy filter functionality that is not correctly handled in the software renderer so the difference is not obvious; that game shuffles textures across all indices for some reason, so this issue would presumably result in subtle flickering.
2022-08-23Use `__VA_OPT__(, ) __VA_ARGS__` instead of `##__VA_ARGS__`Pokechu22
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling). Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty. This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-17D3DCommon: Remove unused swap chain functionsPokechu22
These were added in ea15080d8f59a62ba347ff4c6037116035bc69b4 (which added D3DCommon), but never were used.
2022-08-17Vulkan: Remove unused swap chain functionsPokechu22
These were added in 5e29508b8f4747e92e8de68b75971f26e4a78cd4 and 1f2d43c8709e5fab2f8c3c7de81bdf160b5f6363, but were replaced with CONFIG_CHANGE_BIT_VSYNC and CONFIG_CHANGE_BIT_STEREO_MODE in e4b205c76937d379cd9043939e2cef1651b1a21b.
2022-07-23MTLUtil: Include TargetConditionalsOatmealDome
2022-07-23MTLMain: Include TargetConditionalsOatmealDome
2022-07-23MTLMain: Only compile NSView manipulation code on macOSOatmealDome
2022-07-23MTLUtil: Return invalid for non-supported texture formats on non-macOS platformsOatmealDome
2022-07-23MTLUtil: Don't attempt to get all GPUs on non-macOS platformsOatmealDome
2022-07-23CMakeLists: Link videometal with FoundationOatmealDome
2022-07-21VideoBackends:Multiple: Grammar fixesTellowKrinkle
2022-07-21VideoBackends:Metal: Remove unified memory configTellowKrinkle
Not worth the extra code
2022-07-21VideoBackends:Metal: Avoid submitting draw calls with no vertices/indicesTellowKrinkle
2022-07-21VideoBackends:Metal: Implement PerfQueryTellowKrinkle
2022-07-21VideoBackends:Metal: Use unified memory path by default on all GPUsTellowKrinkle