diff --git a/src/gallium/drivers/r600/ci/r600-rv770-fails.txt b/src/gallium/drivers/r600/ci/r600-rv770-fails.txt index 205cafc4300..f1252b105e3 100644 --- a/src/gallium/drivers/r600/ci/r600-rv770-fails.txt +++ b/src/gallium/drivers/r600/ci/r600-rv770-fails.txt @@ -1,16 +1,6 @@ KHR-GL33.clip_distance.functional,Fail KHR-GL33.cull_distance.functional,Fail KHR-GL33.nearest_edge.offset_right,Fail -KHR-GL33.shaders.indexing.tmp_array.vertexid,Fail - -KHR-GL33.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read,Fail -KHR-GL33.shaders.indexing.varying_array.vec3_static_write_dynamic_read,Fail KHR-GL33.texture_repeat_mode.rgba32ui_11x131_0_clamp_to_edge,Fail KHR-GL33.texture_repeat_mode.rgba32ui_11x131_0_mirrored_repeat,Fail @@ -37,17 +27,6 @@ KHR-GL33.texture_swizzle.functional,Fail KHR-GLES3.core.nearest_edge.offset_right,Fail -KHR-GLES3.shaders.indexing.tmp_array.vertexid,Fail - -KHR-GLES3.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read,Fail -KHR-GLES3.shaders.indexing.varying_array.vec3_static_write_dynamic_read,Fail - KHR-GLES3.texture_repeat_mode.rgba32ui_11x131_0_clamp_to_edge,Fail KHR-GLES3.texture_repeat_mode.rgba32ui_11x131_0_mirrored_repeat,Fail KHR-GLES3.texture_repeat_mode.rgba32ui_11x131_0_repeat,Fail @@ -73,14 +52,6 @@ dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_read,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_component_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_vertex,Fail @@ -148,23 +119,12 @@ dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp,Fail dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp,Fail dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read,Fail -dEQP-GLES3.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_read,Fail dEQP-GLES3.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_component_read_fragment,Fail dEQP-GLES3.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail dEQP-GLES3.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_vertex,Fail dEQP-GLES3.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES3.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_1,Crash -dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_2,Crash - dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_bias_fragment,Fail dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_fragment,Fail dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_vertex,Fail @@ -1001,11 +961,9 @@ spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SR spec@ext_transform_feedback@immediate-reuse-index-buffer,Fail -spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-src,Fail -spec@glsl-1.10@execution@variable-indexing@vs-varying-array-mat2-col-row-wr,Fail -spec@glsl-1.10@execution@variable-indexing@vs-varying-array-mat2-col-wr,Fail -spec@glsl-1.10@execution@variable-indexing@vs-varying-mat2-col-row-wr,Fail -spec@glsl-1.10@execution@variable-indexing@vs-varying-mat2-col-wr,Fail +spec@glsl-1.10@execution@function-calls@glsl-function-chain16-in-array-indirect,Fail +spec@glsl-1.10@execution@function-calls@glsl-function-chain16-in-array-indirect2,Fail + spec@glsl-1.10@execution@varying-packing@simple float arrays_of_arrays,Fail spec@glsl-1.10@execution@varying-packing@simple int arrays_of_arrays,Fail spec@glsl-1.10@execution@varying-packing@simple uint arrays_of_arrays,Fail @@ -1017,9 +975,6 @@ spec@glsl-1.20@execution@fs-nan-builtin-min,Fail spec@glsl-1.20@execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-6,Crash -spec@glsl-1.20@execution@variable-indexing@vs-varying-mat2-col-row-wr,Fail -spec@glsl-1.20@execution@variable-indexing@vs-varying-mat2-col-wr,Fail - spec@glsl-1.20@execution@vs-nan-builtin-max,Fail spec@glsl-1.20@execution@vs-nan-builtin-min,Fail @@ -1049,7 +1004,7 @@ spec@glsl-1.50@execution@texelfetchoffset@gs-texelfetch-usampler2d,Fail spec@glsl-1.50@execution@texelfetchoffset@gs-texelfetch-usampler2darray,Fail spec@glsl-1.50@execution@texelfetchoffset@gs-texelfetch-usampler3d,Fail spec@glsl-1.50@execution@texelfetchoffset@gs-usampler2drect,Fail -spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec2-index-rd,Fail + spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec3-index-rd,Fail spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec4-index-rd,Crash diff --git a/src/gallium/drivers/r600/ci/r600-turks-fails.txt b/src/gallium/drivers/r600/ci/r600-turks-fails.txt index c7d6bc682cf..f0b0079cf3b 100644 --- a/src/gallium/drivers/r600/ci/r600-turks-fails.txt +++ b/src/gallium/drivers/r600/ci/r600-turks-fails.txt @@ -181,9 +181,6 @@ dEQP-GLES3.functional.draw.random.117,Fail # "Attribute 0: position Storage in user_ptr stride 0 input datatype int2_10_10_10 input component count 4 normalized used as vec4 instance divisor 0 drawArraysInstanced() first 7 instance count 1 5 triangles " dEQP-GLES3.functional.draw.random.124,Fail -dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_1,Crash -dEQP-GLES3.functional.shaders.metamorphic.bubblesort_flag.variant_2,Crash - dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_bias_fragment,Fail dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isamplercube_vertex,Fail dEQP-GLES3.functional.shaders.texture_functions.texturegrad.samplercube_fixed_fragment,Fail @@ -1541,6 +1538,9 @@ spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SR spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT- swizzled- border color only,Fail spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_S3TC_DXT1_EXT- swizzled- border color only,Fail +spec@glsl-1.10@execution@function-calls@glsl-function-chain16-in-array-indirect,Fail +spec@glsl-1.10@execution@function-calls@glsl-function-chain16-in-array-indirect2,Fail + spec@glsl-1.10@execution@varying-packing@simple float arrays_of_arrays,Fail spec@glsl-1.10@execution@varying-packing@simple float separate,Fail spec@glsl-1.10@execution@varying-packing@simple int arrays_of_arrays,Fail @@ -1569,7 +1569,6 @@ spec@glsl-1.30@execution@tex-miplevel-selection textureoffset(bias) 1darrayshado spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail -spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec2-index-rd,Fail spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec3-index-rd,Fail # "void glsl_to_tgsi_visitor::visit_expression(ir_expression*, st_src_reg*): Assertion `ir->operands[2]->type->vector_elements == 1' failed." diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index e1d9bc1ec92..cac6ba0373b 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -258,6 +258,12 @@ int r600_pipe_shader_create(struct pipe_context *ctx, use_sb &= !shader->shader.uses_images; use_sb &= !shader->shader.uses_helper_invocation; + /* sb has bugs in array reg allocation + * (dEQP-GLES2.functional.shaders.struct.local.struct_array_dynamic_index_fragment + * with NTT) + */ + use_sb &= !(shader->shader.indirect_files & (1 << TGSI_FILE_TEMPORARY)); + /* Check if the bytecode has already been built. */ if (!shader->shader.bc.bytecode) { r = r600_bytecode_build(&shader->shader.bc);