[Mesa-dev] [PATCH] nvc0: allow to use compute support on GM200

Ilia Mirkin imirkin at alum.mit.edu
Wed Apr 13 22:47:44 UTC 2016


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

On Wed, Apr 13, 2016 at 6:46 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> This works like a charm but please not that NVF0_COMPUTE have to be set
> because compute support is still not enabled by default on GK110+. This
> will require more testing to make sure it won't break the 3D state.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/gallium/drivers/nouveau/nv_object.xml.h     | 1 +
>  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  | 3 +--
>  src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 3 +++
>  3 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h
> index 3479c34..fe4982a 100644
> --- a/src/gallium/drivers/nouveau/nv_object.xml.h
> +++ b/src/gallium/drivers/nouveau/nv_object.xml.h
> @@ -202,6 +202,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>  #define NVE4_COMPUTE_CLASS                                     0x0000a0c0
>  #define NVF0_COMPUTE_CLASS                                     0x0000a1c0
>  #define GM107_COMPUTE_CLASS                            0x0000b0c0
> +#define GM200_COMPUTE_CLASS                            0x0000b1c0
>  #define NV84_CRYPT_CLASS                                       0x000074c1
>  #define BLOB_NVC0_PCOPY1_CLASS                                 0x000090b8
>  #define BLOB_NVC0_PCOPY0_CLASS                                 0x000090b5
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> index 9a34007..f6d05aa 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> @@ -644,10 +644,9 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
>     case 0xf0:
>     case 0x100:
>     case 0x110:
> +   case 0x120:
>        if (debug_get_bool_option("NVF0_COMPUTE", false))
>           return nve4_screen_compute_setup(screen, screen->base.pushbuf);
> -   case 0x120:
> -      return 0;
>     default:
>        return -1;
>     }
> diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
> index 4d069df..3d01909 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
> @@ -54,6 +54,9 @@ nve4_screen_compute_setup(struct nvc0_screen *screen,
>     case 0x110:
>        obj_class = GM107_COMPUTE_CLASS;
>        break;
> +   case 0x120:
> +      obj_class = GM200_COMPUTE_CLASS;
> +      break;
>     default:
>        NOUVEAU_ERR("unsupported chipset: NV%02x\n", dev->chipset);
>        return -1;
> --
> 2.8.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list