lvp: explictly skip compute shader stage.
To add mesh/task later we have to loop over more stages the other side of compute. So explicitly skip compute for now. This has a couple of subtle bits to it, and I think there might be a bug in pre rast Reviewed-by: Brian Paul <brianp@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065>
This commit is contained in:
@@ -835,7 +835,9 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline,
|
||||
pipeline->disable_multisample = p->disable_multisample;
|
||||
pipeline->line_rectangular = p->line_rectangular;
|
||||
memcpy(pipeline->shaders, p->shaders, sizeof(struct lvp_shader) * 4);
|
||||
for (unsigned i = 0; i < MESA_SHADER_COMPUTE; i++) {
|
||||
for (unsigned i = 0; i < LVP_SHADER_STAGES; i++) {
|
||||
if (i == MESA_SHADER_COMPUTE)
|
||||
continue;
|
||||
copy_shader_sanitized(&pipeline->shaders[i], &p->shaders[i]);
|
||||
}
|
||||
}
|
||||
@@ -908,7 +910,9 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline,
|
||||
lvp_pipeline_nir_ref(&pipeline->shaders[MESA_SHADER_FRAGMENT].pipeline_nir, p->shaders[MESA_SHADER_FRAGMENT].pipeline_nir);
|
||||
}
|
||||
if (p->stages & VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT) {
|
||||
for (unsigned j = MESA_SHADER_VERTEX; j < MESA_SHADER_FRAGMENT; j++) {
|
||||
for (unsigned j = MESA_SHADER_VERTEX; j < LVP_SHADER_STAGES; j++) {
|
||||
if (j == MESA_SHADER_COMPUTE || j == MESA_SHADER_FRAGMENT)
|
||||
continue;
|
||||
if (p->shaders[j].pipeline_nir)
|
||||
lvp_pipeline_nir_ref(&pipeline->shaders[j].pipeline_nir, p->shaders[j].pipeline_nir);
|
||||
}
|
||||
|
Reference in New Issue
Block a user