summaryrefslogtreecommitdiffstats
path: root/src/video_core/regs_texturing.h
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2017-05-15 17:14:03 +0200
committerwwylele <wwylele@gmail.com>2017-05-16 18:24:06 +0200
commit86ee1f61012efc365eedc43fb856890be14c88cc (patch)
treee785f8dcaf5b7e84bff1384602fa7dd087a771cd /src/video_core/regs_texturing.h
parentMerge pull request #2669 from jroweboy/async_file_watcher (diff)
downloadyuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar.gz
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar.bz2
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar.lz
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar.xz
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.tar.zst
yuzu-86ee1f61012efc365eedc43fb856890be14c88cc.zip
Diffstat (limited to 'src/video_core/regs_texturing.h')
-rw-r--r--src/video_core/regs_texturing.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/video_core/regs_texturing.h b/src/video_core/regs_texturing.h
index 8a7c6efe4..3318812da 100644
--- a/src/video_core/regs_texturing.h
+++ b/src/video_core/regs_texturing.h
@@ -29,6 +29,11 @@ struct TexturingRegs {
ClampToBorder = 1,
Repeat = 2,
MirroredRepeat = 3,
+ // Mode 4-7 produces some weird result and may be just invalid:
+ // 4: Positive coord: clamp to edge; negative coord: repeat
+ // 5: Positive coord: clamp to border; negative coord: repeat
+ // 6: Repeat
+ // 7: Repeat
};
enum TextureFilter : u32 {
@@ -45,22 +50,22 @@ struct TexturingRegs {
} border_color;
union {
- BitField<0, 16, u32> height;
- BitField<16, 16, u32> width;
+ BitField<0, 11, u32> height;
+ BitField<16, 11, u32> width;
};
union {
BitField<1, 1, TextureFilter> mag_filter;
BitField<2, 1, TextureFilter> min_filter;
- BitField<8, 2, WrapMode> wrap_t;
- BitField<12, 2, WrapMode> wrap_s;
- BitField<28, 2, TextureType>
- type; ///< @note Only valid for texture 0 according to 3DBrew.
+ BitField<8, 3, WrapMode> wrap_t;
+ BitField<12, 3, WrapMode> wrap_s;
+ /// @note Only valid for texture 0 according to 3DBrew.
+ BitField<28, 3, TextureType> type;
};
INSERT_PADDING_WORDS(0x1);
- u32 address;
+ BitField<0, 28, u32> address;
PAddr GetPhysicalAddress() const {
return address * 8;