lima: add cubemap support

Signed-off-by: Arno Messiaen <arnomessiaen@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
This commit is contained in:
Arno Messiaen
2019-09-17 23:40:03 +02:00
committed by Vasily Khoruzhick
parent 9890590fba
commit a9391a1a01
7 changed files with 45 additions and 252 deletions

View File

@@ -573,54 +573,6 @@ dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_s
dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_short2_vec2_unsigned_short2_vec2_short2_vec2 Fail
dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2 Fail
dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2 Fail
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_width_height_max_cube_neg_z BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_tex2d BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_pos_x BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_pos_y BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_pos_z BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_neg_x BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_neg_y BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_invalid_border_cube_neg_z BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copyteximage2d_incomplete_framebuffer BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_invalid_target BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_neg_level_tex2d BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_neg_level_cube BadTerminate
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_level_max_tex2d BadTerminate
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_level_max_cube_pos BadTerminate
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_neg_offset BadTerminate
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_offset_allowed BadTerminate
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_neg_wdt_hgt BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_incomplete_framebuffer BadTerminate
dEQP-GLES2.functional.negative_api.texture.deletetextures_invalid_number BadTerminate
dEQP-GLES2.functional.negative_api.texture.deletetextures_invalid_number_bind BadTerminate
dEQP-GLES2.functional.negative_api.texture.generatemipmap_invalid_target BadTerminate
dEQP-GLES2.functional.negative_api.texture.generatemipmap_npot_wdt_hgt BadTerminate
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed BadTerminate
dEQP-GLES2.functional.negative_api.texture.generatemipmap_incomplete_cube BadTerminate
dEQP-GLES2.functional.negative_api.texture.gentextures_invalid_size BadTerminate
dEQP-GLES2.functional.negative_api.texture.pixelstorei_invalid_pname BadTerminate
dEQP-GLES2.functional.negative_api.texture.pixelstorei_invalid_param BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_target BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_format BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_type BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_inequal_width_height_cube BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_neg_level_tex2d BadTerminate
dEQP-GLES2.functional.negative_api.texture.teximage2d_width_height_max_cube_neg_y BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.teximage2d_width_height_max_cube_neg_z BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_border BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.teximage2d_format_mismatch BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.teximage2d_type_format_mismatch BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_target BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_format BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_type BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_level_tex2d BadTerminatePass
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_level_cube BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_level_max_tex2d BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_level_max_cube BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_offset BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_offset_allowed BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_wdt_hgt BadTerminate
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_type_format_mismatch BadTerminate
dEQP-GLES2.functional.rasterization.primitives.triangles Fail
dEQP-GLES2.functional.rasterization.primitives.triangle_strip Fail
dEQP-GLES2.functional.rasterization.primitives.triangle_fan Fail
@@ -666,198 +618,6 @@ dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide Fail
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide Fail
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec2_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec3_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec3_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec3_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.sampler2D_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.sampler2D_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.sampler2D_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic.samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic_array.float_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic_array.float_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.initial.render.basic_array.float_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bool_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bool_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec2_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec2_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec2_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec3_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec3_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec3_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.sampler2D_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.sampler2D_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.sampler2D_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.int_ivec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.int_ivec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.bool_bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_struct.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.mat4_mat2_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.mat4_mat2_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.mat4_mat2_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.int_ivec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.bool_bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.mat4_mat2_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.mat4_mat2_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.mat4_mat2_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.int_ivec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.bool_bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.mat4_mat2_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.mat4_mat2_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.mat4_mat2_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.int_ivec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.bool_bvec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic.vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic.fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic.both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array.vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array.fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array.both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_nested_structs_arrays.vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_nested_structs_arrays.fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_nested_structs_arrays.both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.basic.float_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.basic.float_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.bvec3_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.sampler2D_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.sampler2D_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.sampler2D_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.float_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.float_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.float_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.float_vec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.float_vec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.int_ivec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.int_ivec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.int_ivec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.bool_bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.int_ivec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.bool_bvec4_vertex BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.bool_bvec4_fragment BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.bool_bvec4_both BadTerminatePass
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.int_ivec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.bool_bvec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.bool_bvec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.bool_bvec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.float_vec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.float_vec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.float_vec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.int_ivec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.int_ivec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.int_ivec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.bool_bvec4_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.bool_bvec4_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.bool_bvec4_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_vertex BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_fragment BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_both BadTerminate
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.multiple_basic_array.vertex BadTerminate
dEQP-GLES2.functional.uniform_api.random.40 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.41 BadTerminate
dEQP-GLES2.functional.uniform_api.random.42 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.43 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.44 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.45 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.46 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.47 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.48 BadTerminate
dEQP-GLES2.functional.uniform_api.random.49 BadTerminate
dEQP-GLES2.functional.uniform_api.random.50 BadTerminate
dEQP-GLES2.functional.uniform_api.random.51 BadTerminate
dEQP-GLES2.functional.uniform_api.random.52 BadTerminate
dEQP-GLES2.functional.uniform_api.random.53 BadTerminate
dEQP-GLES2.functional.uniform_api.random.54 BadTerminate
dEQP-GLES2.functional.uniform_api.random.55 BadTerminate
dEQP-GLES2.functional.uniform_api.random.88 BadTerminate
dEQP-GLES2.functional.uniform_api.random.89 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.90 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.91 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.92 BadTerminatePass
dEQP-GLES2.functional.uniform_api.random.93 BadTerminate
dEQP-GLES2.functional.uniform_api.random.94 BadTerminate
dEQP-GLES2.functional.uniform_api.random.95 BadTerminate
dEQP-GLES2.functional.uniform_api.random.96 BadTerminate
dEQP-GLES2.functional.uniform_api.random.97 BadTerminate
dEQP-GLES2.functional.uniform_api.random.98 BadTerminate
dEQP-GLES2.functional.uniform_api.random.99 BadTerminate
dEQP-GLES2.functional.read_pixels.rgba_ubyte_align_1 BadTerminate
dEQP-GLES2.functional.read_pixels.rgba_ubyte_align_2 BadTerminate
dEQP-GLES2.functional.read_pixels.rgba_ubyte_align_4 BadTerminate
dEQP-GLES2.functional.read_pixels.rgba_ubyte_align_8 BadTerminate
dEQP-GLES2.functional.depth_range.write.reverse Fail
dEQP-GLES2.functional.depth_range.write.half_to_zero Fail
dEQP-GLES2.functional.depth_range.write.one_to_half Fail
@@ -878,10 +638,6 @@ dEQP-GLES2.functional.dither.disabled.unicolored_quad_red Fail
dEQP-GLES2.functional.dither.disabled.unicolored_quad_green Fail
dEQP-GLES2.functional.dither.disabled.unicolored_quad_blue Fail
dEQP-GLES2.functional.dither.disabled.unicolored_quad_alpha Fail
dEQP-GLES2.functional.state_query.fbo.framebuffer_attachment_texture_cube_map_face BadTerminate
dEQP-GLES2.functional.state_query.rbo.renderbuffer_size BadTerminate
dEQP-GLES2.functional.state_query.rbo.renderbuffer_internal_format BadTerminate
dEQP-GLES2.functional.state_query.rbo.renderbuffer_component_size_color BadTerminate
dEQP-GLES2.functional.draw.draw_arrays.first.first_0 Fail
dEQP-GLES2.functional.draw.draw_arrays.first.first_1 Fail
dEQP-GLES2.functional.draw.draw_arrays.first.first_17 Fail

