From af76112ed98dea517750ccf0717053215c226a02 Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Mon, 30 Mar 2026 12:43:08 +0200 Subject: [PATCH] r600: update vertex emit_varying_pos This change adds a minimal support for gl_PointSize to be used alongside gl_ClipDistance/gl_CullDistance. This change was tested on palm and cayman. Here is the test fixed: khr-gl4[5-6]/gl_spirv/spirv_validation_builtin_variable_decorations_test: fail pass Cc: mesa-stable Signed-off-by: Patrick Lerda (cherry picked from commit 032a2bdc1ee963f68ef642a16b30b0eb50fe1573) Part-of: --- .pick_status.json | 2 +- src/gallium/drivers/r600/sfn/sfn_shader_vs.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index cc5120ce69e..12663d1569f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4294,7 +4294,7 @@ "description": "r600: update vertex emit_varying_pos", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_vs.cpp b/src/gallium/drivers/r600/sfn/sfn_shader_vs.cpp index 0eb32b79a99..752db509c88 100644 --- a/src/gallium/drivers/r600/sfn/sfn_shader_vs.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_shader_vs.cpp @@ -231,7 +231,7 @@ VertexExportForFs::emit_varying_pos(const store_loc& store_info, << (4 * (store_info.location - VARYING_SLOT_CLIP_DIST0)); m_clip_dist_write |= write_mask << (4 * (store_info.location - VARYING_SLOT_CLIP_DIST0)); - export_slot = m_cur_clip_pos++; + export_slot = m_cur_clip_pos++ + (m_out_point_size ? 1 : 0); break; default: sfn_log << SfnLog::err << __func__ << "Unsupported location " << store_info.location