This commit is contained in:
nmzik
2026-09-05 06:53:59 +04:00
parent 74a78f37d0
commit e8e580cf6c
5 changed files with 6 additions and 5 deletions
@@ -445,6 +445,7 @@ static bool PixelShaderHasDepthOrCoverageSideEffects(const HW::ShaderRegisters&
} }
static bool ShouldSkipGeShader(const CommandBuffer& buffer) { static bool ShouldSkipGeShader(const CommandBuffer& buffer) {
return false;
const auto& ctx = buffer.GetRegisters(); const auto& ctx = buffer.GetRegisters();
const auto& ucfg = buffer.GetUserConfig(); const auto& ucfg = buffer.GetUserConfig();
const auto& sh_ctx = buffer.GetShaders(); const auto& sh_ctx = buffer.GetShaders();
@@ -1341,7 +1341,7 @@ bool IsolateSemanticLoopHeaders(Graph& graph) {
// SPIR-V requires OpLoopMerge and its branch to remain in the loop header's // SPIR-V requires OpLoopMerge and its branch to remain in the loop header's
// physical block. Keep that header as a dedicated control node, exactly like // physical block. Keep that header as a dedicated control node, exactly like
// the separate Loop node in shadPS4's structured AST. Guest instructions live // a separate Loop node in a structured AST. Guest instructions live
// in the body so later translation may introduce bounds/EXEC control flow without // in the body so later translation may introduce bounds/EXEC control flow without
// displacing OpLoopMerge into a helper-created block. // displacing OpLoopMerge into a helper-created block.
if (!IsolateSemanticLoopHeader(graph, loop->header)) { if (!IsolateSemanticLoopHeader(graph, loop->header)) {
+2 -2
View File
@@ -154,7 +154,7 @@ constexpr int POSIX_ENOBLK = 95;
constexpr int POSIX_EICV = 96; constexpr int POSIX_EICV = 96;
constexpr int POSIX_ENOPLAYGOENT = 97; constexpr int POSIX_ENOPLAYGOENT = 97;
constexpr int POSIX_EREVOKE = 98; constexpr int POSIX_EREVOKE = 98;
constexpr int POSIX_ESDKVERSION = 99; constexpr int POSIX_EAPIVERSION = 99;
constexpr int POSIX_ESTART = 100; constexpr int POSIX_ESTART = 100;
constexpr int POSIX_ESTOP = 101; constexpr int POSIX_ESTOP = 101;
constexpr int POSIX_EINVALID2MB = 102; constexpr int POSIX_EINVALID2MB = 102;
@@ -285,7 +285,7 @@ constexpr int KERNEL_ERROR_ENOBLK = -2147352481; /* 0x8002005F */
constexpr int KERNEL_ERROR_EICV = -2147352480; /* 0x80020060 */ constexpr int KERNEL_ERROR_EICV = -2147352480; /* 0x80020060 */
constexpr int KERNEL_ERROR_ENOPLAYGOENT = -2147352479; /* 0x80020061 */ constexpr int KERNEL_ERROR_ENOPLAYGOENT = -2147352479; /* 0x80020061 */
constexpr int KERNEL_ERROR_EREVOKE = -2147352478; /* 0x80020062 */ constexpr int KERNEL_ERROR_EREVOKE = -2147352478; /* 0x80020062 */
constexpr int KERNEL_ERROR_ESDKVERSION = -2147352477; /* 0x80020063 */ constexpr int KERNEL_ERROR_EAPIVERSION = -2147352477; /* 0x80020063 */
constexpr int KERNEL_ERROR_ESTART = -2147352476; /* 0x80020064 */ constexpr int KERNEL_ERROR_ESTART = -2147352476; /* 0x80020064 */
constexpr int KERNEL_ERROR_ESTOP = -2147352475; /* 0x80020065 */ constexpr int KERNEL_ERROR_ESTOP = -2147352475; /* 0x80020065 */
+1 -1
View File
@@ -3324,7 +3324,7 @@ public:
cache.GetBuffer(scored).CpuAddress() == stream_begin && cache.GetBuffer(scored).CpuAddress() == stream_begin &&
cache.GetBuffer(scored).Size() == stream_page * 3 && cache.GetBuffer(scored).Size() == stream_page * 3 &&
cache.GetBuffer(scored).StreamScore() == 17, cache.GetBuffer(scored).StreamScore() == 17,
"buffer range grew before the shadPS4 stream threshold"); "buffer range grew before the stream threshold");
const auto grown = const auto grown =
cache.FindBuffer(stream_begin + stream_page * 3 - 4, 8); cache.FindBuffer(stream_begin + stream_page * 3 - 4, 8);
const auto &grown_buffer = cache.GetBuffer(grown); const auto &grown_buffer = cache.GetBuffer(grown);
+1 -1
View File
@@ -561,7 +561,7 @@ void TestFlexibleDmemCompatAndAlignmentFlags() {
SceKernelMapDmemCompat | SceKernelMapAligned64Kb, "dmem_compat"), SceKernelMapDmemCompat | SceKernelMapAligned64Kb, "dmem_compat"),
"KernelMapNamedFlexibleMemory(DMEM_COMPAT|ALIGNED_64KB)"); "KernelMapNamedFlexibleMemory(DMEM_COMPAT|ALIGNED_64KB)");
const auto base = reinterpret_cast<uint64_t>(address); const auto base = reinterpret_cast<uint64_t>(address);
Check(test, (base & (0x10000 - 1u)) == 0, "SDK alignment flag was not honored"); Check(test, (base & (0x10000 - 1u)) == 0, "Requested alignment flag was not honored");
const auto info = Query(test, base); const auto info = Query(test, base);
Check(test, info.is_flexible == 1 && info.is_stack == 0, Check(test, info.is_flexible == 1 && info.is_stack == 0,
"SCE_KERNEL_MAP_DMEM_COMPAT was misclassified as MAP_STACK"); "SCE_KERNEL_MAP_DMEM_COMPAT was misclassified as MAP_STACK");