Commit Graph

51 Commits

Author SHA1 Message Date
Merry
be81fe86e1 JitRegister: Use fmt
Prefer fmt to printf-style formatting.
2022-02-16 20:09:38 +00:00
Pokechu22
27cb704466 Eliminate VarType for ComponentFormat 2021-12-18 15:21:48 -08:00
Pokechu22
1914087998 Create and use CPArray enum class 2021-12-18 12:51:56 -08:00
Pierre Bourdon
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
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-07-05 04:35:56 +02:00
Pokechu22
0a906f553f Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
Pokechu22
fa7077763f Remove VertexLoaderBase::IsInitialized
It is no longer relevant for the current set of loaders after 7030542546.  If it becomes relevant again, a static function named IsUsable or IsCompatibleWithCurrentMachine or something would be a better approach.
2021-05-07 15:42:17 -07:00
Pokechu22
cafffff75e Eliminate TVtxAttr 2021-05-07 15:42:17 -07:00
Pokechu22
b6149623aa Remove VertexLoader::ToString 2021-05-07 15:42:13 -07:00
Pokechu22
51de3d0fd1 Refactor CP array constants slightly 2021-03-26 17:27:21 -07:00
Pokechu22
f749fcfa9f Convert CPMemory to BitField and enum class
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.
2021-03-06 19:27:08 -08:00
Techjar
3a3dc28d54 VertexLoaderX64: Don't use PDEP on AMD Zen 2020-01-26 22:12:00 -05:00
JosJuice
4b4cf509f8 Remove code for only allocating low memory
This is unnecessary when we have position-independent code.
2017-05-20 09:35:53 +02:00
Lioncash
9859533ab4 VertexLoaderBase: Return debug strings by value
An out parameter for this sort of thing is a C++03 hold-over. This also
renames AppendToString to ToString.
2017-03-26 23:49:59 -04:00
degasus
5082a664c8 VertexLoaderX64: Avoid unchecked pointer cast. 2016-12-04 13:09:16 +01:00
degasus
258f48572d VertexLoaderJit: Fix out-of-bounds access for zfreeze.
This fixes a GCC6.1 warning.
2016-09-17 16:47:12 +02:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Tillmann Karras
b0d5b4483e VertexLoaderX64: optimize more color swizzles
Based on https://gist.github.com/rygorous/c5dba8c6c75bc83aa4ae, but with
a small tweak and a somewhat related change for the 565 case.
2015-10-25 14:51:07 +01:00
Tillmann Karras
d80124ab59 VertexLoaderX64: optimize 4444 color conversion
https://gist.github.com/rygorous/75133a50c60f9243366e
2015-10-22 16:30:56 +02:00
Rohit Nirmal
3b75f45cf6 Fix building with PCH disabled. 2015-09-28 11:51:08 -05:00
Tillmann Karras
63c9fdd074 VertexLoaderX64: fix 2GB warnings
Unlike the CPU JIT, the vertex loader JIT already emits
position-independent code, so all we need to do is disable the warning.
2015-09-12 01:24:47 +02:00
Tillmann Karras
ee4a12ffe2 Jit64: some byte-swapping changes 2015-08-26 05:41:18 +02:00
Tillmann Karras
5ddd2cef6c zfreeze: cache vertex positions
Suggested by degasus.
2015-06-07 12:13:00 +02:00
Tillmann Karras
9e2f4dd7da VertexLoaderX64: revert 9da86092ae
I can't reproduce that it's actually faster and it will definitely be
slower with position caching for zfreeze.
2015-06-07 12:13:00 +02:00
Tillmann Karras
7a6a5e2791 VertexLoaderX64: generate PIC
Address static memory relative to a base register, analog to what we're
doing with PPCSTATE in the CPU JIT. This allows executable memory for
the vertex loader JIT to be allocated anywhere, not just within 2 GiB of
static data.

Fixes issue 8180.
2015-06-03 02:27:37 +02:00