aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/pica.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/pica.h')
-rw-r--r--src/video_core/pica.h33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index f5771ed84..78603ebdf 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -161,8 +161,8 @@ struct Regs {
IA4 = 9,
A4 = 11,
- // TODO: Support for the other formats is not implemented, yet.
- // Seems like they are luminance formats and compressed textures.
+ ETC1 = 12, // compressed
+ ETC1A4 = 13, // compressed
};
static unsigned NibblesPerPixel(TextureFormat format) {
@@ -310,10 +310,15 @@ struct Regs {
};
struct {
- enum DepthFunc : u32 {
- Always = 1,
- LessThan = 4,
- GreaterThan = 6,
+ enum CompareFunc : u32 {
+ Never = 0,
+ Always = 1,
+ Equal = 2,
+ NotEqual = 3,
+ LessThan = 4,
+ LessThanOrEqual = 5,
+ GreaterThan = 6,
+ GreaterThanOrEqual = 7,
};
union {
@@ -352,11 +357,23 @@ struct Regs {
BitField<0, 4, Op> op;
} logic_op;
- INSERT_PADDING_WORDS(0x4);
+ INSERT_PADDING_WORDS(0x1);
+
+ union {
+ BitField< 0, 1, u32> enable;
+ BitField< 4, 3, CompareFunc> func;
+ BitField< 8, 8, u32> ref;
+ } alpha_test;
+
+ INSERT_PADDING_WORDS(0x2);
union {
BitField< 0, 1, u32> depth_test_enable;
- BitField< 4, 3, DepthFunc> depth_test_func;
+ BitField< 4, 3, CompareFunc> depth_test_func;
+ BitField< 8, 1, u32> red_enable;
+ BitField< 9, 1, u32> green_enable;
+ BitField<10, 1, u32> blue_enable;
+ BitField<11, 1, u32> alpha_enable;
BitField<12, 1, u32> depth_write_enable;
};