mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 23:30:13 +01:00
radv: rework the checks for implicit exports with GPL
No logical changes but this allows us to distinguish between noop FS and unknown FS with GPL. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848>
This commit is contained in:
parent
333c8773a4
commit
d91cb1bbfa
2 changed files with 4 additions and 2 deletions
|
|
@ -1299,7 +1299,8 @@ radv_should_export_multiview(const struct radv_pipeline_stage *producer,
|
|||
* (with graphics pipeline library), the layer is exported unconditionally.
|
||||
*/
|
||||
return pipeline_key->has_multiview_view_index &&
|
||||
(!consumer || consumer->stage == MESA_SHADER_FRAGMENT) &&
|
||||
((consumer && consumer->stage == MESA_SHADER_FRAGMENT) ||
|
||||
!(pipeline_key->lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT)) &&
|
||||
!(producer->nir->info.outputs_written & VARYING_BIT_LAYER);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1438,7 +1438,8 @@ radv_link_shaders_info(struct radv_device *device,
|
|||
/* Export primitive ID and clip/cull distances if read by the FS, or export unconditionally when
|
||||
* the next stage is unknown (with graphics pipeline library).
|
||||
*/
|
||||
if (!consumer || consumer->stage == MESA_SHADER_FRAGMENT) {
|
||||
if ((consumer && consumer->stage == MESA_SHADER_FRAGMENT) ||
|
||||
!(pipeline_key->lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT)) {
|
||||
struct radv_vs_output_info *outinfo = &producer->info.outinfo;
|
||||
const bool ps_prim_id_in = !consumer || consumer->info.ps.prim_id_input;
|
||||
const bool ps_clip_dists_in = !consumer || !!consumer->info.ps.num_input_clips_culls;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue