mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-11-02 05:17:52 +00:00
maxwell_3d: Add viewport swizzles
This commit is contained in:
parent
500e9c5969
commit
9b8e962368
2 changed files with 24 additions and 1 deletions
|
@ -44,6 +44,12 @@ void Maxwell3D::InitializeRegisterDefaults() {
|
||||||
viewport.depth_range_near = 0.0f;
|
viewport.depth_range_near = 0.0f;
|
||||||
viewport.depth_range_far = 1.0f;
|
viewport.depth_range_far = 1.0f;
|
||||||
}
|
}
|
||||||
|
for (auto& viewport : regs.viewport_transform) {
|
||||||
|
viewport.swizzle.x.Assign(Regs::ViewportSwizzle::PositiveX);
|
||||||
|
viewport.swizzle.y.Assign(Regs::ViewportSwizzle::PositiveY);
|
||||||
|
viewport.swizzle.z.Assign(Regs::ViewportSwizzle::PositiveZ);
|
||||||
|
viewport.swizzle.w.Assign(Regs::ViewportSwizzle::PositiveW);
|
||||||
|
}
|
||||||
|
|
||||||
// Doom and Bomberman seems to use the uninitialized registers and just enable blend
|
// Doom and Bomberman seems to use the uninitialized registers and just enable blend
|
||||||
// so initialize blend registers with sane values
|
// so initialize blend registers with sane values
|
||||||
|
|
|
@ -575,6 +575,17 @@ public:
|
||||||
Replay = 3,
|
Replay = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class ViewportSwizzle : u32 {
|
||||||
|
PositiveX = 0,
|
||||||
|
NegativeX = 1,
|
||||||
|
PositiveY = 2,
|
||||||
|
NegativeY = 3,
|
||||||
|
PositiveZ = 4,
|
||||||
|
NegativeZ = 5,
|
||||||
|
PositiveW = 6,
|
||||||
|
NegativeW = 7,
|
||||||
|
};
|
||||||
|
|
||||||
struct RenderTargetConfig {
|
struct RenderTargetConfig {
|
||||||
u32 address_high;
|
u32 address_high;
|
||||||
u32 address_low;
|
u32 address_low;
|
||||||
|
@ -618,7 +629,13 @@ public:
|
||||||
f32 translate_x;
|
f32 translate_x;
|
||||||
f32 translate_y;
|
f32 translate_y;
|
||||||
f32 translate_z;
|
f32 translate_z;
|
||||||
INSERT_UNION_PADDING_WORDS(2);
|
union {
|
||||||
|
BitField<0, 3, ViewportSwizzle> x;
|
||||||
|
BitField<4, 3, ViewportSwizzle> y;
|
||||||
|
BitField<8, 3, ViewportSwizzle> z;
|
||||||
|
BitField<12, 3, ViewportSwizzle> w;
|
||||||
|
} swizzle;
|
||||||
|
INSERT_UNION_PADDING_WORDS(1);
|
||||||
|
|
||||||
Common::Rectangle<f32> GetRect() const {
|
Common::Rectangle<f32> GetRect() const {
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in a new issue