summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software
AgeCommit message (Collapse)Author
2018-10-28Merge pull request #7501 from Techjar/class-memaccess-cleanupPierre Bourdon
VideoCommon: Clean up class-memaccess warnings
2018-10-20GLContext: Use destructor instead of Shutdown() to cleanupStenzek
Also uses the Initialize() method to make the context current.
2018-10-20GLContext: Remove global context pointerStenzek
2018-10-20VideoBackends: Pass window system info from host on creationStenzek
2018-10-20GLContext: Use host connectionStenzek
This also removes the need for a sleeping event thread.
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-10-20Refactoring and cleanup of GLInterface (now GLContext)Stenzek
2018-10-20Update to Visual Studio's default Windows SDKTillmann Karras
2018-10-14VideoCommon: Clean up class-memaccess warningsTechjar
2018-10-12Merge pull request #7437 from stenzek/graphics-options-raceMat M
Fix race condition caused by opening graphics options while running
2018-10-09VideoCommon: remove unnecessary floor()Tillmann Karras
floatindex is clamped to the range [0, 9]. For non-negative numbers floor() is equivalent to trunc(). Truncation happens implicitly when converting to uint, so the floor() is unnecessary.
2018-10-05VideoSoftware: make use of Clamp()Tillmann Karras
2018-09-28Core: Call InitBackendInfo before loading configStenzek
2018-06-30Mark all video backend names for translationTechjar
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