Mesa (master): nvc0: enable bindless on kepler

Ilia Mirkin imirkin at kemper.freedesktop.org
Sun Jan 7 16:43:44 UTC 2018


Module: Mesa
Branch: master
Commit: 6f4ac7b418c64f03f05e496953fe0c1d09864ab9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f4ac7b418c64f03f05e496953fe0c1d09864ab9

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Jun 24 00:51:13 2017 -0400

nvc0: enable bindless on kepler

All the functionality is in. Maxwell will take a little bit more
enablement work.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 docs/features.txt                              | 2 +-
 docs/relnotes/17.4.0.html                      | 1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 +++---
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/docs/features.txt b/docs/features.txt
index eed3076372..a5f34edd41 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -293,7 +293,7 @@ GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+
 
 Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:
 
-  GL_ARB_bindless_texture                               DONE (radeonsi)
+  GL_ARB_bindless_texture                               DONE (nvc0, radeonsi)
   GL_ARB_cl_event                                       not started
   GL_ARB_compute_variable_group_size                    DONE (nvc0, radeonsi)
   GL_ARB_ES3_2_compatibility                            DONE (i965/gen8+)
diff --git a/docs/relnotes/17.4.0.html b/docs/relnotes/17.4.0.html
index b477c274fe..1adbb3e1cf 100644
--- a/docs/relnotes/17.4.0.html
+++ b/docs/relnotes/17.4.0.html
@@ -50,6 +50,7 @@ Note: some of the new features are only available with certain drivers.
 <li>GL_ARB_shader_storage_buffer_object on r600/evergreen+<li>
 <li>GL_ARB_compute_shader on r600/evergreen+<li>
 <li>GL_ARB_cull_distance on r600/evergreen+</li>
+<li>GL_ARB_bindless_texture on nvc0/kepler</li>
 <li>OpenGL 4.3 on r600/evergreen with hw fp64 support</li>
 <li>Support 1 binary format for GL_ARB_get_program_binary on i965</li>
 </ul>
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index e51d516353..d911884f78 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -258,8 +258,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
    case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
       return 1;
-   case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
-      return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
    case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
       return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ? 1 : 0;
    case PIPE_CAP_TGSI_FS_FBFETCH:
@@ -269,8 +267,11 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
    case PIPE_CAP_POST_DEPTH_COVERAGE:
       return class_3d >= GM200_3D_CLASS;
+   case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
    case PIPE_CAP_TGSI_BALLOT:
       return class_3d >= NVE4_3D_CLASS;
+   case PIPE_CAP_BINDLESS_TEXTURE:
+      return class_3d >= NVE4_3D_CLASS && class_3d < GM107_3D_CLASS;
 
    /* unsupported caps */
    case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT:
@@ -300,7 +301,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
    case PIPE_CAP_INT64_DIVMOD:
    case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
-   case PIPE_CAP_BINDLESS_TEXTURE:
    case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
    case PIPE_CAP_QUERY_SO_OVERFLOW:
    case PIPE_CAP_MEMOBJ:




More information about the mesa-commit mailing list