r600: Disable SB when INTERP_SAMPLE is used.

Avoids an assertion failure in the SB scheduler.

Cc: mesa-stable
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14429>
This commit is contained in:
Emma Anholt
2022-01-06 09:58:46 -08:00
parent f315ea9eff
commit 991a95a352
3 changed files with 5 additions and 11 deletions
@@ -552,17 +552,6 @@ dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.a
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id.singlesample_rbo,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id.singlesample_texture,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified.multisample_rbo_8,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified.multisample_texture_8,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number.multisample_rbo_4,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number.multisample_rbo_8,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number.multisample_texture_4,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number.multisample_texture_8,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number.multisample_rbo_4,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number.multisample_rbo_8,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number.multisample_texture_4,Crash
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number.multisample_texture_8,Crash
dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.geometry.isampler2d,Crash
dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.geometry.isampler2darray,Crash
dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.geometry.isampler3d,Crash
+4
View File
@@ -264,6 +264,9 @@ int r600_pipe_shader_create(struct pipe_context *ctx,
*/
use_sb &= !(shader->shader.indirect_files & (1 << TGSI_FILE_TEMPORARY));
/* sb has scheduling assertion fails with interpolate_at. */
use_sb &= !shader->shader.uses_interpolate_at_sample;
/* Check if the bytecode has already been built. */
if (!shader->shader.bc.bytecode) {
r = r600_bytecode_build(&shader->shader.bc);
@@ -3467,6 +3470,7 @@ static int r600_shader_from_tgsi(struct r600_context *rctx,
shader->uses_doubles = ctx.info.uses_doubles;
shader->uses_atomics = ctx.info.file_mask[TGSI_FILE_HW_ATOMIC];
shader->num_loops = ctx.info.opcode_count[TGSI_OPCODE_BGNLOOP];
shader->uses_interpolate_at_sample = ctx.info.opcode_count[TGSI_OPCODE_INTERP_SAMPLE] != 0;
shader->nsys_inputs = 0;
+1
View File
@@ -122,6 +122,7 @@ struct r600_shader {
boolean uses_atomics;
boolean uses_images;
boolean uses_helper_invocation;
boolean uses_interpolate_at_sample;
uint8_t atomic_base;
uint8_t rat_base;
uint8_t image_size_const_offset;