dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16,Fail
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_stencil_index8,Fail
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.constant_color_dst_alpha,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.constant_color_dst_color,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.constant_color_one_minus_dst_alpha,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.constant_color_one_minus_dst_color,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_minus_constant_color_dst_alpha,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_minus_constant_color_dst_color,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_minus_constant_color_one_minus_dst_alpha,Fail
-dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.src.one_minus_constant_color_one_minus_dst_color,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.14,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.31,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.32,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61,Fail
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.67,Fail
-dEQP-GLES2.functional.fragment_ops.random.11,Fail
-dEQP-GLES2.functional.fragment_ops.random.24,Fail
-dEQP-GLES2.functional.fragment_ops.random.41,Fail
-dEQP-GLES2.functional.fragment_ops.random.45,Fail
-dEQP-GLES2.functional.fragment_ops.random.48,Fail
-dEQP-GLES2.functional.fragment_ops.random.5,Fail
-dEQP-GLES2.functional.fragment_ops.random.51,Fail
-dEQP-GLES2.functional.fragment_ops.random.67,Fail
-dEQP-GLES2.functional.fragment_ops.random.98,Fail
dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose,Fail
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed,Fail
dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_xyz,Fail
return comp < bi_get_component_count(ins, -1);
}
+/* Determine effective writemask for RA/DCE, noting that we currently act
+ * per-register hence aligning. TODO: when real write masks are handled in
+ * packing (not for a while), update this routine, removing the align */
+
unsigned
bi_writemask(bi_instruction *ins)
{
unsigned size = nir_alu_type_get_type_size(T);
unsigned bytes_per_comp = size / 8;
unsigned components = bi_get_component_count(ins, -1);
- unsigned bytes = bytes_per_comp * components;
+ unsigned bytes = ALIGN_POT(bytes_per_comp * components, 4);
unsigned mask = (1 << bytes) - 1;
unsigned shift = ins->dest_offset * 4; /* 32-bit words */
return (mask << shift);