summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/Rasterizer.cpp
AgeCommit message (Collapse)Author
2025-10-31VideoCommon: rename ScissorResult 'm_result' to 'rectangles' to better ↵iwubcode
reflect what the member is
2025-10-31VideoCommon: move global variables out of BPFunctionsiwubcode
2025-08-24VideoSW: fix clamping after vertex color interpolationTillmann Karras
2025-08-23VideoBackends / VideoCommon: rename member variables in RenderState to be ↵iwubcode
consistent
2025-08-10VideoSW: reuse Common::Vec2/3/4Tillmann Karras
2025-03-12VideoCommon: Rename Renderer to EFBInterface.Jordan Woyak
2024-09-24Sw/Rasterizer: fix two elder typos, AD 2009Tillmann Karras
2022-08-29SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMapPokechu22
2022-08-29SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColorsPokechu22
2022-08-29SW/Tev: Remove Tev::InitPokechu22
2022-08-28SW/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4Pokechu22
The masking was incorrect. This affects the main menu of The Last Avatar, though that menu also relies on copy filter functionality that is not correctly handled in the software renderer so the difference is not obvious; that game shuffles textures across all indices for some reason, so this issue would presumably result in subtle flickering.
2022-07-13VideoCommon: Better driver bug handlingTellowKrinkle
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-06-30Resolve GCC WarningsMinty-Meeo
2022-04-16Software: Fix scissor rectangle always being block-alignedPokechu22
2022-04-16Software: Use new scissor logicPokechu22
Unlike the hardware backends, the software renderer can use multiple scissor rectangles (though this will result in extra rasterization).
2022-04-08Software: Fix zfreeze with CullMode::AllPokechu22
2022-04-08Software: Store offset in SlopePokechu22
This is needed since we need a separate offset for zfreeze to work correctly. It also makes the code a bit less jank.
2022-04-08Software: Remove config to disable ZComploc and ZFreezePokechu22
These aren't particularly useful, and make the code a bit more confusing. If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them. They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2021-11-17Software: Adjust diagonal LOD implementationPokechu22
This produces behavior matching the behavior on hardware (see Wario's Gold Mine in Mario Kart Wii).
2021-10-10BPMemory: Refactor/consolidate TexUnit AddressingScott Mansell
Currently the logic for addressing the individual TexUnits is splattered all across dolphin's codebase, this commit attempts to consolidate it all into a single place and formalise it using our new TexUnitAddress struct.
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-04-24VideoCommon: Fix scissorOffset, handle negative value correctlyezio1900
VideoCommon: Change the type of BPMemory.scissorOffset to 10bit signed: S32X10Y10 VideoBackends: Fix Software Clipper.PerspectiveDivide function, use BPMemory.scissorOffset instead of hard code 342
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.
2021-02-12Software: Always divide the texture coordinates by q.Pokechu22
Equivalent to da43f9a15 for the software renderer.
2020-03-25Remove warnings of -Wsign-compareJun Su
Cast the variable to the coresponding type.
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-07-10VideoCommon/Statistics: Rename stats global to g_statsLioncash
Makes the global variable follow our convention of prefixing g_ on global variables to make it obvious in surrounding code that it's not a local variable.
2019-07-10VideoCommon/Statistics: Normalize statistic variable namesLioncash
Normalizes all variables related to statistics so that they follow our coding style. These are relatively low traffic areas, so this modification isn't too noisy.
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2019-05-04Replace MathUtil::Clamp with std::clampLéo Lam
2016-09-22Rasterizer: const correctnessLioncash
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-03-06VideoSW: Drop SetTevReg for colors.degasus
2016-03-06VideoSW: Drop SetScissor().degasus
Just access the global state directly.
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-12-06Rasterizer: Mark some references as constLioncash
2015-12-06Rasterizer: Specify internal linkage on DrawLioncash
It's not exposed in the header.
2015-12-06Rasterizer: Convert BLOCK_SIZE into a constant variableLioncash
2015-12-06Rasterizer: Get rid of a clamp macroLioncash
2015-12-06Rasterizer: Get rid of a trivial pointer castLioncash
2015-09-17VideoSW: Remove unused functiondegasus
2015-09-17VideoSW: Drop SW bbox codedegasus
The hardware backends don't use this shared code any more, and it's not needed for video sw either. So this was just dead code.
2015-09-17VideoSW: Drop HwRasterizerdegasus
I don't remember it being working, and nobody cares about performance of videosw.
2015-09-17Rasterizer: Use multiplication instead of shifts in DrawTriangleFrontFaceLioncash
The left-hand-side is negative at some point which is considered undefined by the standard.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-18VideoBackends: Clamp depth to uint24 range.Jules Blok
2014-10-10Fixed a small bug.crudelios
2014-10-10Several small optimizations.crudelios