summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar FernandoS272018-10-09 22:28:19 -0400
committerGravatar FernandoS272018-10-09 22:28:19 -0400
commit5f4ee6f0c8c7b2532bc5be841fcee4670495d7f7 (patch)
treec0ed6314f69fa573549604cf52087f31b58c3405 /src/video_core/engines
parentFixed block height settings for RenderTargets and Depth Buffers, and added bl... (diff)
downloadyuzu-5f4ee6f0c8c7b2532bc5be841fcee4670495d7f7.tar.gz
yuzu-5f4ee6f0c8c7b2532bc5be841fcee4670495d7f7.tar.xz
yuzu-5f4ee6f0c8c7b2532bc5be841fcee4670495d7f7.zip
Add memory Layout to Render Targets and Depth Buffers
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 896498b89..68831a1ac 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -347,6 +347,16 @@ public:
347 DecrWrap = 8, 347 DecrWrap = 8,
348 }; 348 };
349 349
350 enum class MemoryLayout : u32 {
351 Linear = 0,
352 BlockLinear = 1,
353 };
354
355 enum class InvMemoryLayout : u32 {
356 BlockLinear = 0,
357 Linear = 1,
358 };
359
350 struct Cull { 360 struct Cull {
351 enum class FrontFace : u32 { 361 enum class FrontFace : u32 {
352 ClockWise = 0x0900, 362 ClockWise = 0x0900,
@@ -436,7 +446,8 @@ public:
436 BitField<0, 3, u32> block_width; 446 BitField<0, 3, u32> block_width;
437 BitField<4, 3, u32> block_height; 447 BitField<4, 3, u32> block_height;
438 BitField<8, 3, u32> block_depth; 448 BitField<8, 3, u32> block_depth;
439 } block_dimensions; 449 BitField<12, 1, InvMemoryLayout> type;
450 } memory_layout;
440 u32 array_mode; 451 u32 array_mode;
441 u32 layer_stride; 452 u32 layer_stride;
442 u32 base_layer; 453 u32 base_layer;
@@ -556,7 +567,8 @@ public:
556 BitField<0, 4, u32> block_width; 567 BitField<0, 4, u32> block_width;
557 BitField<4, 4, u32> block_height; 568 BitField<4, 4, u32> block_height;
558 BitField<8, 4, u32> block_depth; 569 BitField<8, 4, u32> block_depth;
559 } block_dimensions; 570 BitField<20, 1, InvMemoryLayout> type;
571 } memory_layout;
560 u32 layer_stride; 572 u32 layer_stride;
561 573
562 GPUVAddr Address() const { 574 GPUVAddr Address() const {