diff options
| author | 2020-02-16 04:12:38 -0300 | |
|---|---|---|
| committer | 2020-02-16 04:19:32 -0300 | |
| commit | 6a0220b2e1a0d7692b8f32f66ae7bc86cb63fab7 (patch) | |
| tree | 06b9087f7921595d336b98503c0e9fcf25694775 /src/video_core/engines | |
| parent | Merge pull request #3401 from FernandoS27/synchronization (diff) | |
| download | yuzu-6a0220b2e1a0d7692b8f32f66ae7bc86cb63fab7.tar.gz yuzu-6a0220b2e1a0d7692b8f32f66ae7bc86cb63fab7.tar.xz yuzu-6a0220b2e1a0d7692b8f32f66ae7bc86cb63fab7.zip | |
texture_cache: Implement layered framebuffer attachments
Layered framebuffer attachments is a feature that allows applications to
write attach layered textures to a single attachment. What layer the
fragments are written to is decided from the shader using gl_Layer.
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 0a2af54e5..432596e27 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h | |||
| @@ -520,7 +520,7 @@ public: | |||
| 520 | BitField<12, 1, InvMemoryLayout> type; | 520 | BitField<12, 1, InvMemoryLayout> type; |
| 521 | } memory_layout; | 521 | } memory_layout; |
| 522 | union { | 522 | union { |
| 523 | BitField<0, 16, u32> array_mode; | 523 | BitField<0, 16, u32> layers; |
| 524 | BitField<16, 1, u32> volume; | 524 | BitField<16, 1, u32> volume; |
| 525 | }; | 525 | }; |
| 526 | u32 layer_stride; | 526 | u32 layer_stride; |
| @@ -778,8 +778,12 @@ public: | |||
| 778 | 778 | ||
| 779 | u32 zeta_width; | 779 | u32 zeta_width; |
| 780 | u32 zeta_height; | 780 | u32 zeta_height; |
| 781 | union { | ||
| 782 | BitField<0, 16, u32> zeta_layers; | ||
| 783 | BitField<16, 1, u32> zeta_volume; | ||
| 784 | }; | ||
| 781 | 785 | ||
| 782 | INSERT_UNION_PADDING_WORDS(0x27); | 786 | INSERT_UNION_PADDING_WORDS(0x26); |
| 783 | 787 | ||
| 784 | u32 depth_test_enable; | 788 | u32 depth_test_enable; |
| 785 | 789 | ||
| @@ -1475,6 +1479,7 @@ ASSERT_REG_POSITION(vertex_attrib_format, 0x458); | |||
| 1475 | ASSERT_REG_POSITION(rt_control, 0x487); | 1479 | ASSERT_REG_POSITION(rt_control, 0x487); |
| 1476 | ASSERT_REG_POSITION(zeta_width, 0x48a); | 1480 | ASSERT_REG_POSITION(zeta_width, 0x48a); |
| 1477 | ASSERT_REG_POSITION(zeta_height, 0x48b); | 1481 | ASSERT_REG_POSITION(zeta_height, 0x48b); |
| 1482 | ASSERT_REG_POSITION(zeta_layers, 0x48c); | ||
| 1478 | ASSERT_REG_POSITION(depth_test_enable, 0x4B3); | 1483 | ASSERT_REG_POSITION(depth_test_enable, 0x4B3); |
| 1479 | ASSERT_REG_POSITION(independent_blend_enable, 0x4B9); | 1484 | ASSERT_REG_POSITION(independent_blend_enable, 0x4B9); |
| 1480 | ASSERT_REG_POSITION(depth_write_enabled, 0x4BA); | 1485 | ASSERT_REG_POSITION(depth_write_enabled, 0x4BA); |