summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/BPMemory.h
diff options
context:
space:
mode:
authorezio1900 <yd86128@163.com>2021-04-19 20:20:37 +0800
committerezio1900 <yd86128@163.com>2021-04-24 08:46:21 +0800
commit97ea3a603ef4df32945dfd33300cedcb04ffa67a (patch)
treeb30a2566b5964f66bb427f202dc810e0a931833e /Source/Core/VideoCommon/BPMemory.h
parent34348fad1d64a49420b223d5c79b01010bbc9d56 (diff)
VideoCommon: Fix scissorOffset, handle negative value correctly
VideoCommon: Change the type of BPMemory.scissorOffset to 10bit signed: S32X10Y10 VideoBackends: Fix Software Clipper.PerspectiveDivide function, use BPMemory.scissorOffset instead of hard code 342
Diffstat (limited to 'Source/Core/VideoCommon/BPMemory.h')
-rw-r--r--Source/Core/VideoCommon/BPMemory.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/BPMemory.h b/Source/Core/VideoCommon/BPMemory.h
index 035fa5531e..f22ceda2cd 100644
--- a/Source/Core/VideoCommon/BPMemory.h
+++ b/Source/Core/VideoCommon/BPMemory.h
@@ -993,6 +993,12 @@ union X10Y10
BitField<10, 10, u32> y;
u32 hex;
};
+union S32X10Y10
+{
+ BitField<0, 10, s32> x;
+ BitField<10, 10, s32> y;
+ u32 hex;
+};
// Framebuffer/pixel stuff (incl fog)
enum class SrcBlendFactor : u32
@@ -1949,7 +1955,7 @@ struct BPMemory
u32 boundbox0; // 55
u32 boundbox1; // 56
u32 unknown7[2]; // 57,58
- X10Y10 scissorOffset; // 59
+ S32X10Y10 scissorOffset; // 59
u32 unknown8[6]; // 5a,5b,5c,5d, 5e,5f
BPS_TmemConfig tmem_config; // 60-66
u32 metric; // 67