shader: reflect tessellation strides across forward branches, DS write widths, and packed patch masks

This commit is contained in:
Mr. Big Britches
2026-10-20 07:26:30 +02:00
committed by nmzik
parent f0e462a8a2
commit 4a2961cdf9
3 changed files with 38 additions and 10 deletions
@@ -166,6 +166,8 @@ void ApplyMemoryInfo(Instruction& inst, const MemoryOpcodeInfo* info) {
inst.formatted = info->formatted;
}
} // namespace
bool IsDsWriteOpcode(Opcode opcode) {
switch (opcode) {
case Opcode::DS_WRITE_B8:
@@ -184,6 +186,8 @@ bool IsDsWriteOpcode(Opcode opcode) {
}
}
namespace {
bool IsDsAtomicOpcode(Opcode opcode) {
switch (opcode) {
case Opcode::DS_ADD_U32:
@@ -882,6 +882,7 @@ Program DecodeFrontProgram(std::span<const uint32_t> front);
void DecodeProgram(std::span<const uint32_t> code, Program& program);
bool IsConditionalBranch(Opcode opcode);
bool IsDirectBranch(Opcode opcode);
bool IsDsWriteOpcode(Opcode opcode);
void DecodeScalarSource(uint32_t code, uint32_t pc, Operand& operand);
void DecodeScalarDestination(uint32_t code, uint32_t pc, Operand& operand);