Add memory Layout to Render Targets and Depth Buffers

This commit is contained in:
FernandoS27 2018-10-09 22:28:19 -04:00
parent af653906d0
commit 5f4ee6f0c8
3 changed files with 33 additions and 21 deletions

View file

@ -347,6 +347,16 @@ public:
DecrWrap = 8,
};
enum class MemoryLayout : u32 {
Linear = 0,
BlockLinear = 1,
};
enum class InvMemoryLayout : u32 {
BlockLinear = 0,
Linear = 1,
};
struct Cull {
enum class FrontFace : u32 {
ClockWise = 0x0900,
@ -436,7 +446,8 @@ public:
BitField<0, 3, u32> block_width;
BitField<4, 3, u32> block_height;
BitField<8, 3, u32> block_depth;
} block_dimensions;
BitField<12, 1, InvMemoryLayout> type;
} memory_layout;
u32 array_mode;
u32 layer_stride;
u32 base_layer;
@ -556,7 +567,8 @@ public:
BitField<0, 4, u32> block_width;
BitField<4, 4, u32> block_height;
BitField<8, 4, u32> block_depth;
} block_dimensions;
BitField<20, 1, InvMemoryLayout> type;
} memory_layout;
u32 layer_stride;
GPUVAddr Address() const {