summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/EfbInterface.cpp
AgeCommit message (Collapse)Author
2022-07-16Software: Use hardware-verified numbers for RGB->YUV conversionPokechu22
2022-03-08Software/EfbInterface: Remove logspam for RGB565_Z16 being unsupportedPokechu22
This message would be logged, usually multiple times, for EVERY. SINGLE. PIXEL. That's pretty much useless and just makes the log unreadable. Plus, the current support (which acts as RGB8) is close enough that for end-user purposes, it's fine. I don't think the hardware backends support RGB565_Z16 and its antialiasing functionality correctly either, but they don't have similar logspam.
2021-11-17VideoSoftware: Fix copy filter clampingScott Mansell
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-03-06Software: Fix out of bounds accesses in CopyRegionPokechu22
Fixes issue 11393. The problem is that left and top make no sense for a width by height array; they only make sense in a larger array where from which a smaller part is extracted. Thus, the overall size of the array is provided to CopyRegion in addition to the sub-region. EncodeXFB already handles the extraction, so CopyRegion's only use there is to resize the image (and thus no sub-region is provided).
2021-03-06Convert BPMemory to BitField and enum classPokechu22
Additional changes: - For TevStageCombiner's ColorCombiner and AlphaCombiner, op/comparison and scale/compare_mode have been split as there are different meanings and enums if bias is set to compare. (Shift has also been renamed to scale) - In TexMode0, min_filter has been split into min_mip and min_filter. - In TexImage1, image_type is now cache_manually_managed. - The unused bit in GenMode is now exposed. - LPSize's lineaspect is now named adjust_for_aspect_ratio.
2020-11-09Software: Migrate logging over to fmtLioncash
Migrates the software backend over to the fmt-capable logger.
2019-07-16VideoCommon: Remove unused MathUtil.h include from VideoCommon.hLioncash
This header doesn't actually make use of MathUtil.h within itself, so this can be removed. Many other source files used VideoCommon.h as an indirect include to include MathUtil.h, so these includes can also be adjusted. While we're at it, we can also migrate valid inclusions of VideoCommon.h into cpp files where it can feasibly be done to minimize propagating it via other headers.
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2019-05-04Replace MathUtil::Clamp with std::clampLéo Lam
2019-04-28Turn EFB_WIDTH/EFB_HEIGHT into constexprJosJuice
https://bugs.dolphin-emu.org/issues/11692#note-5 Also change const into constexpr while we're at it.
2019-04-21Replace EFBRectangle/TargetRectangle with MathUtil::RectangleStenzek
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
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-17HybridXFB: Fix lint errorsiwubcode
2017-11-17Software Backend: Fix xfb output and add vertical scaling supportiwubcode
2017-11-17Remove TODOsiwubcode
2017-11-17Add support for hybrid XFBiwubcode
2017-08-05VideoSW: Drop log level of missing anti aliasing support.degasus
We don't want to emit such a high priority warning here, else fifoci will die.
2017-03-03Common: Move byte swapping utilities into their own headerLioncash
This moves all the byte swapping utilities into a header named Swap.h. A dedicated header is much more preferable here due to the size of the code itself. In general usage throughout the codebase, CommonFuncs.h was generally only included for these functions anyway. These being in their own header avoids dumping the lesser used utilities into scope. As well as providing a localized area for more utilities related to byte swapping in the future (should they be needed). This also makes it nicer to identify which files depend on the byte swapping utilities in particular. Since this is a completely new header, moving the code uncovered a few indirect includes, as well as making some other inclusions unnecessary.
2016-10-01Reorganise a ton of logs levelaldelaro5
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-09-21EfbInterface: Change out parameters on getters to return by valueLioncash
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-03-23Implement Dithering for video softwareScott Mansell
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-06VideoSW: Use more VideoCommondegasus
Now we require lots of empty functions, but this removes by far more duplicated code.
2015-10-10VideoSW: Wipe alpha on bypass EFBdegasus
Alpha must not be displayed.
2015-09-30ChunkFile: Provide additional helpers for C-style arraysLioncash
Gets rid of magic numbers in cases where the array size is known at compile time. This is also useful for future entries that are stack allocated arrays as these functions prevent incorrect sizes being provided.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2014-11-24More formatting and consistency fixesStevoisiak
2014-11-13Various formatting and consistency fixesStevoisiak
2014-10-10Reimplement Bounding Box calculation using the software renderer.crudelios
2014-10-02Change a bunch of reference function arguments to pointers.comex
Per the coding style and sanity.
2014-09-19Fix build failing when disabling precompiled headers.Rohit Nirmal
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-08-10Software: Apply static to some functionsLioncash
2014-08-10Software: Fix various brace styling errorsLioncash
2014-07-17VideoSoftware: Use the same max XFB size as VideoCommon.Scott Mansell
And lets just use the same constant as videocommon, so if it ever increases (again) VideoSoftware will be automatically updated.
2014-07-11mark all local variables as staticdegasus
2014-07-11mark all local functions as staticdegasus
2014-06-08Fix the capitalization of "GameCube" throughout the project.Paul Olszewski
2014-03-29Software backend: Delete forked PixelEngine.magumagu
Mostly just zapping a bunch of duplicated code; the only interesting thing going on here is the changes to the performance counter implementation.