View File

@@ -90,6 +90,10 @@ static void ppir_codegen_encode_varying(ppir_node *node, void *code)
f->imm.source_type = 3;
f->imm.perspective = 1;
break;
case ppir_op_load_coords:
/* num_components == 3 implies cubemap as we don't support 3D textures */
f->imm.source_type = num_components == 3 ? 2 : 0;
break;
default:
break;
}
@@ -99,7 +103,13 @@ static void ppir_codegen_encode_varying(ppir_node *node, void *code)
f->reg.mask = dest->write_mask << (index & 0x3);
if (load->num_src) {
f->reg.source_type = 1;
/* num_components == 3 implies cubemap as we don't support 3D textures */
if (num_components == 3) {
f->reg.source_type = 2;
f->reg.perspective = 1;
} else {
f->reg.source_type = 1;
}
ppir_src *src = &load->src;
index = ppir_target_get_src_reg_index(src);
f->reg.source = index >> 2;
@@ -117,7 +127,20 @@ static void ppir_codegen_encode_texld(ppir_node *node, void *code)
f->index = ldtex->sampler;
f->lod_bias_en = 0;
f->type = ppir_codegen_sampler_type_2d;
switch (ldtex->sampler_dim) {
case GLSL_SAMPLER_DIM_2D:
case GLSL_SAMPLER_DIM_RECT:
case GLSL_SAMPLER_DIM_EXTERNAL:
f->type = ppir_codegen_sampler_type_2d;
break;
case GLSL_SAMPLER_DIM_CUBE:
f->type = ppir_codegen_sampler_type_cube;
break;
default:
break;
}
f->offset_en = 0;
f->unknown_2 = 0x39001;
}

