summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 26c891356..fd4e0746e 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -261,6 +261,19 @@ union Instruction {
261 BitField<50, 1, u64> saturate_a; 261 BitField<50, 1, u64> saturate_a;
262 } conversion; 262 } conversion;
263 263
264 union {
265 BitField<31, 4, u64> component_mask;
266
267 bool IsComponentEnabled(size_t component) const {
268 return ((1 << component) & component_mask) != 0;
269 }
270 } tex;
271
272 union {
273 // TODO(bunnei): This is just a guess, needs to be verified
274 BitField<52, 1, u64> enable_g_component;
275 } texs;
276
264 BitField<61, 1, u64> is_b_imm; 277 BitField<61, 1, u64> is_b_imm;
265 BitField<60, 1, u64> is_b_gpr; 278 BitField<60, 1, u64> is_b_gpr;
266 BitField<59, 1, u64> is_c_gpr; 279 BitField<59, 1, u64> is_c_gpr;
@@ -281,6 +294,7 @@ public:
281 KIL, 294 KIL,
282 LD_A, 295 LD_A,
283 ST_A, 296 ST_A,
297 TEX,
284 TEXQ, // Texture Query 298 TEXQ, // Texture Query
285 TEXS, // Texture Fetch with scalar/non-vec4 source/destinations 299 TEXS, // Texture Fetch with scalar/non-vec4 source/destinations
286 TLDS, // Texture Load with scalar/non-vec4 source/destinations 300 TLDS, // Texture Load with scalar/non-vec4 source/destinations
@@ -444,6 +458,7 @@ private:
444 INST("111000110011----", Id::KIL, Type::Flow, "KIL"), 458 INST("111000110011----", Id::KIL, Type::Flow, "KIL"),
445 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), 459 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"),
446 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"), 460 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"),
461 INST("1100000000111---", Id::TEX, Type::Memory, "TEX"),
447 INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"), 462 INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"),
448 INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), 463 INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"),
449 INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), 464 INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"),