summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-03-24 07:42:16 +0100
committerGitHub <noreply@github.com>2018-03-24 07:42:16 +0100
commit31816aac385b886055b5bbca545d1eb43e3a0d2b (patch)
tree6a49c9ff5679539138f25780e1d848db2f5ea3d1 /src/video_core/engines
parentMerge pull request #265 from bunnei/tegra-progress-2 (diff)
parentGPU: Added viewport registers to Maxwell3D's reg structure. (diff)
downloadyuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar.gz
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar.bz2
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar.lz
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar.xz
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.tar.zst
yuzu-31816aac385b886055b5bbca545d1eb43e3a0d2b.zip
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 69ed56338..545d7ff35 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -33,6 +33,7 @@ public:
static constexpr size_t NUM_REGS = 0xE36;
static constexpr size_t NumRenderTargets = 8;
+ static constexpr size_t NumViewports = 16;
static constexpr size_t NumCBData = 16;
static constexpr size_t NumVertexArrays = 32;
static constexpr size_t NumVertexAttributes = 32;
@@ -186,7 +187,22 @@ public:
}
} rt[NumRenderTargets];
- INSERT_PADDING_WORDS(0xDD);
+ INSERT_PADDING_WORDS(0x80);
+
+ struct {
+ union {
+ BitField<0, 16, u32> x;
+ BitField<16, 16, u32> width;
+ };
+ union {
+ BitField<0, 16, u32> y;
+ BitField<16, 16, u32> height;
+ };
+ float depth_range_near;
+ float depth_range_far;
+ } viewport[NumViewports];
+
+ INSERT_PADDING_WORDS(0x1D);
struct {
u32 first;
@@ -462,6 +478,7 @@ private:
"Field " #field_name " has invalid position")
ASSERT_REG_POSITION(rt, 0x200);
+ASSERT_REG_POSITION(viewport, 0x300);
ASSERT_REG_POSITION(vertex_buffer, 0x35D);
ASSERT_REG_POSITION(zeta, 0x3F8);
ASSERT_REG_POSITION(vertex_attrib_format[0], 0x458);