summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software
AgeCommit message (Collapse)Author
2018-06-21Software: Don't link against X11 librariesLioncash
The software backend doesn't actually use X11 in any capacity directly.
2018-06-06Give Dump Objects dedicated folder and tooltipRyan Meredith
2018-05-26VideoConfig: Add a field for indicating logic op support in the backendStenzek
2018-05-20Remove SOIL altogether from the project.Emmanuel Gil Peyrot
2018-05-18EfbInterface: Move buffer constant from the header to the cpp fileLioncash
This is only ever used internally, so we can limit its scope to the only usage point.
2018-05-18EfbInterface: Make efb and perf_values std::arraysLioncash
2018-05-18EfbInterface: Make perf_values internally linkedLioncash
Instead, expose functions to operate with it. This way we keep the internal representation concealed.
2018-05-18EfbInterface: Move efb array into the EfbInterface namespaceLioncash
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-04-29While I'm here, fix some chroma sub-sampling bugs.Scott Mansell
RE4's brightness screen is actually very good for spotting these. Bug 1: Colors at the end of the scanlines are clamped, instead of a black border Bug 2: U and V color channels share coordinates, instead of being offset by a pixel.
2018-04-29VideoSoftware: Implement xfb copy filter (Deflickering/Brightness)Scott Mansell
2018-04-12Reformat all the things!spycrab
2018-04-02Software/CMakeLists: Migrate off add_dolphin_libraryLioncash
Continues the migration work started in 3a4c3bbe01e7a44ec997f4fbf0b678fba6f2d46c
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-10GLUtil: Encapsulate functions in a namespaceStenzek
2018-03-10OGL: Re-implement async shader compilingStenzek
2018-03-10Move shader caches to VideoCommonStenzek
2018-03-02VideoCommon: Add support for Abstract FramebuffersStenzek
2018-03-01AbstractTexture: Support multisampled abstract textureStenzek
2018-02-22VideoBackends: Add AbstractShader and AbstractPipeline classesStenzek
2018-02-11VideoConfig: Remove bForceCopyToRam fieldStenzek
It's the inverse of supports-copy-to-vram.
2018-02-07Merge pull request #6334 from stenzek/startupAnthony
Video Backend Initialization/Core Boot Improvements
2018-02-01BPMemory: Handle fog configuration where both A and C are infinity/NaNStenzek
The console appears to behave against standard IEEE754 specification here, in particular around how NaNs are handled. NaNs appear to have no effect on the result, and are treated the same as positive or negative infinity, based on the sign bit. However, when the result would be NaN (inf - inf, or (-inf) - (-inf)), this results in a completely fogged color, or unfogged color respectively. We handle this by returning a constant zero for the A varaible, and positive or negative infinity for C depending on the sign bits of the A and C registers. This ensures that no NaN value is passed to the GPU in the first place, and that the result of the fog calculation cannot be NaN.
2018-01-27VideoBackend: Remove PeekMessages methodStenzek
The video thread and backend no longer create any windows, therefore there will never be any messages dispatched to their thread.
2018-01-27VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methodsStenzek
Also allows the work previously done in Prepare to return a failure status.
2018-01-22AbstractTexture: Move Bind() method to RendererStenzek
This makes state tracking simpler, and enables easier porting to command lists later on.
2018-01-05Implement dual-source blending in shaderJonathan Hamilton
For some GLES drivers that don't support dual-source blending, but do support GL_EXT_shader_framebuffer_fetch, this might be useful.
2017-12-06VideoCommon: Drop now unused efb2tex matrix generation.degasus
2017-12-02VideoBackends: Fix -Wswitch warningsLéo Lam
2017-12-02VideoBackends: Use VideoCommon shader generators for efb2tex copies.Markus Wick
This will generate one shader per copy format. For now, it is the same shader with the colmat hard coded. So it should already improve the GPU performance a bit, but a rewrite of the shader generator is suggested. Half of the patch is done by linkmauve1: VideoCommon: Reorganise the shader writes.
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-22AbstractTexture: Drop slow map readback pathStenzek
2017-11-22AbstractTexture: Seperate CopyRectangleFromTexture to two methodsStenzek
ScaleRectangleFromTexture, which does a draw, and CopyRectangleFromTexture, which where possible, does a bit-for-bit copy.
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-22Merge pull request #6204 from stenzek/downscaled-screenshotsLeo Lam
Frame Dumping: Fix window-size framedumping
2017-11-22LightingShaderGen: Always calculate lighting for both color channelsStenzek
Cel-damage uses the color from the lighting stage of the vertex pipeline as texture coordinates, but sets numColorChans to zero. We now calculate the colors in all cases, but override the color before writing it from the vertex shader if numColorChans is set to a lower value.
2017-11-21VideoConfig: Remove bSupportsInternalResolutionFrameDumpsStenzek
Field is unused as of Hybrid XFB.
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-17Software Backend: Remove reinterpret_cast which violates the strict aliasing ↵iwubcode
rule
2017-11-17Software Backend: Rename 'copy_region' to 'CopyRegion'iwubcode
2017-11-17Software Backend: allow screenshots/video to be taken with valid dataiwubcode
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-17Software Backend: Force EFB/XFB to copy to ramiwubcode
2017-11-17Software Backend: Fix xfb output and add vertical scaling supportiwubcode
2017-11-17Remove TODOsiwubcode
2017-11-17Support frame and video dumping from VideoCommoniwubcode