Merge pull request #982 from bunnei/stub-unk-63

gl_shader_decompiler: Stub input attribute Unknown_63.
This commit is contained in:
bunnei 2018-08-08 22:28:18 -04:00 committed by GitHub
commit 25ba4d1b68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View file

@ -78,6 +78,8 @@ union Attribute {
// shader, and a tuple of (TessCoord.x, TessCoord.y, TessCoord.z, ~) when inside a Tess Eval // shader, and a tuple of (TessCoord.x, TessCoord.y, TessCoord.z, ~) when inside a Tess Eval
// shader. // shader.
TessCoordInstanceIDVertexID = 47, TessCoordInstanceIDVertexID = 47,
// TODO(bunnei): Figure out what this is used for. Super Mario Odyssey uses this.
Unknown_63 = 63,
}; };
union { union {

View file

@ -523,6 +523,11 @@ private:
// shader. // shader.
ASSERT(stage == Maxwell3D::Regs::ShaderStage::Vertex); ASSERT(stage == Maxwell3D::Regs::ShaderStage::Vertex);
return "vec4(0, 0, uintBitsToFloat(gl_InstanceID), uintBitsToFloat(gl_VertexID))"; return "vec4(0, 0, uintBitsToFloat(gl_InstanceID), uintBitsToFloat(gl_VertexID))";
case Attribute::Index::Unknown_63:
// TODO(bunnei): Figure out what this is used for. Super Mario Odyssey uses this.
LOG_CRITICAL(HW_GPU, "Unhandled input attribute Unknown_63");
UNREACHABLE();
break;
default: default:
const u32 index{static_cast<u32>(attribute) - const u32 index{static_cast<u32>(attribute) -
static_cast<u32>(Attribute::Index::Attribute_0)}; static_cast<u32>(Attribute::Index::Attribute_0)};
@ -534,6 +539,8 @@ private:
LOG_CRITICAL(HW_GPU, "Unhandled input attribute: {}", index); LOG_CRITICAL(HW_GPU, "Unhandled input attribute: {}", index);
UNREACHABLE(); UNREACHABLE();
} }
return "vec4(0, 0, 0, 0)";
} }
/// Generates code representing an output attribute register. /// Generates code representing an output attribute register.