summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-04-27 20:50:35 -0300
committerGravatar ReinUsesLisp2019-06-20 21:36:12 -0300
commit4e81fc8296c6204645151bbaa23a7d80827a4293 (patch)
treee826cbe2f9fd118a82d251854872eb7d300a6078 /src/video_core/engines
parenttexture_cache: loose TryReconstructSurface when accurate GPU is not on. (diff)
downloadyuzu-4e81fc8296c6204645151bbaa23a7d80827a4293.tar.gz
yuzu-4e81fc8296c6204645151bbaa23a7d80827a4293.tar.xz
yuzu-4e81fc8296c6204645151bbaa23a7d80827a4293.zip
shader: Implement texture buffers
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index ffb3ec3e0..5b32e1249 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -1232,6 +1232,20 @@ union Instruction {
1232 } texs; 1232 } texs;
1233 1233
1234 union { 1234 union {
1235 BitField<28, 1, u64> is_array;
1236 BitField<29, 2, TextureType> texture_type;
1237 BitField<35, 1, u64> aoffi;
1238 BitField<49, 1, u64> nodep_flag;
1239 BitField<50, 1, u64> ms; // Multisample?
1240 BitField<54, 1, u64> cl;
1241 BitField<55, 1, u64> process_mode;
1242
1243 TextureProcessMode GetTextureProcessMode() const {
1244 return process_mode == 0 ? TextureProcessMode::LZ : TextureProcessMode::LL;
1245 }
1246 } tld;
1247
1248 union {
1235 BitField<49, 1, u64> nodep_flag; 1249 BitField<49, 1, u64> nodep_flag;
1236 BitField<53, 4, u64> texture_info; 1250 BitField<53, 4, u64> texture_info;
1237 1251
@@ -1408,6 +1422,7 @@ public:
1408 TXQ, // Texture Query 1422 TXQ, // Texture Query
1409 TXQ_B, // Texture Query Bindless 1423 TXQ_B, // Texture Query Bindless
1410 TEXS, // Texture Fetch with scalar/non-vec4 source/destinations 1424 TEXS, // Texture Fetch with scalar/non-vec4 source/destinations
1425 TLD, // Texture Load
1411 TLDS, // Texture Load with scalar/non-vec4 source/destinations 1426 TLDS, // Texture Load with scalar/non-vec4 source/destinations
1412 TLD4, // Texture Load 4 1427 TLD4, // Texture Load 4
1413 TLD4S, // Texture Load 4 with scalar / non - vec4 source / destinations 1428 TLD4S, // Texture Load 4 with scalar / non - vec4 source / destinations
@@ -1682,6 +1697,7 @@ private:
1682 INST("1101111101001---", Id::TXQ, Type::Texture, "TXQ"), 1697 INST("1101111101001---", Id::TXQ, Type::Texture, "TXQ"),
1683 INST("1101111101010---", Id::TXQ_B, Type::Texture, "TXQ_B"), 1698 INST("1101111101010---", Id::TXQ_B, Type::Texture, "TXQ_B"),
1684 INST("1101-00---------", Id::TEXS, Type::Texture, "TEXS"), 1699 INST("1101-00---------", Id::TEXS, Type::Texture, "TEXS"),
1700 INST("11011100--11----", Id::TLD, Type::Texture, "TLD"),
1685 INST("1101101---------", Id::TLDS, Type::Texture, "TLDS"), 1701 INST("1101101---------", Id::TLDS, Type::Texture, "TLDS"),
1686 INST("110010----111---", Id::TLD4, Type::Texture, "TLD4"), 1702 INST("110010----111---", Id::TLD4, Type::Texture, "TLD4"),
1687 INST("1101111100------", Id::TLD4S, Type::Texture, "TLD4S"), 1703 INST("1101111100------", Id::TLD4S, Type::Texture, "TLD4S"),