nouveau: enable ARB_shader_clock on nv50 and nvc0
authorBoyan Ding <boyan.j.ding@gmail.com>
Tue, 4 Apr 2017 14:44:47 +0000 (22:44 +0800)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sun, 9 Apr 2017 17:03:13 +0000 (13:03 -0400)
v2: Also enable support on nv50

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
docs/features.txt
docs/relnotes/17.1.0.html
src/gallium/drivers/nouveau/nv50/nv50_screen.c
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c

index 5cc109036bd01e01583ff5cab54366c3640221af..edc56842b96811243949a2807de5c4f2e4335be7 100644 (file)
@@ -293,7 +293,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
   GL_ARB_seamless_cubemap_per_texture                   DONE (i965, nvc0, radeonsi, r600, softpipe, swr)
   GL_ARB_shader_atomic_counter_ops                      DONE (i965/gen7+, nvc0, radeonsi, softpipe)
   GL_ARB_shader_ballot                                  DONE (radeonsi)
-  GL_ARB_shader_clock                                   DONE (i965/gen7+, radeonsi)
+  GL_ARB_shader_clock                                   DONE (i965/gen7+, nv50, nvc0, radeonsi)
   GL_ARB_shader_draw_parameters                         DONE (i965, nvc0, radeonsi)
   GL_ARB_shader_group_vote                              DONE (nvc0, radeonsi)
   GL_ARB_shader_stencil_export                          DONE (i965/gen9+, radeonsi, softpipe, llvmpipe, swr)
index 7419970283d5a9efd2d43741ff04795204516e32..0a5cabe4f1b475ff4a6a61a4ad3e499f2a2986ff 100644 (file)
@@ -46,7 +46,7 @@ Note: some of the new features are only available with certain drivers.
 <ul>
 <li>GL_ARB_gpu_shader_int64 on i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe</li>
 <li>GL_ARB_shader_ballot on radeonsi</li>
-<li>GL_ARB_shader_clock on radeonsi</li>
+<li>GL_ARB_shader_clock on nv50, nvc0, radeonsi</li>
 <li>GL_ARB_shader_group_vote on radeonsi</li>
 <li>GL_ARB_sparse_buffer on radeonsi/CIK+</li>
 <li>GL_ARB_transform_feedback2 on i965/gen6</li>
index 9e8eeacdbd438c2b80914434b49532dce4e1e63b..76999495fdf773c90a9800870ac35c8748975547 100644 (file)
@@ -199,6 +199,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_TGSI_ARRAY_COMPONENTS:
    case PIPE_CAP_TGSI_MUL_ZERO_WINS:
    case PIPE_CAP_TGSI_TEX_TXF_LZ:
+   case PIPE_CAP_TGSI_CLOCK:
       return 1;
    case PIPE_CAP_SEAMLESS_CUBE_MAP:
       return 1; /* class_3d >= NVA0_3D_CLASS; */
@@ -263,7 +264,6 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
-   case PIPE_CAP_TGSI_CLOCK:
    case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
    case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
    case PIPE_CAP_TGSI_BALLOT:
index 064848db4abe51cb2b9cd4a43c0488a99d311316..7ef9bf9c9cf3a52e7e102f5c221252c4d3d42ef3 100644 (file)
@@ -247,6 +247,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_TGSI_TEX_TXF_LZ:
+   case PIPE_CAP_TGSI_CLOCK:
       return 1;
    case PIPE_CAP_COMPUTE:
       return (class_3d < GP100_3D_CLASS);
@@ -287,7 +288,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_NATIVE_FENCE_FD:
    case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
    case PIPE_CAP_INT64_DIVMOD:
-   case PIPE_CAP_TGSI_CLOCK:
    case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
    case PIPE_CAP_TGSI_BALLOT:
       return 0;