From d65b160e6a8712a33d72bea1a1b49587d483a18a Mon Sep 17 00:00:00 2001 From: Jan Zielinski Date: Wed, 15 May 2019 17:04:15 +0200 Subject: [PATCH] swr: clean up supported OGL4.0/4.1 extensions list This commit adjusts the capabilities returned by the SWR driver and the documentation to correctly report the following extensions: GL_ARB_texture_query_lod, GL_ARB_texture_cube_map_array, GL_ARB_gpu_shader_fp64, GL_ARB_texture_gather, GL_ARB_vertex_attrib_64bit. Reviewed-by: Alok Hota --- docs/features.txt | 8 ++++---- src/gallium/drivers/swr/swr_screen.cpp | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 38d6186dbe1..862b6f9d00c 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -127,14 +127,14 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl - Enhanced per-sample shading DONE () - Interpolation functions DONE (softpipe) - New overload resolution rules DONE (softpipe) - GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, llvmpipe, softpipe) + GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, llvmpipe, softpipe, swr) GL_ARB_sample_shading DONE (freedreno/a6xx, i965/gen6+, nv50) GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) GL_ARB_tessellation_shader DONE (i965/gen7+) GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, i965/gen6+, llvmpipe, softpipe, swr) - GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe) + GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) GL_ARB_texture_gather DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) - GL_ARB_texture_query_lod DONE (freedreno, i965, nv50, llvmpipe, softpipe) + GL_ARB_texture_query_lod DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) GL_ARB_transform_feedback3 DONE (i965/gen7+, llvmpipe, softpipe, swr) @@ -145,7 +145,7 @@ GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl GL_ARB_get_program_binary DONE (0 or 1 binary formats) GL_ARB_separate_shader_objects DONE (all drivers) GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10) - GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, llvmpipe, softpipe) + GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, llvmpipe, softpipe, swr) GL_ARB_viewport_array DONE (i965, nv50, llvmpipe, softpipe) diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp index 0b1347793f5..2f4ff5cfa2d 100644 --- a/src/gallium/drivers/swr/swr_screen.cpp +++ b/src/gallium/drivers/swr/swr_screen.cpp @@ -182,10 +182,14 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param) return 2048; case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: return SWR_MAX_TEXTURE_ARRAY_LAYERS; + case PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET: case PIPE_CAP_MIN_TEXEL_OFFSET: return -8; + case PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET: case PIPE_CAP_MAX_TEXEL_OFFSET: return 7; + case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: + return 4; case PIPE_CAP_GLSL_FEATURE_LEVEL: return 330; case PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY: @@ -202,8 +206,6 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_NATIVE; - case PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET: - case PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET: case PIPE_CAP_DEPTH_CLIP_DISABLE_SEPARATE: return 0; @@ -254,6 +256,7 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_CULL_DISTANCE: case PIPE_CAP_CUBE_MAP_ARRAY: case PIPE_CAP_DOUBLES: + case PIPE_CAP_TEXTURE_QUERY_LOD: return 1; /* MSAA support @@ -284,9 +287,7 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: case PIPE_CAP_TGSI_TEXCOORD: case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: - case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: case PIPE_CAP_TEXTURE_GATHER_SM5: - case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: -- 2.30.2