radv: determine the last VGT api stage also for GPL
When compiling the pre-rasterization stages, we need to know this. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18776>
This commit is contained in:
@@ -3962,10 +3962,17 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
|
|||||||
|
|
||||||
radv_pipeline_load_retained_shaders(pipeline, stages);
|
radv_pipeline_load_retained_shaders(pipeline, stages);
|
||||||
|
|
||||||
if (pipeline->type == RADV_PIPELINE_GRAPHICS) {
|
if (pipeline->type == RADV_PIPELINE_GRAPHICS ||
|
||||||
struct radv_graphics_pipeline *graphics_pipeline = radv_pipeline_to_graphics(pipeline);
|
pipeline->type == RADV_PIPELINE_GRAPHICS_LIB) {
|
||||||
|
VkShaderStageFlags active_stages;
|
||||||
|
|
||||||
radv_foreach_stage(s, graphics_pipeline->active_stages) {
|
if (pipeline->type == RADV_PIPELINE_GRAPHICS) {
|
||||||
|
active_stages = radv_pipeline_to_graphics(pipeline)->active_stages;
|
||||||
|
} else {
|
||||||
|
active_stages = radv_pipeline_to_graphics_lib(pipeline)->base.active_stages;
|
||||||
|
}
|
||||||
|
|
||||||
|
radv_foreach_stage(s, active_stages) {
|
||||||
if (s < MESA_SHADER_FRAGMENT || s == MESA_SHADER_MESH)
|
if (s < MESA_SHADER_FRAGMENT || s == MESA_SHADER_MESH)
|
||||||
*last_vgt_api_stage = s;
|
*last_vgt_api_stage = s;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user