summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/Renderer.cpp
AgeCommit message (Collapse)Author
2018-12-04Renderer: Add a base Initialize() method to match Shutdown()Stenzek
2018-10-20Renderer: Pull dimensions from GLInterface/SwapchainStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-04-29Implement EFB copy filter and gamma in hardware backendsStenzek
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't make sense to keep it as part of the uid, otherwise we're generating redundant shaders.
2018-03-16Assert: Remove unused parameter from DEBUG_ASSERTLioncash
This brings the macro in line with the regular ASSERT macro, which only has one macro parameter.
2018-03-14Assert: Uppercase assertion macrosLioncash
Macros should be all upper-cased. This is also kind of a wart that's been sticking out for quite a while now (we avoid prefixing underscores).
2018-03-10Move shader caches to VideoCommonStenzek
2018-03-02VideoCommon: Add support for Abstract FramebuffersStenzek
2018-03-01VideoBackends: Restore the framebuffer as part of the API stateStenzek
It's not often we switch out to draw to the EFB anyway.
2018-02-22VideoBackends: Add AbstractShader and AbstractPipeline classesStenzek
2018-02-20Renderer: Handle resize events on-demand instead of pollingStenzek
We now differentiate between a resize event and surface change/destroyed event, reducing the overhead for resizes in the Vulkan backend. It is also now now safe to change the surface multiple times if the video thread is lagging behind.
2018-02-20BPFunctions: Move upscaling of scissor rect to VideoCommonStenzek
2018-02-20BPFunctions: Move GX viewport conversion to VideoCommonStenzek
2018-01-29Merge pull request #6303 from TraceBullet/auto-adjust-window-sizeStenzek
Fix Auto-Adjust Window Size option making the window too large
2018-01-26Fix Auto-Adjust Window Size option making the window too largeTraceBullet
2018-01-22AbstractTexture: Move Bind() method to RendererStenzek
This makes state tracking simpler, and enables easier porting to command lists later on.
2018-01-11Vulkan: Fix possible mismatch between EFB framebuffer and render passStenzek
This could happen when changing MSAA settings or internal resolution at runtime.
2017-12-01Merge pull request #6193 from stenzek/readbacksStenzek
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-11-23OGL: Fix headless frame dumpingStenzek
Also skips swapping the window system buffers in headless mode, as there may not be a surface which can be swapped in the first place. Instead, we call glFlush() at the end of a frame in this case.
2017-11-22VideoCommon: Re-implement asynchronous frame dumpingStenzek
This was lost as a result of hybrid XFB, now it is back, and ~10% faster in very brief testing.
2017-11-22VideoBackends: Add AbstractStagingTexture classStenzek
Can be used for asynchronous readback or upload of textures.
2017-11-22VideoCommon: Move abstract texture creation function to RendererStenzek
2017-11-19Merge pull request #6186 from lioncash/enum-classLeo Lam
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19VideoBackends: Remove header inclusions made unnecessary with Hybrid XFBLioncash
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-18VideoConfig: Make StereoMode an enum classLioncash
Makes for more strongly-typed identifiers (and doesn't pollute surrounding namespaces)
2017-11-18VideoConfig: Make AspectMode an enum classLioncash
Makes for more strongly-typed identifiers (and doesn't pollute surrounding namespaces)
2017-11-17Hybrid XFB: Fix lint errorsiwubcode
2017-11-17Video Backends: Remove the right of the xfb region for games where theiwubcode
VI stride does not match the VI width
2017-11-17Remove old XFB logiciwubcode
2017-11-17Add new GUI option to skip XFBToRam and remove old XFB optionsiwubcode
2017-11-17Add ability to dump xfb copies to texture for debugging purposesiwubcode
2017-11-17Support frame and video dumping from VideoCommoniwubcode
2017-11-17Add support for hybrid XFBiwubcode
2017-10-10Vulkan: Only use oldSwapchain in response to VK_ERROR_OUT_OF_DATE_KHRStenzek
Seems to be required on the latest NV driver, otherwise the presented images are never shown.
2017-10-10Vulkan: Set a flag to resize the swap chain when presenting failsStenzek
Drivers can return VK_ERROR_OUT_OF_DATE_KHR from vkQueuePresentKHR, and we should resize the image in this case, as well as when getting it back from vkAcquireNextImageKHR.
2017-10-10Vulkan: Fix bug where command buffer wouldn't be started after resizeStenzek
2017-09-11VideoBackends: Move SamplerState to commonStenzek
2017-09-11VideoCommon: Add helpers for generating common render statesStenzek
2017-09-11Renderer: Move cull mode to a rasterization state objectStenzek
Also moves logic for primitive handling to VideoCommon.
2017-09-11Renderer: Move depth state to VideoCommon and seperate from bpmemStenzek
2017-09-07Vulkan: Extend the NVIDIA MSAA bug to render-pass based clearsStenzek
Calling vkCmdClearAttachments with a partial rect, or specifying a render area in a render pass with the load op set to clear can cause the GPU to lock up, or raise a bounds violation. This only occurs on MSAA framebuffers, and it seems when there are multiple clears in a single command buffer. Worked around by back to the slow path (drawing quads) when MSAA is enabled.
2017-09-03Renderer: Change SetBlendState to accept a BlendingStateStenzek
This decouples the state generation (from the emulated GPU) from the management of internal backend state.
2017-08-28Add Bug to Disable "LoadOp" clear renderpass in vulkanJonathan Hamilton
This optimisation doesn't work on PowerVR's Vulkan implementation. We (incorrectly) disallow Framebuffer objects to be used with a different load or store op than that which they were created with, despite the spec allowing such. This fixes the windwaker intro "smearing"
2017-08-03Vulkan: Add a driver bug for NV when MSAA is enabledStenzek
This causes the card to lock up when vkCmdClearAttachments is called, when multisampling is enabled. Seems to be restricted to Maxwell and newer?
2017-07-31VideoConfig: Drop force vertex/pixel ubershader settingsStenzek
This was mainly included for debugging, but could end up being confusing for users, as well as polluting the GL program cache with a mix of uber and specialized shaders if the option was changed.
2017-07-30Vulkan: Multithreaded creation of UID pipeline cachesStenzek
Should give a decent speedup to boot time.
2017-07-30Vulkan: Uber shader supportStenzek
2017-07-30Vulkan: Move shader/pipeline-related methods to ShaderCacheStenzek
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-07-20Vulkan: Reload pipeline cache when relevant host config changesStenzek