virgl: enable ARB_gpu_shader_fp64
authorDave Airlie <airlied@redhat.com>
Mon, 21 May 2018 04:00:37 +0000 (14:00 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 10 Jun 2018 22:35:03 +0000 (08:35 +1000)
This enables ARB_gpu_shader_fp64 if the host provides it.

Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
docs/features.txt
src/gallium/drivers/virgl/virgl_screen.c

index 6e5cbc8b11e78ebfd4e09b4564dd2e82a51f5100..3f6731fc7466a8d87719622abf5b10dc021b787d 100644 (file)
@@ -127,7 +127,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi
   - Enhanced per-sample shading                         DONE ()
   - Interpolation functions                             DONE ()
   - New overload resolution rules                       DONE
-  GL_ARB_gpu_shader_fp64                                DONE (i965/gen7+, llvmpipe, softpipe)
+  GL_ARB_gpu_shader_fp64                                DONE (i965/gen7+, llvmpipe, softpipe, virgl)
   GL_ARB_sample_shading                                 DONE (i965/gen6+, nv50, virgl)
   GL_ARB_shader_subroutine                              DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr, virgl)
   GL_ARB_tessellation_shader                            DONE (i965/gen7+)
index e8d1c751779a4b847a6af3a029545d01e282af78..2ba9708ebac3b6f9af2e6ad46cefbd283a89993d 100644 (file)
@@ -213,6 +213,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
       return vscreen->caps.caps.v1.bset.transform_feedback_overflow_query;
    case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT:
       return vscreen->caps.caps.v2.shader_buffer_offset_alignment;
+   case PIPE_CAP_DOUBLES:
+      return vscreen->caps.caps.v1.bset.has_fp64;
    case PIPE_CAP_TEXTURE_GATHER_SM5:
    case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
    case PIPE_CAP_FAKE_SW_MSAA:
@@ -268,7 +270,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
    case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
    case PIPE_CAP_TGSI_BALLOT:
-   case PIPE_CAP_DOUBLES:
    case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
    case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
    case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION: