shader: ignore inactive auxiliary position exports

This commit is contained in:
nmzik
2026-09-04 06:48:41 +02:00
parent 070730be0a
commit bd401a1407
3 changed files with 12 additions and 9 deletions
@@ -184,7 +184,6 @@ enum class StageOutputKind {
struct PositionExportComponent {
uint32_t clip_distance = UINT32_MAX;
uint32_t cull_distance = UINT32_MAX;
bool valid = false;
bool point_size = false;
bool layer = false;
bool viewport = false;
@@ -213,7 +212,6 @@ inline PositionExportComponent DecodePositionExportComponent(uint32_t control,
return result;
}
result.valid = true;
if (vector == 0) {
result.point_size = component == 0 && (control & (1u << 16u)) != 0;
result.layer = component == 2 && (control & (1u << 18u)) != 0;
@@ -311,10 +311,6 @@ void CollectOutputs(const Program& program, const ShaderVertexInputInfo* vertex,
}
const auto output = DecodePositionExportComponent(
vertex->pa_cl_vs_out_cntl, export_info.index, component);
if (!output.valid) {
return Fail(fmt::format("unsupported POS{} auxiliary/stereo export",
export_info.index));
}
if (output.viewport) {
return Fail("vertex viewport-index export is unsupported");
}