View File

@@ -461,6 +461,7 @@ static ppir_node *ppir_emit_tex(ppir_block *block, nir_instr *ni)
switch (instr->sampler_dim) {
case GLSL_SAMPLER_DIM_2D:
case GLSL_SAMPLER_DIM_CUBE:
case GLSL_SAMPLER_DIM_RECT:
case GLSL_SAMPLER_DIM_EXTERNAL:
break;

View File

@@ -290,7 +290,7 @@ lima_pack_reload_plbu_cmd(struct lima_context *ctx)
memset(td, 0, lima_min_tex_desc_size);
lima_texture_desc_set_res(ctx, td, fb->base.cbufs[0]->texture, 0, 0);
td->unnorm_coords = 1;
td->texture_2d = 1;
td->texture_type = LIMA_TEXTURE_TYPE_2D;
td->min_img_filter_nearest = 1;
td->mag_img_filter_nearest = 1;
td->wrap_s_clamp_to_edge = 1;

View File

@@ -273,6 +273,7 @@ lima_screen_is_format_supported(struct pipe_screen *pscreen,
case PIPE_TEXTURE_1D:
case PIPE_TEXTURE_2D:
case PIPE_TEXTURE_RECT:
case PIPE_TEXTURE_CUBE:
break;
default:
return false;

View File

@@ -124,8 +124,17 @@ lima_update_tex_desc(struct lima_context *ctx, struct lima_sampler_state *sample
memset(desc, 0, desc_size);
/* 2D texture */
desc->texture_2d = 1;
switch (texture->base.target) {
case PIPE_TEXTURE_2D:
case PIPE_TEXTURE_RECT:
desc->texture_type = LIMA_TEXTURE_TYPE_2D;
break;
case PIPE_TEXTURE_CUBE:
desc->texture_type = LIMA_TEXTURE_TYPE_CUBE;
break;
default:
break;
}
if (!sampler->base.normalized_coords)
desc->unnorm_coords = 1;

View File

@@ -27,6 +27,9 @@
#define lima_min_tex_desc_size 64
#define LIMA_TEXTURE_TYPE_2D 2
#define LIMA_TEXTURE_TYPE_CUBE 5
typedef struct __attribute__((__packed__)) {
/* Word 0 */
uint32_t format : 6;
@@ -39,9 +42,9 @@ typedef struct __attribute__((__packed__)) {
/* Word 1-3 */
uint32_t unknown_1_1: 7;
uint32_t unnorm_coords: 1;
uint32_t unknown_1_2: 2;
uint32_t texture_2d: 1;
uint32_t unknown_1_3: 13;
uint32_t unknown_1_2: 1;
uint32_t texture_type: 3;
uint32_t unknown_1_3: 12;
uint32_t miplevels: 4;
uint32_t min_mipfilter_1: 9; /* 0x0 for linear, 0x1ff for nearest */
uint32_t unknown_2_1: 3;