Compare commits

...

8 Commits

Author SHA1 Message Date
TJnotJT eb5e3fcd13 GS/HW: Make all vertices the same color in certain flat shading cases.
Fixes issues with AA1 with flat shading.
2026-07-10 10:16:51 +02:00
TheLastRar 8f8968cbb1 Deps: Revert workaround for MSVC ICE with PlutoVG
This reverts commit 7ade24fc77.
2026-07-09 18:40:47 -04:00
Silent ac83e93426 GameDB: Update Gran Turismo entries to use anchors and overrides 2026-07-09 15:53:38 -04:00
Silent 78d0cf4a4f YAML: Add support for resolving anchors, and use it for GameDB 2026-07-09 15:53:38 -04:00
lightningterror 2444c6090b GS: Fix Compiler warnings. 2026-07-09 18:06:50 +02:00
JordanTheToaster 7e49bc5a50 3rdparty: Update Vulkan-Headers to v1.4.356 2026-07-09 12:05:39 +02:00
JordanTheToaster 457719d0cc Deps: Update libjpegturbo to 3.2.0 2026-07-09 12:05:39 +02:00
JordanTheToaster c3e63d5a0e 3rdparty: Update CPUInfo to commit b1a5d63 2026-07-09 12:05:39 +02:00
64 changed files with 1403 additions and 605 deletions
@@ -23,7 +23,7 @@ QTAPNG=1.3.0
FFMPEG=8.1
LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075
LIBJPEGTURBO=3.1.4.1
LIBJPEGTURBO=3.2.0
LIBPNG=1.6.58
LIBWEBP=1.6.0
NVENC=13.0.19.0
@@ -57,7 +57,7 @@ f1d3be3489f758efe1a8f12118a212febbe611aa670af32e0159fa3c1feab2a6 QtApng-$QTAPNG
b072aed6871998cce9b36e7774033105ca29e33632be5b6347f3206898e0756a ffmpeg-$FFMPEG.tar.xz
96e5c2d7f2c482a60d5804da48a2eb9a0db0719b2c65dcc169fbfdcf37f3a45d libbacktrace-$LIBBACKTRACE.tar.gz
ecae8008e2cc9ade2f2c1bb9d5e6d4fb73e7c433866a056bd82980741571a022 libjpeg-turbo-$LIBJPEGTURBO.tar.gz
6f30092cef9fb839779646608f4ee14ae3cbac989c47fa05e841b0841f09878e libjpeg-turbo-$LIBJPEGTURBO.tar.gz
28eb403f51f0f7405249132cecfe82ea5c0ef97f1b32c5a65828814ae0d34775 libpng-$LIBPNG.tar.xz
e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 libwebp-$LIBWEBP.tar.gz
f07b958a9ac5020fb7a44cadb957f658b2149c3c8abb4f63145fac9303249db7 $SDL.tar.gz
@@ -52,7 +52,7 @@ HARFBUZZ=14.2.0
ZSTD=1.5.7
LZ4=1.10.0
LIBPNG=1.6.58
LIBJPEGTURBO=3.1.4.1
LIBJPEGTURBO=3.2.0
LIBWEBP=1.6.0
FFMPEG=8.1
MOLTENVK=1.4.1
@@ -100,7 +100,7 @@ eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar
28eb403f51f0f7405249132cecfe82ea5c0ef97f1b32c5a65828814ae0d34775 libpng-$LIBPNG.tar.xz
e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 libwebp-$LIBWEBP.tar.gz
eee7dea22ed502868017971c86c63c4ed1e6085de0baebfdcc3d3322f00f3eb0 libpng-$LIBPNG-apng.patch.gz
ecae8008e2cc9ade2f2c1bb9d5e6d4fb73e7c433866a056bd82980741571a022 libjpeg-turbo-$LIBJPEGTURBO.tar.gz
6f30092cef9fb839779646608f4ee14ae3cbac989c47fa05e841b0841f09878e libjpeg-turbo-$LIBJPEGTURBO.tar.gz
b072aed6871998cce9b36e7774033105ca29e33632be5b6347f3206898e0756a ffmpeg-$FFMPEG.tar.xz
9985f141902a17de818e264d17c1ce334b748e499ee02fcb4703e4dc0038f89c MoltenVK-$MOLTENVK.tar.gz
51dbf24fe72e43dd7cb9a289d3cab47112010f1a2ed69b6fc8ac0dff31991ed2 KDDockWidgets-$KDDOCKWIDGETS.tar.gz
@@ -29,7 +29,7 @@ HARFBUZZ=14.2.0
ZSTD=1.5.7
LZ4=1.10.0
LIBPNG=1.6.58
LIBJPEGTURBO=3.1.4.1
LIBJPEGTURBO=3.2.0
LIBWEBP=1.6.0
FFMPEG=8.1
MOLTENVK=1.4.1
@@ -76,7 +76,7 @@ eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar
28eb403f51f0f7405249132cecfe82ea5c0ef97f1b32c5a65828814ae0d34775 libpng-$LIBPNG.tar.xz
e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 libwebp-$LIBWEBP.tar.gz
eee7dea22ed502868017971c86c63c4ed1e6085de0baebfdcc3d3322f00f3eb0 libpng-$LIBPNG-apng.patch.gz
ecae8008e2cc9ade2f2c1bb9d5e6d4fb73e7c433866a056bd82980741571a022 libjpeg-turbo-$LIBJPEGTURBO.tar.gz
6f30092cef9fb839779646608f4ee14ae3cbac989c47fa05e841b0841f09878e libjpeg-turbo-$LIBJPEGTURBO.tar.gz
b072aed6871998cce9b36e7774033105ca29e33632be5b6347f3206898e0756a ffmpeg-$FFMPEG.tar.xz
9985f141902a17de818e264d17c1ce334b748e499ee02fcb4703e4dc0038f89c v$MOLTENVK.tar.gz
51dbf24fe72e43dd7cb9a289d3cab47112010f1a2ed69b6fc8ac0dff31991ed2 KDDockWidgets-$KDDOCKWIDGETS.tar.gz
+2 -2
View File
@@ -61,7 +61,7 @@ set QTAPNG=1.3.0
set FREETYPE=2.14.3
set HARFBUZZ=14.2.0
set SDL=SDL3-3.4.12
set LIBJPEGTURBO=3.1.4.1
set LIBJPEGTURBO=3.2.0
set LIBPNG=1658
set LIBPNGLONG=1.6.58
set LZ4=1.10.0
@@ -92,7 +92,7 @@ call :downloadfile "freetype-%FREETYPE%.tar.gz" https://sourceforge.net/projects
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip bb2f83255706b1c92d731541c7cefaf98bb5b93e8f76d16f6deda05225ff20ee || goto error
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1658.zip b32f170855dbbe3e6d9e645af40b538137041773672c3ba3e02db5816c82d376 || goto error
call :downloadfile "lpng%LIBPNG%-apng.patch.gz" https://download.sourceforge.net/libpng-apng/libpng-%LIBPNGLONG%-apng.patch.gz eee7dea22ed502868017971c86c63c4ed1e6085de0baebfdcc3d3322f00f3eb0 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" ecae8008e2cc9ade2f2c1bb9d5e6d4fb73e7c433866a056bd82980741571a022 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" 6f30092cef9fb839779646608f4ee14ae3cbac989c47fa05e841b0841f09878e || goto error
call :downloadfile "libwebp-%WEBP%.tar.gz" "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-%WEBP%.tar.gz" e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 3d4de8967a49c0451e775a0c1e9022092c19fdef41ba38a83fcf031c5a6496e2 || goto error
call :downloadfile "lz4-%LZ4%.zip" "https://github.com/lz4/lz4/archive/refs/tags/v%LZ4%.zip" 3224b4c80f351f194984526ef396f6079bd6332dd9825c72ac0d7a37b3cdc565 || goto error
+2 -3
View File
@@ -78,7 +78,7 @@ set LIBX264=b35605ace3ddf7c1a5d67a2eb553f034aef41d55
set FREETYPE=2.14.3
set HARFBUZZ=14.2.0
set SDL=SDL3-3.4.12
set LIBJPEGTURBO=3.1.4.1
set LIBJPEGTURBO=3.2.0
set LIBPNG=1658
set LIBPNGLONG=1.6.58
set LZ4=1.10.0
@@ -120,7 +120,7 @@ call :downloadfile "freetype-%FREETYPE%.tar.gz" https://sourceforge.net/projects
call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuzz/archive/refs/tags/%HARFBUZZ%.zip bb2f83255706b1c92d731541c7cefaf98bb5b93e8f76d16f6deda05225ff20ee || goto error
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1658.zip b32f170855dbbe3e6d9e645af40b538137041773672c3ba3e02db5816c82d376 || goto error
call :downloadfile "lpng%LIBPNG%-apng.patch.gz" https://download.sourceforge.net/libpng-apng/libpng-%LIBPNGLONG%-apng.patch.gz eee7dea22ed502868017971c86c63c4ed1e6085de0baebfdcc3d3322f00f3eb0 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" ecae8008e2cc9ade2f2c1bb9d5e6d4fb73e7c433866a056bd82980741571a022 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" 6f30092cef9fb839779646608f4ee14ae3cbac989c47fa05e841b0841f09878e || goto error
call :downloadfile "libwebp-%WEBP%.tar.gz" "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-%WEBP%.tar.gz" e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 3d4de8967a49c0451e775a0c1e9022092c19fdef41ba38a83fcf031c5a6496e2 || goto error
call :downloadfile "lz4-%LZ4%.zip" "https://github.com/lz4/lz4/archive/refs/tags/v%LZ4%.zip" 3224b4c80f351f194984526ef396f6079bd6332dd9825c72ac0d7a37b3cdc565 || goto error
@@ -471,7 +471,6 @@ echo "Building PlutoVG..."
rmdir /S /Q "plutovg-%PLUTOVG%"
%SEVENZIP% x "plutovg-%PLUTOVG%.zip" || goto error
cd "plutovg-%PLUTOVG%" || goto error
%PATCH% -p1 < "%SCRIPTDIR%\plutovg-workaround-msvc-ice.patch" || goto error
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DPLUTOVG_BUILD_EXAMPLES=OFF -B build -G Ninja || goto error
cmake --build build --parallel || goto error
ninja -C build install || goto error
@@ -1,52 +0,0 @@
diff --git a/source/plutovg-font.c b/source/plutovg-font.c
index 0ad89b1..110de7f 100644
--- a/source/plutovg-font.c
+++ b/source/plutovg-font.c
@@ -836,7 +836,8 @@ int plutovg_font_face_cache_load_file(plutovg_font_face_cache_t* cache, const ch
size_t family_index = 0;
if(unicode_family_name) {
const stbtt_uint8* family_name = unicode_family_name;
- while(family_length) {
+ //while(family_length) {
+ for (int i = family_length; i > 0; i -= 2) {
stbtt_uint16 ch = family_name[0] * 256 + family_name[1];
if(ch < 0x80) {
entry->family[family_index++] = ch;
@@ -853,7 +854,8 @@ int plutovg_font_face_cache_load_file(plutovg_font_face_cache_t* cache, const ch
entry->family[family_index++] = (0x80 + ((c) & 0x3f));
family_name += 2;
- family_length -= 2;
+ //family_length -= 2;
+ i -= 2;
} else {
entry->family[family_index++] = (0xe0 + (ch >> 12));
entry->family[family_index++] = (0x80 + ((ch >> 6) & 0x3f));
@@ -861,7 +863,7 @@ int plutovg_font_face_cache_load_file(plutovg_font_face_cache_t* cache, const ch
}
family_name += 2;
- family_length -= 2;
+ //family_length -= 2;
}
entry->family[family_index] = '\0';
@@ -902,7 +904,8 @@ int plutovg_font_face_cache_load_file(plutovg_font_face_cache_t* cache, const ch
};
const stbtt_uint8* family_name = roman_family_name;
- while(family_length) {
+ //while(family_length) {
+ for (int i2 = family_length; i2 > 0; i2--) {
stbtt_uint16 ch = MAC_ROMAN_TABLE[family_name[0]];
if(ch < 0x80) {
entry->family[family_index++] = ch;
@@ -916,7 +919,7 @@ int plutovg_font_face_cache_load_file(plutovg_font_face_cache_t* cache, const ch
}
family_name += 1;
- family_length -= 1;
+ //family_length -= 1;
}
entry->family[family_index] = '\0';
+2
View File
@@ -361,6 +361,8 @@ enum cpuinfo_uarch {
cpuinfo_uarch_raptor_cove = 0x0010020F,
/** Intel Redwood Cove microarchitecture (Granite Rapids). */
cpuinfo_uarch_redwood_cove = 0x00100210,
/** Intel Coyote Cove microarchitecture. */
cpuinfo_uarch_coyote_cove = 0x00100211,
/** Pentium 4 with Willamette, Northwood, or Foster cores. */
cpuinfo_uarch_willamette = 0x00100300,
+3
View File
@@ -1,3 +1,6 @@
/* for syscall() */
#define _DEFAULT_SOURCE
#include <stdbool.h>
#include <stddef.h>
+2
View File
@@ -36,6 +36,7 @@ enum cpuinfo_arm_chipset_vendor {
cpuinfo_arm_chipset_vendor_texas_instruments,
cpuinfo_arm_chipset_vendor_unisoc,
cpuinfo_arm_chipset_vendor_wondermedia,
cpuinfo_arm_chipset_vendor_google,
cpuinfo_arm_chipset_vendor_max,
};
@@ -73,6 +74,7 @@ enum cpuinfo_arm_chipset_series {
cpuinfo_arm_chipset_series_unisoc_t,
cpuinfo_arm_chipset_series_unisoc_ums,
cpuinfo_arm_chipset_series_wondermedia_wm,
cpuinfo_arm_chipset_series_google_tensor,
cpuinfo_arm_chipset_series_max,
};
+1 -1
View File
@@ -366,7 +366,7 @@ CPUINFO_INTERNAL struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_f
CPUINFO_INTERNAL struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_hardware_chipname(
const char ro_hardware_chipname[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]);
CPUINFO_INTERNAL struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_soc_model(
const char ro_soc_model[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]);
const char soc_model[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]);
#else
CPUINFO_INTERNAL struct cpuinfo_arm_chipset cpuinfo_arm_linux_decode_chipset_from_proc_cpuinfo_revision(
const char proc_cpuinfo_revision[restrict static CPUINFO_REVISION_VALUE_MAX]);
+61 -10
View File
@@ -3492,9 +3492,20 @@ struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_chipname(
};
}
/*
* Decodes chipset name from ro.soc.model Android system property.
*
* @param[in] soc_model - ro.soc.model value.
*
* @returns Decoded chipset name. If chipset could not be decoded, the resulting
* structure would use `unknown` vendor and series identifiers.
*/
struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_soc_model(
const char soc_model[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]) {
struct cpuinfo_arm_chipset chipset;
struct cpuinfo_arm_chipset chipset = {
.vendor = cpuinfo_arm_chipset_vendor_unknown,
.series = cpuinfo_arm_chipset_series_unknown,
};
const size_t soc_model_length = strnlen(soc_model, CPUINFO_BUILD_PROP_VALUE_MAX);
const char* soc_model_end = soc_model + soc_model_length;
@@ -3516,10 +3527,28 @@ struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_soc_model(
return chipset;
}
return (struct cpuinfo_arm_chipset){
.vendor = cpuinfo_arm_chipset_vendor_unknown,
.series = cpuinfo_arm_chipset_series_unknown,
};
if (soc_model[0] != '\0') {
if (strncmp(soc_model, "Tensor", 6) == 0) {
chipset.vendor = cpuinfo_arm_chipset_vendor_google;
chipset.series = cpuinfo_arm_chipset_series_google_tensor;
const char* suffix_start = soc_model + 6;
while (*suffix_start == ' ') {
suffix_start++;
}
const size_t suffix_length = strnlen(suffix_start, CPUINFO_ARM_CHIPSET_SUFFIX_MAX);
if (suffix_length > 0) {
strncpy(chipset.suffix, suffix_start, suffix_length);
}
return chipset;
} else if (strncmp(soc_model, "GS201", 5) == 0) {
chipset.vendor = cpuinfo_arm_chipset_vendor_google;
chipset.series = cpuinfo_arm_chipset_series_google_tensor;
strncpy(chipset.suffix, "G2", 2);
return chipset;
}
}
return chipset;
}
#endif /* __ANDROID__ */
@@ -3858,6 +3887,7 @@ static const char* chipset_vendor_string[cpuinfo_arm_chipset_vendor_max] = {
[cpuinfo_arm_chipset_vendor_texas_instruments] = "Texas Instruments",
[cpuinfo_arm_chipset_vendor_unisoc] = "Unisoc",
[cpuinfo_arm_chipset_vendor_wondermedia] = "WonderMedia",
[cpuinfo_arm_chipset_vendor_google] = "Google",
};
/* Map from ARM chipset series ID to its string representation */
@@ -3895,6 +3925,7 @@ static const char* chipset_series_string[cpuinfo_arm_chipset_series_max] = {
[cpuinfo_arm_chipset_series_unisoc_t] = "T",
[cpuinfo_arm_chipset_series_unisoc_ums] = "UMS",
[cpuinfo_arm_chipset_series_wondermedia_wm] = "WM",
[cpuinfo_arm_chipset_series_google_tensor] = "Tensor",
};
/* Convert chipset name represented by cpuinfo_arm_chipset structure to a string
@@ -3913,14 +3944,35 @@ void cpuinfo_arm_chipset_to_string(
const char* vendor_string = chipset_vendor_string[vendor];
const char* series_string = chipset_series_string[series];
const uint32_t model = chipset->model;
const size_t suffix_length = strnlen(chipset->suffix, CPUINFO_ARM_CHIPSET_SUFFIX_MAX);
if (model == 0) {
if (series == cpuinfo_arm_chipset_series_unknown) {
strncpy(name, vendor_string, CPUINFO_ARM_CHIPSET_NAME_MAX);
if (suffix_length > 0) {
if (series == cpuinfo_arm_chipset_series_unknown) {
snprintf(
name,
CPUINFO_ARM_CHIPSET_NAME_MAX,
"%s %.*s",
vendor_string,
(int)suffix_length,
chipset->suffix);
} else {
snprintf(
name,
CPUINFO_ARM_CHIPSET_NAME_MAX,
"%s %s %.*s",
vendor_string,
series_string,
(int)suffix_length,
chipset->suffix);
}
} else {
snprintf(name, CPUINFO_ARM_CHIPSET_NAME_MAX, "%s %s", vendor_string, series_string);
if (series == cpuinfo_arm_chipset_series_unknown) {
strncpy(name, vendor_string, CPUINFO_ARM_CHIPSET_NAME_MAX);
} else {
snprintf(name, CPUINFO_ARM_CHIPSET_NAME_MAX, "%s %s", vendor_string, series_string);
}
}
} else {
const size_t suffix_length = strnlen(chipset->suffix, CPUINFO_ARM_CHIPSET_SUFFIX_MAX);
snprintf(
name,
CPUINFO_ARM_CHIPSET_NAME_MAX,
@@ -4051,7 +4103,6 @@ static enum cpuinfo_arm_chipset_vendor disambiguate_chipset_vendor(
(vendor_a == cpuinfo_arm_chipset_vendor_spreadtrum && vendor_b == cpuinfo_arm_chipset_vendor_unisoc)) {
return cpuinfo_arm_chipset_vendor_unisoc;
}
return cpuinfo_arm_chipset_vendor_unknown;
}
+3 -3
View File
@@ -256,12 +256,12 @@ void cpuinfo_arm_linux_init(void) {
}
#if defined(__ANDROID__)
struct cpuinfo_android_properties android_properties;
struct cpuinfo_android_properties android_properties = {0};
cpuinfo_arm_android_parse_properties(&android_properties);
#else
char proc_cpuinfo_hardware[CPUINFO_HARDWARE_VALUE_MAX];
char proc_cpuinfo_hardware[CPUINFO_HARDWARE_VALUE_MAX] = {0};
#endif
char proc_cpuinfo_revision[CPUINFO_REVISION_VALUE_MAX];
char proc_cpuinfo_revision[CPUINFO_REVISION_VALUE_MAX] = {0};
if (!cpuinfo_arm_linux_parse_proc_cpuinfo(
#if defined(__ANDROID__)
+49
View File
@@ -11,6 +11,11 @@ void cpuinfo_arm_decode_vendor_uarch(
#endif /* CPUINFO_ARCH_ARM */
enum cpuinfo_vendor vendor[RESTRICT_STATIC 1],
enum cpuinfo_uarch uarch[RESTRICT_STATIC 1]) {
/* Ensure the out-parameters are always initialized, including for
* implementers that are not handled in the switch below. */
*vendor = cpuinfo_vendor_unknown;
*uarch = cpuinfo_uarch_unknown;
switch (midr_get_implementer(midr)) {
case 'A':
*vendor = cpuinfo_vendor_arm;
@@ -438,6 +443,50 @@ void cpuinfo_arm_decode_vendor_uarch(
midr_get_part(midr));
}
break;
case 'a':
*vendor = cpuinfo_vendor_apple;
switch (midr_get_part(midr)) {
case 0x022:
case 0x024:
case 0x028:
*uarch = cpuinfo_uarch_icestorm;
break;
case 0x023:
case 0x025:
case 0x029:
*uarch = cpuinfo_uarch_firestorm;
break;
case 0x032:
case 0x034:
case 0x038:
*uarch = cpuinfo_uarch_blizzard;
break;
case 0x033:
case 0x035:
case 0x039:
*uarch = cpuinfo_uarch_avalanche;
break;
case 0x042:
case 0x044:
case 0x048:
*uarch = cpuinfo_uarch_coll_sawtooth;
break;
case 0x043:
case 0x045:
case 0x049:
*uarch = cpuinfo_uarch_coll_everest;
break;
case 0x052:
*uarch = cpuinfo_uarch_donan_sawtooth;
break;
case 0x053:
*uarch = cpuinfo_uarch_donan_everest;
break;
default:
cpuinfo_log_warning(
"unknown Apple CPU part 0x%03" PRIx32 " ignored", midr_get_part(midr));
}
break;
#if CPUINFO_ARCH_ARM
case 'V':
*vendor = cpuinfo_vendor_marvell;
+9
View File
@@ -307,6 +307,15 @@ static bool transform_token(char* token_start, char* token_end, struct parser_st
}
break;
case 4:
/*
* Erase everything starting with "with" on AMD
* processors, e.g. "AMD Ryzen 5 PRO 6650U with Radeon
* Graphics"
*/
if (erase_matching(token_start, token_length, "with")) {
return false;
}
/* Remember to erase "Dual Core" in "AMD Athlon(tm) 64
* X2 Dual Core Processor 3800+" */
if (memcmp(token_start, "Dual", token_length) == 0) {
+7
View File
@@ -270,8 +270,15 @@ enum cpuinfo_uarch cpuinfo_x86_decode_uarch(
return cpuinfo_uarch_prescott;
}
break;
case 0x12:
switch (model_info->model) {
case 0x01: // Nova Lake P-core (Coyote Cove)
return cpuinfo_uarch_coyote_cove;
}
break;
}
break;
case cpuinfo_vendor_amd:
switch (model_info->family) {
#if CPUINFO_ARCH_X86
-2
View File
@@ -265,8 +265,6 @@ BOOL CALLBACK cpuinfo_x86_windows_init(PINIT_ONCE init_once, PVOID parameter, PV
* APIC order */
const uint32_t core_id = cores_count++;
uint32_t smt_id = 0;
/* Reconstruct core part of APIC ID */
const uint32_t core_apic_id = (core_id & core_bits_mask) << x86_processor.topology.core_bits_offset;
/* Iterate processor groups and set the core & SMT parts of APIC
* ID */
for (uint32_t i = 0; i < core_info->Processor.GroupCount; i++) {
+4 -3
View File
@@ -1,12 +1,13 @@
Copyright 2015-2023 The Khronos Group Inc.
Copyright 2015-2026 The Khronos Group Inc.
Files in this repository fall under one of these licenses:
- `Apache-2.0`
- `MIT`
Note: With the exception of `parse_dependency.py` the files using `MIT` license
also fall under `Apache-2.0`. Example:
Note: With the exception of `parse_dependency.py`, which is based on an
external file, files using the `MIT` license also fall under `Apache-2.0`.
Example:
```
SPDX-License-Identifier: Apache-2.0 OR MIT
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -2
View File
@@ -2,8 +2,7 @@
* Copyright 2015-2023 The Khronos Group Inc.
* Copyright 2015-2023 Valve Corporation
* Copyright 2015-2023 LunarG, Inc.
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#pragma once
+1 -2
View File
@@ -2,8 +2,7 @@
* Copyright 2015-2023 The Khronos Group Inc.
* Copyright 2015-2023 Valve Corporation
* Copyright 2015-2023 LunarG, Inc.
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#pragma once
+1 -2
View File
@@ -3,8 +3,7 @@
//
/*
** Copyright 2014-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
+1 -2
View File
@@ -3,8 +3,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include "vk_platform.h"
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+1 -1
View File
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
+104 -370
View File
@@ -200,7 +200,7 @@ PAPX-90203:
name-sort: "ぐらんつーりすも 2000 [たいけんばん]"
name-en: "Gran Turismo 2000 [Trial]"
region: "NTSC-J"
gsHWFixes:
gsHWFixes: &gran-turismo-3-gs-fixes
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Fixes missing lens flare and intensity.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
@@ -226,28 +226,19 @@ PAPX-90207:
name-sort: "ぐらんつーりすも 3 A-Spec おーとばっくすげんていりぷれいしあたー"
name-en: "Gran Turismo 3 - A-Spec - Autobacs Gentei Replay Theater"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90208:
name: "GRAN TURISMO 3 - A-Spec - リプレイシアター"
name-sort: "ぐらんつーりすも 3 A-Spec りぷれいしあたー"
name-en: "Gran Turismo 3 - A-Spec - Replay Theater"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90209:
name: "GRAN TURISMO 3 - A-Spec - Netz TOYOTA - リプレイシアターディスク"
name-sort: "ぐらんつーりすも 3 A-Spec ねっつとよたりぷれいしあたーでぃすく"
name-en: "Gran Turismo 3 - A-Spec - Netz TOYOTA - Replay Theater Disc"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90210:
name: "やっぱ RPGでしょ。 [オリジナルムービーディスク]"
name-sort: "やっぱ あーるぴーじーでしょ [おりじなるむーびーでぃすく]"
@@ -421,10 +412,7 @@ PAPX-90504:
name-sort: "ぐらんつーりすも こんせぷと えあとれっく たーぼ すぺしゃるえでぃしょん [たいけんばん]"
name-en: "Gran Turismo Concept - Airtrek Turbo Special Edition [Trial]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90505:
name: "2002 夏のオススメソフト おためしDisc"
name-sort: "2002 なつのおすすめそふと おためしでぃすく"
@@ -454,19 +442,13 @@ PAPX-90508:
name-sort: "ぐらんつーりすも こんせぷと るぽ かっぷ とれいにんぐ ばーじょん"
name-en: "Gran Turismo Concept - LUPO CUP Training Version"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90509:
name: "GRAN TURISMO Concept - LUPO CUP Training Version 2"
name-sort: "ぐらんつーりすも こんせぷと るぽ かっぷ とれいにんぐ ばーじょん 2"
name-en: "Gran Turismo Concept - LUPO CUP Training Version 2"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PAPX-90511:
name: "SIREN [体験版]"
name-sort: "さいれん [たいけんばん]"
@@ -481,11 +463,9 @@ PAPX-90512:
name-sort: "ぐらんつーりすも 4 - とよた ぷりうす [たいけんばん]"
name-en: "Gran Turismo 4 - TOYOTA Prius [Trial]"
region: "NTSC-J"
gsHWFixes:
gsHWFixes: &gran-turismo-4-prologue-gs-fixes
<<: *gran-turismo-3-gs-fixes
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
PAPX-90514:
name: "冬のオススメソフト おためしDISC"
name-sort: "ふゆのおすすめそふとおためしでぃすく"
@@ -538,13 +518,11 @@ PAPX-90523:
name-sort: "ぐらんつーりすも 4 - おんらいんじっけんばーじょん"
name-en: "Gran Turismo 4 - Online Test Version"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
clampModes: &gran-turismo-4-clamp-modes
vuClampMode: 2 # In GT4, text in GT mode works. In TT, fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes: &gran-turismo-4-gs-fixes
<<: *gran-turismo-4-prologue-gs-fixes
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
PAPX-90524:
name: "ワイルドアームズ ザ フィフスヴァンガード [体験版]"
name-sort: "わいるどあーむず ざ ふぃふすゔぁんがーど [たいけんばん]"
@@ -691,20 +669,14 @@ PBPX-95502:
name-sort: "ぐらんつーりすも 3 - A-Spec [ほんたいどうこんばん]"
name-en: "Gran Turismo 3 - A-Spec [PS2 Bundle]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCPS-15009"
PBPX-95503:
name: "Gran Turismo 3 - A-Spec [PS2 Bundle]"
region: "NTSC-U"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "PBPX-95503"
- "SCUS-97102"
@@ -765,20 +737,12 @@ PBPX-95523:
name-sort: "ぐらんつーりすも 4 ぷろろーぐ [ほんたいどうこんばん]"
name-en: "Gran Turismo 4 Prologue [PS2 Bundle]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
PBPX-95524:
name: "Gran Turismo 4 Prologue [PlayStation 2 Racing Pack]"
region: "NTSC-C"
compat: 5
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
PBPX-95525:
name: "ファイナルファンタジーⅫ [本体同梱版]"
name-sort: "ふぁいなるふぁんたじー 12 [ほんたいどうこんばん]"
@@ -790,13 +754,8 @@ PBPX-95601:
name-en: "Gran Turismo 4 [PS2 Bundle]"
region: "NTSC-J"
compat: 5
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -844,10 +803,7 @@ PCPX-96309:
name-sort: "ぐらんつーりすも 3 ねっつ とよた [Demo]"
name-en: "Gran Turismo 3 Netz TOYOTA [Demo]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Fixes missing lens flare and intensity.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96310:
name: "エクストリーム・レーシング SSX [体験版]"
name-sort: "えくすとりーむ れーしんぐ SSX [たいけんばん]"
@@ -862,19 +818,13 @@ PCPX-96311:
name-sort: "ぐらんつーりすも 3 てんとうしゆうでぃすくVol.1"
name-en: "Gran Turismo 3 Trial Disk Volume 1"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Fixes missing lens flare and intensity.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96312:
name: "GRAN TURISMO 3 - A-Spec - [オートバックス店頭試遊ディスク]"
name-sort: "ぐらんつーりすも 3 A-Spec おーとばっくすてんとうしゆうでぃすく"
name-en: "Gran Turismo 3 - A-Spec - Autobacs Tentou Shiyuu Disc"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes edge bleed and lines.
autoFlush: 1 # Fixes missing lens flare and intensity.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96314:
name: "スカイオデッセイ [体験版]"
name-sort: "すかいおでっせい [たいけんばん]"
@@ -1005,10 +955,7 @@ PCPX-96609:
name-sort: "ぐらんつーりすも 3 - A-Spec - てんとうしゆう Disc Vol. 2"
name-en: "Gran Turismo 3 - A-Spec - Tentou Shiyuu Disc Vol. 2"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96610:
name: "見る見る 2001年2月度受注号"
name-sort: "みるみる 2001ねん 2がつどじゅちゅうごう"
@@ -1082,10 +1029,7 @@ PCPX-96624:
name-sort: "ぐらんつーりすも こんせぷと 2001 Tokyo"
name-en: "Gran Turismo - Concept 2001 Tokyo"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96625:
name: "プレプレ2 VOLUME.4"
name-sort: "ぷれぷれ2 VOLUME. 4"
@@ -1136,10 +1080,7 @@ PCPX-96634:
name-sort: "ぐらんつーりすも すばるどらいびんぐしみゅれーたーばーじょん"
name-en: "Gran Turismo - SUBARU Driving Simulator Version"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
PCPX-96635:
name: "プレプレ2 VOLUME.8"
name-sort: "ぷれぷれ2 VOLUME. 8"
@@ -1176,13 +1117,8 @@ PCPX-96649:
name-en: "Gran Turismo 4 [Trial]"
region: "NTSC-J"
compat: 5
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
PCPX-96653:
name: "ラチェット&クランク3 突撃!ガラクチック★レンジャーズ [店頭体験版]"
name-sort: "らちぇっとあんどくらんく3 とつげき!がらくちっくれんじゃーず [てんとうたいけんばん]"
@@ -1223,13 +1159,8 @@ PCPX-96660:
name-sort: "つーりすと とろふぃー [Demo]"
name-en: "Tourist Trophy [Demo]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
PCPX-98017:
name: "ラチェット&クランク4th ギリギリ銀河のギガバトル [体験版]"
name-sort: "らちぇっとあんどくらんく4th ぎりぎりぎんがのぎがばとる [たいけんばん]"
@@ -1691,11 +1622,7 @@ SCAJ-20066:
name: "Gran Turismo 4 Prologue"
region: "NTSC-Unk"
compat: 5
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -1708,7 +1635,6 @@ SCAJ-20066:
- "SCPS-19304"
- "SCPS-15009"
- "SCPS-55007"
# vuClampMode = 2 Text in GT mode works.
SCAJ-20067:
name: "Gungrave O.D."
region: "NTSC-Unk"
@@ -2446,13 +2372,8 @@ SCAJ-20170:
name: "Tourist Trophy"
region: "NTSC-C"
compat: 5
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCAJ-20171:
name: "絶体絶命都市2 - 凍てついた記憶たち"
name-sort: "ぜったいぜつめいとし いてついたきおくたち"
@@ -2743,14 +2664,11 @@ SCAJ-30006:
name-sort: "ぐらんつーりすも 4"
name-en: "Gran Turismo 4"
region: "NTSC-J"
clampModes: *gran-turismo-4-clamp-modes
roundModes:
eeRoundMode: 3 # Using chop for both normal+div fixes crash in B5 license test.
eeDivRoundMode: 3 # See above.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -2767,25 +2685,19 @@ SCAJ-30007:
name: "Gran Turismo 4"
region: "NTSC-C"
compat: 5
clampModes: *gran-turismo-4-clamp-modes
roundModes:
eeRoundMode: 3 # Using chop for both normal+div fixes crash in B5 license test.
eeDivRoundMode: 3 # See above.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
SCAJ-30008:
name: "Gran Turismo 4 [PlayStation2 the Best]"
region: "NTSC-C"
clampModes: *gran-turismo-4-clamp-modes
roundModes:
eeRoundMode: 3 # Using chop for both normal+div fixes crash in B5 license test.
eeDivRoundMode: 3 # See above.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -2949,11 +2861,8 @@ SCCS-60002:
name-sort: "Paoche Langmanlu 4"
name-en: "Gran Turismo 4 [Review Copy]"
region: "NTSC-C"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCED-50041:
name: "Tekken Tag Tournament [Demo]"
region: "PAL-E"
@@ -3353,10 +3262,7 @@ SCED-51351:
SCED-51352:
name: "Gran Turismo - Nissan Micra Edition [Demo]"
region: "PAL-E"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCED-51359:
name: "Official PlayStation 2 Magazine Demo 27"
region: "PAL-M5"
@@ -3920,11 +3826,7 @@ SCED-52452:
SCED-52455:
name: "Gran Turismo Special Edition 2004 Geneva Version"
region: "PAL-E"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
SCED-52461:
name: "SingStar [Press Kit]"
region: "PAL-E"
@@ -3947,11 +3849,7 @@ SCED-52549:
SCED-52578:
name: "Gran Turismo 4 BMW 1 Series Virtual Drive Dealership [Demo]"
region: "PAL-M5"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
SCED-52580:
name: "Magazine Ufficiale PlayStation 2 Italia 06/04"
region: "PAL-I"
@@ -3964,11 +3862,7 @@ SCED-52619:
SCED-52681:
name: "Gran Turismo 4 BMW 1 Series Virtual Drive [Demo]"
region: "PAL-M11"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
SCED-52687:
name: "Formula One 04 [Demo]"
region: "PAL-M11"
@@ -4903,10 +4797,7 @@ SCES-50294:
name: "Gran Turismo 3 - A-Spec"
region: "PAL-M5"
compat: 5
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCES-50295:
name: "Dark Cloud"
region: "PAL-M5"
@@ -5174,10 +5065,7 @@ SCES-50858:
name: "Gran Turismo - Concept 2002 Tokyo-Geneva"
region: "PAL-M6"
compat: 5
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "SCES-50858"
- "SCES-50294"
@@ -5607,13 +5495,8 @@ SCES-51719:
name: "Gran Turismo 4"
region: "PAL-M5"
compat: 5
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "SCES-51719"
- "SCES-52438"
@@ -5871,16 +5754,11 @@ SCES-52438:
name: "Gran Turismo 4 Prologue"
region: "PAL-M5"
compat: 5
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
memcardFilters:
- "SCES-51719"
- "SCES-52438"
- "SCES-50294"
# vuClampMode = 2 Text in GT mode works.
SCES-52456:
name: "Ratchet & Clank 3"
region: "PAL-M5"
@@ -6229,13 +6107,8 @@ SCES-53372:
name: "Tourist Trophy - The Real Riding Simulator"
region: "PAL-M5"
compat: 5
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCES-53397:
name: "SingStar - Popworld Events Code"
region: "PAL-Unk"
@@ -7418,11 +7291,7 @@ SCKA-20020:
SCKA-20022:
name: "Gran Turismo 4 - Prologue" # No listed Korean name on ReDump
region: "NTSC-K"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
# vuClampMode = 2 Text in GT mode works.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
SCKA-20023:
name: "제로 ~붉은 나비~"
name-sort: "Zero: Bulgeun Nabi"
@@ -7481,10 +7350,7 @@ SCKA-20028:
SCKA-20029:
name: "Gran Turismo Concept - 2002 Tokyo-Seoul [PlayStation 2 BigHit Series]" # No listed Korean name on ReDump
region: "NTSC-K"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCKA-20030:
name: "슬라이 쿠퍼 - 전설의 비법서를 찾아서 [PlayStation 2 BigHit Series]"
name-sort: "Sly Cooper - Jeonseolui Bibeobseoreul Chajaseo [PlayStation 2 BigHit Series]"
@@ -8355,13 +8221,8 @@ SCKA-24012:
SCKA-30001:
name: "Gran Turismo 4" # No listed Korean name on ReDump
region: "NTSC-K"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCKA-30002:
name: "GOD OF WAR 영혼의 반역자"
name-sort: "God of War: Yeonghonui Banyeokja"
@@ -8382,13 +8243,8 @@ SCKA-30003:
SCKA-30004:
name: "Gran Turismo 4 [PlayStation 2 BigHit Series]" # No listed Korean name on ReDump
region: "NTSC-K"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCKA-30005:
name: "로그 갤럭시"
name-en: "Rogue Galaxy"
@@ -8488,10 +8344,7 @@ SCPM-85301:
name-sort: "ぐらんつーりすも こんせぷと こぺん すぺしゃるえでぃしょん [Demo]"
name-en: "Gran Turismo Concept - Copen Special Edition [Demo]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPM-85302:
name: "みんなのGOLF オンライン"
name-sort: "みんなのごるふ おんらいん"
@@ -8507,11 +8360,7 @@ SCPM-85304:
name-sort: "ぐらんつーりすも 4 ふぁーすとぷれびゅー"
name-en: "Gran Turismo 4 - First Preview -"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
SCPN-60101:
name: "PlayStation BB Navigator - Version 0.10 [Prerelease] [Disc 1]"
name-sort: "ぷれいすてーしょん BB なびげーたー - Version 0.10 [Prerelease] [Disc 1]"
@@ -8824,10 +8673,7 @@ SCPS-15009:
name-sort: "ぐらんつーりすも3 A-spec"
name-en: "Gran Turismo 3 - A-Spec"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCPS-15009"
@@ -8837,10 +8683,7 @@ SCPS-15010:
name-en: "Gran Turismo - Concept 2001 Tokyo"
region: "NTSC-J"
compat: 5
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-15011:
name: "EXTERMINATION"
name-sort: "エクスターミネーション"
@@ -9177,11 +9020,7 @@ SCPS-15055:
name-sort: "ぐらんつーりすも 4 ぷろろーぐ"
name-en: "Gran Turismo 4 Prologue"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -9194,7 +9033,6 @@ SCPS-15055:
- "SCPS-19304"
- "SCPS-15009"
- "SCPS-55007"
# vuClampMode = 2 Text in GT mode works.
SCPS-15056:
name: "ラチェット&クランク2 ガガガ!銀河のコマンドーっす"
name-sort: "らちぇっとあんどくらんく2 ががが!ぎんがのこまんどーっす"
@@ -9650,13 +9488,8 @@ SCPS-15105:
name-sort: "つーりすと とろふぃー"
name-en: "Tourist Trophy - The Real Riding Simulator"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-15106:
name: "SIREN2"
name-sort: "さいれん2"
@@ -9811,16 +9644,11 @@ SCPS-17001:
name-en: "Gran Turismo 4"
region: "NTSC-J"
compat: 5
clampModes:
vuClampMode: 2 # Text in GT mode works.
clampModes: *gran-turismo-4-clamp-modes
roundModes:
eeRoundMode: 3 # Using chop for both normal+div fixes crash in B5 license test.
eeDivRoundMode: 3 # See above.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -9847,41 +9675,29 @@ SCPS-17008:
name-sort: "ぐらんつーりすも ないき りみてっどえでぃしょん [8inch]"
name-en: "Nike - Gran Turismo [Limited Edition - 8 inch]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-17009:
name: "NIKE/ GRAN TURISMO Limited Edition [9inch]"
name-sort: "ぐらんつーりすも ないき りみてっどえでぃしょん [9inch]"
name-en: "Nike - Gran Turismo [Limited Edition - 9 inch]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-17010:
name: "NIKE/ GRAN TURISMO Limited Edition [10inch]"
name-sort: "ぐらんつーりすも ないき りみてっどえでぃしょん [10inch]"
name-en: "Nike - Gran Turismo [Limited Edition - 10 inch]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-17011:
name: "NIKE/ GRAN TURISMO Limited Edition [11inch]"
name-sort: "ぐらんつーりすも ないき りみてっどえでぃしょん [11inch]"
name-en: "Nike - Gran Turismo [Limited Edition - 11 inch]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-17013:
name: "ローグギャラクシー ディレクターズカット"
name-sort: "ろーぐぎゃらくしー でぃれくたーずかっと"
@@ -10037,10 +9853,7 @@ SCPS-19208:
name-sort: "ぐらんつーりすも Concept 2001 Tokyo [PlayStation2 the Best]"
name-en: "Gran Turismo - Concept 2001 Tokyo [PlayStation2 the Best]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-19209:
name: "ぼくのなつやすみ2 海の冒険篇 [PlayStation2 the Best]"
name-sort: "ぼくのなつやすみ2 うみのぼうけんへん [PlayStation2 the Best]"
@@ -10107,13 +9920,8 @@ SCPS-19252:
name-sort: "ぐらんつーりすも 4 [PlayStation2 the Best]"
name-en: "Gran Turismo 4 [PlayStation2 the Best]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -10178,11 +9986,7 @@ SCPS-19304:
name-sort: "ぐらんつーりすも 4 ぷろろーぐ [PlayStation2 the Best]"
name-en: "Gran Turismo 4 Prologue [PlayStation2 the Best]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
memcardFilters:
- "PBPX-95502"
- "SCAJ-20066"
@@ -10195,7 +9999,6 @@ SCPS-19304:
- "SCPS-19304"
- "SCPS-15009"
- "SCPS-55007"
# vuClampMode = 2 Text in GT mode works.
SCPS-19305:
name: "SIREN [PlayStation2 the Best]"
name-sort: "さいれん [PlayStation2 the Best]"
@@ -10424,13 +10227,8 @@ SCPS-19324:
name-sort: "つーりすと とろふぃー [PlayStation2 the Best]"
name-en: "Tourist Trophy - The Real Riding Simulator [PlayStation2 the Best]"
region: "NTSC-J"
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCPS-19325:
name: "サルゲッチュ ミリオンモンキーズ [PlayStation2 the Best]"
name-sort: "さるげっちゅ みりおんもんきーず [PlayStation2 the Best]"
@@ -10650,10 +10448,7 @@ SCPS-55005:
name-sort: "ぐらんつーりすも こんせぷと 2001 Tokyo"
name-en: "Gran Turismo - Concept 2001 Tokyo"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-55006:
name: "ワイルドアームズ アドヴァンスドサード"
name-sort: "わいるどあーむず あどゔぁんすどさーど"
@@ -10667,10 +10462,7 @@ SCPS-55007:
name-sort: "ぐらんつーりすも 3 - A-Spec"
name-en: "Gran Turismo 3 - A-Spec"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-55008:
name: "サンダーストライカー"
name-sort: "さんだーすとらいかー"
@@ -11001,19 +10793,13 @@ SCPS-55902:
name-sort: "ぐらんつーりすも - こんせぷと 2002 Tokyo-Geneva"
name-en: "Gran Turismo - Concept 2002 Tokyo-Geneva"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-55903:
name: "GRAN TURISMO - Concept 2002 Tokyo-Geneva"
name-sort: "ぐらんつーりすも - こんせぷと 2002 Tokyo-Geneva"
name-en: "Gran Turismo - Concept 2002 Tokyo-Geneva"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-56001:
name: "이코"
name-en: "Ico"
@@ -11049,10 +10835,7 @@ SCPS-56004:
SCPS-56005:
name: "Gran Turismo Concept - 2002 Tokyo-Seoul" # No listed Korean name on ReDump
region: "NTSC-K"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-56006:
name: "철권 "
name-en: "Tekken 4"
@@ -11131,10 +10914,7 @@ SCPS-72001:
name-sort: "ぐらんつーりすも3 A-spec [MEGA HITS!]"
name-en: "Gran Turismo 3 - A-Spec [MEGA HITS!]"
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCPS-72002:
name: "みんなのGOLF 3 [MEGA HITS!]"
name-sort: "みんなのごるふ 3 [MEGA HITS!]"
@@ -11170,13 +10950,8 @@ SCUS-90174:
SCUS-90682:
name: "Gran Turismo 4"
region: "NTSC-U"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCUS-94346:
name: "SingStar - Latino"
region: "NTSC-U"
@@ -11200,10 +10975,7 @@ SCUS-97102:
name: "Gran Turismo 3 - A-Spec"
region: "NTSC-U"
compat: 5
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "PBPX-95503"
- "SCUS-97102"
@@ -11267,10 +11039,7 @@ SCUS-97114:
SCUS-97115:
name: "Gran Turismo 3 - A-Spec [Demo]"
region: "NTSC-U"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCUS-97116:
name: "Kiosk Disc 2.1"
region: "NTSC-U"
@@ -11701,12 +11470,9 @@ SCUS-97218:
name: "Kiosk Demo Disc 2.6"
region: "NTSC-U"
SCUS-97219:
name: "Gran Turismo 3 - A-Spec - Nissan 350Z Edition"
name: "Gran Turismo Concept - Nissan 350Z Edition"
region: "NTSC-U"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
memcardFilters:
- "SCUS-97219"
- "SCUS-97102"
@@ -12063,13 +11829,8 @@ SCUS-97328:
name: "Gran Turismo 4"
region: "NTSC-U"
compat: 5
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters: # Allows car imports from GT3 or something.
- "PBPX-95503"
- "SCUS-97328"
@@ -12274,11 +12035,7 @@ SCUS-97383:
SCUS-97384:
name: "Gran Turismo Special Edition 2004 Toyota [Demo]"
region: "NTSC-U"
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-4-prologue-gs-fixes
SCUS-97392:
name: "NBA '06 featuring The Life Vol.1 [Demo]"
region: "NTSC-U"
@@ -12507,13 +12264,8 @@ SCUS-97432:
SCUS-97436:
name: "Gran Turismo 4 [Online Public Beta]"
region: "NTSC-U"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
memcardFilters:
- "PBPX-95503"
- "SCUS-97328"
@@ -12731,13 +12483,8 @@ SCUS-97482:
SCUS-97483:
name: "Gran Turismo 4 MX-5 Edition [Demo]"
region: "NTSC-U"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCUS-97484:
name: "Sly 3 - Honor Among Thieves [E3 Demo]"
region: "NTSC-U"
@@ -12860,13 +12607,8 @@ SCUS-97502:
name: "Tourist Trophy"
region: "NTSC-U"
compat: 5
clampModes:
vuClampMode: 2 # Fixes SPS in TT Mode menu caused by the moving tooltips.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCUS-97503:
name: "MLB '06 - The Show [Demo]"
region: "NTSC-U"
@@ -12920,10 +12662,7 @@ SCUS-97512:
- "PBPX-95503"
- "SCUS-97102"
- "SCUS-97512"
gsHWFixes:
halfPixelOffset: 5 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Partially fixes the sun occlusion and lens flare.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
gsHWFixes: *gran-turismo-3-gs-fixes
SCUS-97513:
name: "Ratchet & Clank 2 - Going Commando [Greatest Hits]"
region: "NTSC-U"
@@ -13126,13 +12865,8 @@ SCUS-97560:
SCUS-97563:
name: "Gran Turismo 4"
region: "NTSC-U"
clampModes:
vuClampMode: 2 # Text in GT mode works.
gsHWFixes:
recommendedBlendingLevel: 3 # Improves banding in car showcase as well as car brightness and sheen.
halfPixelOffset: 4 # Fixes weird edge shadows and depth bleed which happens on the edge as well.
autoFlush: 1 # Helps lens flare and sun occlusion somewhat but doesn't full fix it.
getSkipCount: "GSC_PolyphonyDigitalGames" # Fixes post-processing.
clampModes: *gran-turismo-4-clamp-modes
gsHWFixes: *gran-turismo-4-gs-fixes
SCUS-97564:
name: "Jampack Demo Disc Vol.15 [T-Rated]"
region: "NTSC-U"
-5
View File
@@ -2014,11 +2014,6 @@ VS_OUTPUT vs_main_expand(uint vid : SV_VertexID)
vtx.inv_cov = is_near_corner ? 0.0f : 1.0f; // Full coverage at near corner, otherwise none.
vtx.interior = 0;
#if !VS_IIP
// Get the provoking vertex color (first vertex in DX)
vtx.c = i0 == 0 ? vtx.c : (i1 == 0 ? other.c : opposite.c);
#endif
}
return vtx;
@@ -455,11 +455,6 @@ void main()
VSout.inv_cov = is_near_corner ? 0.0f : 1.0f; // Full coverage at near corner, otherwise none.
VSout.interior = 0;
#if !VS_IIP
// Get the provoking vertex color (last vertex in GL)
vtx.c = i0 == 2 ? vtx.c : (i1 == 2 ? other.c : opposite.c);
#endif
}
#endif
-5
View File
@@ -450,11 +450,6 @@ void main()
vsOut.inv_cov = is_near_corner ? 0.0f : 1.0f; // Full coverage at near corner, otherwise none.
vsOut.interior = 0;
#if !VS_IIP
// Get the provoking vertex color (last vertex in VK)
vtx.c = i0 == 2 ? vtx.c : (i1 == 2 ? other.c : opposite.c);
#endif
}
#endif
+88 -26
View File
@@ -17,7 +17,7 @@ struct RapidYAMLContext
Error* error = nullptr;
};
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error)
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error, bool resolve_anchors)
{
RapidYAMLContext context;
context.error = error;
@@ -28,40 +28,93 @@ std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr
callbacks.set_user_data(static_cast<void*>(&context));
callbacks.set_error_basic([](ryml::csubstr msg, const ryml::ErrorDataBasic& errdata, void* user_data) {
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_basic_format(std::move(callback), msg, errdata);
RapidYAMLContext* context = static_cast<RapidYAMLContext*>(user_data);
// This scope needs to stay, so all objects destruct before std::longjump
{
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_basic_format(std::move(callback), msg, errdata);
// We might have already returned, so don't try to recover.
pxFailRel(description.c_str());
std::abort();
if (context != nullptr)
{
Error::SetString(context->error, std::move(description));
}
else
{
pxFailRel(description.c_str());
}
}
if (context != nullptr)
{
std::longjmp(context->env, 1);
}
else
{
std::terminate();
}
});
callbacks.set_error_parse([](ryml::csubstr msg, const ryml::ErrorDataParse& errdata, void* user_data) {
RapidYAMLContext* context = static_cast<RapidYAMLContext*>(user_data);
// This scope needs to stay, so all objects destruct before std::longjump
{
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_parse_format(std::move(callback), msg, errdata);
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_parse_format(std::move(callback), msg, errdata);
if (context != nullptr)
{
Error::SetString(context->error, std::move(description));
}
else
{
pxFailRel(description.c_str());
}
}
Error::SetString(context->error, std::move(description));
std::longjmp(context->env, 1);
if (context != nullptr)
{
std::longjmp(context->env, 2);
}
else
{
std::terminate();
}
});
callbacks.set_error_visit([](ryml::csubstr msg, const ryml::ErrorDataVisit& errdata, void* user_data) {
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_visit_format(std::move(callback), msg, errdata);
RapidYAMLContext* context = static_cast<RapidYAMLContext*>(user_data);
// This scope needs to stay, so all objects destruct before std::longjump
{
std::string description;
auto callback = [&description](ryml::csubstr string) {
description.append(string.str, string.len);
};
ryml::err_visit_format(std::move(callback), msg, errdata);
// We've probably already returned, so don't try to recover.
pxFailRel(description.c_str());
std::abort();
if (context != nullptr)
{
Error::SetString(context->error, std::move(description));
}
else
{
pxFailRel(description.c_str());
}
}
if (context != nullptr)
{
std::longjmp(context->env, 3);
}
else
{
std::terminate();
}
});
#else
callbacks.m_user_data = static_cast<void*>(&context);
@@ -76,15 +129,24 @@ std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr
ryml::EventHandlerTree event_handler(callbacks);
ryml::Parser parser(&event_handler);
ryml::Tree tree;
ryml::Tree tree(callbacks);
// The only options RapidYAML provides for recovering from errors are
// throwing an exception or using setjmp/longjmp. Since we have exceptions
// disabled we have to use the latter option.
if (setjmp(context.env))
if (setjmp(context.env) != 0)
return std::nullopt;
ryml::parse_in_arena(&parser, file_name, yaml, &tree);
if (resolve_anchors)
{
tree.resolve();
}
// Callbacks passed to ryml::Tree are used for value parsing errors later,
// so we need to clear the context before it goes out of scope.
callbacks.set_user_data(nullptr);
tree.callbacks(callbacks);
return tree;
}
+3 -1
View File
@@ -14,4 +14,6 @@
/// parsing errors (as is recommended by the documentation for cases where
/// exceptions are disabled). The file_name parameter is only used for error
/// messages, which are returned via the error parameter.
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error);
/// If resolve_anchors is set to true, YAML anchors and aliases will be resolved.
/// It's a potentially slow operation, so it's opt-in.
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error, bool resolve_anchors = false);
+1 -1
View File
@@ -1110,7 +1110,7 @@ void GSDevice::BeginDSAsRT(GSTexture* ds, const GSVector4i& drawarea)
// Create a temporary RT and copy the area needed for the draw.
const int w = ds->GetWidth();
const int h = ds->GetHeight();
if (m_ds_as_rt = g_gs_device->CreateFeedbackTarget(w, h, GSTexture::Format::DepthColor, false, true))
if ((m_ds_as_rt = g_gs_device->CreateFeedbackTarget(w, h, GSTexture::Format::DepthColor, false, true)))
{
const GSVector4 dRect(drawarea);
const GSVector4 sRect(dRect.x / w, dRect.y / h, dRect.z / w, dRect.w / h);
+25 -20
View File
@@ -5331,31 +5331,36 @@ bool GSRendererHW::VerifyIndices()
return true;
}
// Fix the colors in vertices in case the API only supports "provoking first vertex"
// (i.e., when using flat shading the color comes from the first vertex, unlike PS2
// which is "provoking last vertex").
void GSRendererHW::HandleProvokingVertexFirst()
void GSRendererHW::HandleFlatShadedVertices()
{
// Early exit conditions:
if (g_gs_device->Features().provoking_vertex_last || // device supports provoking last vertex
m_conf.vs.iip || // we are doing Gouraud shading
m_vt.m_primclass == GS_POINT_CLASS || // drawing points (one vertex per primitive; color is unambiguous)
m_vt.m_primclass == GS_SPRITE_CLASS) // drawing sprites (handled by the sprites -> triangles expand shader)
// These cases might need fixing.
const bool maybe_fix_vertices = !m_conf.vs.iip &&
(!g_gs_device->Features().provoking_vertex_last || IsCoverageAlphaSupported());
// These cases definitely don't need fixing.
const bool dont_fix_vertices = m_vt.m_primclass == GS_POINT_CLASS || m_vt.m_primclass == GS_SPRITE_CLASS;
if (!maybe_fix_vertices || dont_fix_vertices)
return;
const int n = GSUtil::GetClassVertexCount(m_vt.m_primclass);
// If all first/last vertices have the same color there is nothing to do.
bool first_eq_last = true;
// If all vertices of each prim have the same color there is nothing to do.
bool prims_flat = true;
for (u32 i = 0; i < m_index->tail; i += n)
{
if (m_vertex->buff[m_index->buff[i]].RGBAQ.U32[0] != m_vertex->buff[m_index->buff[i + n - 1]].RGBAQ.U32[0])
for (u32 j = 0; j < n - 1; j++)
{
first_eq_last = false;
break;
if (m_vertex->buff[m_index->buff[i + j]].RGBAQ.U32[0] != m_vertex->buff[m_index->buff[i + n - 1]].RGBAQ.U32[0])
{
prims_flat = false;
break;
}
}
if (!prims_flat)
break;
}
if (first_eq_last)
if (prims_flat)
return;
// De-index the vertices using the copy buffer
@@ -5369,11 +5374,11 @@ void GSRendererHW::HandleProvokingVertexFirst()
std::swap(m_vertex->buff, m_vertex->buff_copy);
m_vertex->head = m_vertex->next = m_vertex->tail = m_index->tail;
// Put correct color in the first vertex
// Make all vertices the same color to simplify handling in expand shaders.
for (u32 i = 0; i < m_index->tail; i += n)
{
m_vertex->buff[i].RGBAQ.U32[0] = m_vertex->buff[i + n - 1].RGBAQ.U32[0];
m_vertex->buff[i + n - 1].RGBAQ.U32[0] = 0xff; // Make last vertex red for debugging if used improperly
for (u32 j = 0; j < n - 1; j++)
m_vertex->buff[i + j].RGBAQ.U32[0] = m_vertex->buff[i + n - 1].RGBAQ.U32[0];
}
}
@@ -9450,7 +9455,7 @@ __ri void GSRendererHW::DrawPrims(GSTextureCache::Target* rt, GSTextureCache::Ta
DetermineROVUsage(rt, ds);
ConvertTextureTypeROV(rt, ds);
// Barriers must be determined before indices are modified via HandleProvokingVertexFirst/SetupIA.
// Barriers must be determined before indices are modified via HandleFlatShadedVertices/SetupIA.
// This also computes the drawlist if needed.
DetermineBarriers(rt, tex);
@@ -9475,7 +9480,7 @@ __ri void GSRendererHW::DrawPrims(GSTextureCache::Target* rt, GSTextureCache::Ta
m_conf.scissor = (date_options.enabled && !date_options.barrier) ? m_conf.drawarea : scissor;
HandleProvokingVertexFirst();
HandleFlatShadedVertices();
SetupIA(rtscale, vs_scale_x, vs_scale_y, m_channel_shuffle_width != 0, no_rt);
+1 -1
View File
@@ -215,7 +215,7 @@ private:
void DrawPrims(GSTextureCache::Target* rt, GSTextureCache::Target* ds, GSTextureCache::Source* tex, const TextureMinMaxResult& tmm);
void ResetStates();
void HandleProvokingVertexFirst();
void HandleFlatShadedVertices();
void SetupIA(float target_scale, float sx, float sy, bool req_vert_backup, const bool no_rt);
void EmulateTextureShuffleAndFbmask(GSTextureCache::Target* rt, GSTextureCache::Source* tex);
u32 EmulateChannelShuffle(GSTextureCache::Target* src, bool test_only, GSTextureCache::Target* rt = nullptr);
+1 -1
View File
@@ -5297,7 +5297,7 @@ bool GSTextureCache::Move(u32 SBP, u32 SBW, u32 SPSM, int sx, int sy, u32 DBP, u
// If it was matched to an old target, make sure to clear the other type and update its information.
// Also update information if the buffer width of the new data is larger than the existing target.
if (dst->m_was_dst_matched || (Common::AlignUpPow2(w, 64) / GSLocalMemory::m_psm[new_TEX0.PSM].pgs.x) > dst->m_TEX0.TBW)
if (dst->m_was_dst_matched || static_cast<u32>(Common::AlignUpPow2(w, 64) / GSLocalMemory::m_psm[new_TEX0.PSM].pgs.x) > dst->m_TEX0.TBW)
{
dst->m_TEX0 = new_TEX0;
}
-6
View File
@@ -555,12 +555,6 @@ vertex MainVSOut vs_main_expand(
out.inv_cov = is_near_corner ? 0.0f : 1.0f; // Full coverage at near corner, otherwise none.
out.interior = 0;
if (NOT_IIP)
{
// Get the provoking vertex color (first vertex in Metal)
out.fc = i0 == 0 ? out.fc : (i1 == 0 ? other.fc : opposite.fc);
}
}
return out;
+1 -1
View File
@@ -1262,7 +1262,7 @@ void GSDeviceOGL::DestroyPipelineStatisticsQueries()
glEndQuery(GL_FRAGMENT_SHADER_INVOCATIONS_ARB);
}
for (int i = 0; i < m_pipeline_statistics_queries.size(); i++)
for (size_t i = 0; i < m_pipeline_statistics_queries.size(); i++)
{
glDeleteQueries(2, m_pipeline_statistics_queries[i].data());
m_pipeline_statistics_queries[i].fill(0);
+1 -1
View File
@@ -1030,7 +1030,7 @@ void GameDatabase::initDatabase()
const ryml::csubstr yaml = ryml::to_csubstr(*buffer);
Error error;
std::optional<ryml::Tree> tree = ParseYAMLFromString(yaml, ryml::to_csubstr(name), &error);
std::optional<ryml::Tree> tree = ParseYAMLFromString(yaml, ryml::to_csubstr(name), &error, true);
if (!tree.has_value())
{
Console.ErrorFmt("GameDB: Failed to parse game database file {}:", path);
+1 -1
View File
@@ -3,4 +3,4 @@
/// Version number for GS and other shaders. Increment whenever any of the contents of the
/// shaders change, to invalidate the cache.
static constexpr u32 SHADER_CACHE_VERSION = 106; // Last changed in PR 14643
static constexpr u32 SHADER_CACHE_VERSION = 107; // Last changed in PR 14634