summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/Render.cpp
AgeCommit message (Collapse)Author
2018-10-20Renderer: Pull dimensions from GLInterface/SwapchainStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-05-02D3D: Drop gamma parameter from util draw helperStenzek
No longer needed as we perform gamma correction during the XFB copy.
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-10AbstractPipeline: Allow setting pipeline to nullStenzek
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-22D3D: Remove state stack from tracker, set explicitly insteadStenzek
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.
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-22D3D: Move device release from Renderer destructor to shutdownStenzek
Necessary if we wish to have GPU objects in our base class, as otherwise the device will be released before the objects.
2017-11-22D3D: Remove BeginFrame/EndFrameStenzek
These functions did not do anything anyway. There is also no need to present the backbuffer when shutting down.
2017-11-22D3D: Move remaining static variables from Render.cpp to Renderer classStenzek
2017-11-22D3D: Make state cache part of Renderer and not staticStenzek
2017-11-19D3DUtil: Make file-scope variables internally linked where applicableLioncash
All file scope variables are able to be made internally linked. CD3DFont is essentially used as an extension to the utility interface, so this is able to be made internal as well, removing a global from external view.
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-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-17HybridXFB: Fix lint errorsiwubcode
2017-11-17Remove old XFB logiciwubcode
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-09-11VideoBackends: Move SamplerState to commonStenzek
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-04D3D: Support logic op through integer render target viewStenzek
This brings D3D to parity with OpenGL and Vulkan.
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-09-03D3D11: Use blending state from VideoCommonStenzek
2017-07-30D3D: Uber shader supportStenzek
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-07-20D3D11: Reload shader cache when relevant config changesStenzek
2017-07-10D3D: Resize the swapchain when the fullscreen state is changedJules Blok
2017-07-05D3D: Add quad-buffer stereoscopy support.Jules Blok
2017-06-15Move IOFile to a separate fileJosJuice
Reduces the number of files that need to be recompiled when making changes to FileUtil.h.
2017-05-29Fix for loop in D3D Renderer ApplyState functioniwubcode
2017-05-28D3D/Render: Get rid of undefined behavior in Create3DVisionTextureLioncash
pSysMem is of the type const void* -- because of this, it makes the original delete[] call undefined behavior, as deleting a void pointer is undefined behavior. Also punning types into existence, like what was done for the stereo image header is undefined behavior as well. The proper way to do this is to either manually add all individual bytes manually, or memcpy the struct into memory. As we want to deallocate the memory before returning, and because pSysMem is a const void*, we keep a unique_ptr to the data and just pass pSysMem a raw pointer to the data.
2017-05-28D3D/Render: Use std::array where applicableLioncash