summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexLoader.cpp
AgeCommit message (Collapse)Author
2023-12-02VertexLoader: Use Common::SmallVectorPokechu22
2023-12-02VertexLoader: Remove unnecessary calls to ↵Pokechu22
VertexLoader_TextCoord::GetDummyFunction
2023-12-02VertexLoader: Fix wrong array being used if color 1 is present but color 0 isn'tPokechu22
This worked correctly on the JIT vertex loaders, and for the equivalent case with texture coordinates. I'm not aware of any games this affects (but libogc does mention a semi-related scenario at https://github.com/devkitPro/libogc/blob/6bc0317c7d52063c2d2b48b721520093c76432a9/gc/ogc/gx.h#L1855-L1857.)
2022-11-22Fix VertexLoader.cpp using the wrong size for texture matrix indices without ↵Pokechu22
a corresponding texture This regressed in 0a906f553fe7699d1c863a464211f74b6c306a0f, I think (though I haven't confirmed it). Mario Tennis and Luigi's Mansion both use these for some reason (as far as I can tell, the data isn't actually used; it's just extra data included for no reason)
2022-11-22VertexLoader: Eliminate use of DataReaderPokechu22
DataReader is generally jank - it has a start and end pointer, but the end pointer is generally not used, and all of the vertex loaders mostly bypassed it anyways. Wrapper code (the vertex loaer test, as well as Fifo.cpp and OpcodeDecoding.cpp) still uses it, as does the software vertex loader (which is not a subclass of VertexLoader). These can probably be eliminated later.
2022-05-18Rename CP and XF normal component count enums and update their descriptionsPokechu22
2022-04-22VertexLoader: Convert count register to remaining registerPokechu22
This more accurately represents what's going on, and also ends at 0 instead of 1, making some indexing operations easier. This also changes it so that position_matrix_index_cache actually starts from index 0 instead of index 1.
2022-04-22Convert vertex loader position cache to std::arrayPokechu22
2022-01-09Common/Assert: Switch to fmtPokechu22
2021-12-18Eliminate VarType for ComponentFormatPokechu22
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-05-07Move vertex size and component calculation to VertexLoaderBasePokechu22
2021-05-07Eliminate TVtxAttrPokechu22
2021-05-07Convert VertexLoader_Color to a tablePokechu22
2021-03-06Convert CPMemory to BitField and enum classPokechu22
Additionally, VCacheEnhance has been added to UVAT_group1. According to YAGCD, this field is always 1. TVtxDesc also now has separate low and high fields whose hex values correspond with the proper registers, instead of having one 33-bit value. This change was made in a way that should be backwards-compatible.
2020-11-17VideoCommon: Migrate over to fmtLioncash
Migrates off the printf-based formatting where applicable.
2019-05-30VideoCommon/VertexLoader_Normal: Initialize function table at compile-timeLioncash
Makes VertexLoader_Normal completely stateless, eliminating the need for an Init() function, and by extension, also gets rid of the need for the FifoAnalyzer to have an Init() function.
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).
2016-09-17VertexLoaderJit: Fix out-of-bounds access for zfreeze.degasus
This fixes a GCC6.1 warning.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2015-10-11VertexLoaderUtils: remove simple wrapper functionsTillmann Karras
2015-08-28Fix building with PCH disabled.Rohit Nirmal
2015-06-20VertexLoader: Remove the LOADERDECL define.Lioncash
These functions aren't called from jitted code anymore so it isn't necessary.
2015-06-07zfreeze: cache vertex positionsTillmann Karras
Suggested by degasus.
2015-05-25Merge pull request #2274 from degasus/disable_bboxRyan Houdek
Disable bbox
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-25BBox: remove now unreachable SW bbox implementationdegasus
2015-05-25VideoCommon: Make BBox emulation optionaldegasus
2015-03-18VertexLoaders: make positions more compactTillmann Karras
2015-02-25Formatting/Whitespace CleanupStevoisiak
Various fixes to formatting and whitespace
2015-02-13Change RunVertices' function arguments.Ryan Houdek
This reduces some dumb state shuffling when calling the emitted vertex loaders.
2015-01-26VertexLoader: small clean upTillmann Karras
2015-01-20VertexLoader: never reset alpha in 8888 colorsTillmann Karras
Fixes the opening menu of Xenoblade Chronicles.
2015-01-20VertexLoader: remove weird lineTillmann Karras
2015-01-20VertexLoader: remove non-JIT SSE codeTillmann Karras
2015-01-19VertexLoader: fix position offset bugTillmann Karras
2015-01-18VertexLoader: add new JITTillmann Karras
2015-01-18VertexLoader: remove old JITTillmann Karras
2015-01-18DataReader: turn WritePointer into GetPointerTillmann Karras
2014-12-21VertexLoader: Skip vertices with position index = -1degasus
2014-12-21VertexLoader: Merge dummy functionsdegasus
2014-12-21VertexLoader: Add a VertexLoader pointer to each function calldegasus
2014-12-21VideoCommon: split VertexLoaderBase from VertexLoaderdegasus
2014-12-21VideoCommon: Move NativeVertexFormat cache to VertexLoaderManagerdegasus
2014-12-21VideoLoader: remove VAT_*_FRACBITSdegasus
They are used to remove the flush amounts, but as we don't flush anymore on vertex loader changes (only on native vertex format right now), this optimization is now unneeded. This will allow us to hard code the frac factors within the vertex loaders.
2014-12-09VideoCommon: clean up VertexLoaderdegasus
2014-12-09VideoCommon: Rename s_pCurBufferPointerdegasus
2014-12-09VideoCommon: cleanup OpcodeDecoderdegasus