proper placement of clip distance init

Signed-off-by: swurl <[email protected]>
This commit is contained in:
swurl committed 2025-04-24 11:00:28 -04:00
1 parent c64f1994c7
commit 918d6d3514
3 files changed
+15 -9

No files matched your search

+4
View File
@@ -285,6 +285,10 @@ if (ARCHITECTURE_arm64 AND (ANDROID OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
add_definitions(-DHAS_NCE=1)
endif()
if (YUZU_LOG_BY_LINE)
add_definitions(-DYUZU_LOG_BY_LINE=1)
endif()
# Configure C++ standard
# ===========================
@@ -54,14 +54,6 @@ std::optional<OutAttr> OutputAttrPointer(EmitContext& ctx, IR::Attribute attr) {
}
}
for (u32 i = 0; i < ctx.profile.max_user_clip_distances; ++i) {
if (!clip_distance_written.test(i)) {
const Id idx = ctx.Const(i);
const Id element = OutputAccessChain(ctx, ctx.output_f32, ctx.clip_distances, idx);
ctx.OpStore(element, ctx.Const(0.0f));
}
}
switch (attr) {
case IR::Attribute::PointSize:
return ctx.output_point_size;
@@ -108,7 +108,17 @@ void EmitPrologue(EmitContext& ctx) {
ctx.OpStore(element_info.id, value);
element += num;
}
}
}
if (Sirit::ValidId(ctx.clip_distances)) {
for (u32 i = 0; i < ctx.profile.max_user_clip_distances; ++i) {
if (!clip_distance_written.test(i)) {
const Id idx = ctx.Const(i);
const Id element = ctx.OpAccessChain(ctx.output_f32, ctx.clip_distances, idx);
ctx.OpStore(element, ctx.Const(0.0f));
}
}
}
}
if (ctx.stage == Stage::VertexB || ctx.stage == Stage::Geometry) {
SetFixedPipelinePointSize(ctx);