diff --git a/docs/features.txt b/docs/features.txt index 06504ee9095..f9792f0f96b 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -188,7 +188,7 @@ GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, softpipe, swr, v3d, d3d12) GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30) GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) - GL_ARB_texture_view DONE (freedreno, i965, nv50, softpipe, swr) + GL_ARB_texture_view DONE (freedreno, i965, nv50, softpipe, swr, v3d) GL_ARB_vertex_attrib_binding DONE (all drivers) @@ -344,7 +344,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve GL_OES_texture_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink) GL_OES_texture_half_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink, lima) GL_OES_texture_half_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink, lima) - GL_OES_texture_view DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, swr, zink) + GL_OES_texture_view DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, swr, v3d, zink) GL_OES_viewport_array DONE (i965, nvc0, r600, radeonsi, softpipe, zink) GLX_ARB_context_flush_control not started GLX_ARB_robustness_application_isolation not started diff --git a/src/broadcom/ci/v3d-rpi4-fails.txt b/src/broadcom/ci/v3d-rpi4-fails.txt index 8c7d5af1520..0d1e3cc2002 100644 --- a/src/broadcom/ci/v3d-rpi4-fails.txt +++ b/src/broadcom/ci/v3d-rpi4-fails.txt @@ -329,3 +329,23 @@ spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail # Seems a bug in the test; it works if overriding GL version to 2.1 spec@arb_texture_buffer_range@ranges-2 compat,Fail + +# Precission differences between expected and obtained; works if +# exporting V3D_DEBUG=tmu32. +spec@oes_texture_view@rendering-formats,Fail +spec@oes_texture_view@rendering-formats@clear GL_R8 as GL_R8I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RG8 as GL_R16F,Fail +spec@oes_texture_view@rendering-formats@clear GL_RG8 as GL_R16I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RG8 as GL_RG8I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGBA8 as GL_R32F,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGBA8 as GL_R32I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGBA8 as GL_RG16F,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGBA8 as GL_RG16I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGBA8 as GL_RGBA8I,Fail + +# Also related with precission issues +spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_R32F,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_R32I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_RG16F,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_RG16I,Fail +spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_RGBA8I,Fail diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c index fcff5a6a541..1864b95be0e 100644 --- a/src/gallium/drivers/v3d/v3d_screen.c +++ b/src/gallium/drivers/v3d/v3d_screen.c @@ -139,6 +139,7 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL: case PIPE_CAP_TGSI_TEXCOORD: case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: + case PIPE_CAP_SAMPLER_VIEW_TARGET: return 1; case PIPE_CAP_TEXTURE_QUERY_LOD: