diff options
author | Boyan Ding <boyan.j.ding@gmail.com> | 2017-04-23 23:19:23 +0800 |
---|---|---|
committer | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2017-04-27 11:11:15 +0200 |
commit | 63df869f0879d2e92cb121dec7edfdb4f36be8da (patch) | |
tree | 059e80ecb2bc3c9a54b6570b3852ac8eccbb53cd /src | |
parent | d03bfb078b6aee0361f07cc7368bbed4047a808a (diff) |
nvc0: Enable compute support for Pascal
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/nv_object.xml.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h index 1263bff450e4..664bfae9f64b 100644 --- a/src/gallium/drivers/nouveau/nv_object.xml.h +++ b/src/gallium/drivers/nouveau/nv_object.xml.h @@ -205,6 +205,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVF0_COMPUTE_CLASS 0x0000a1c0 #define GM107_COMPUTE_CLASS 0x0000b0c0 #define GM200_COMPUTE_CLASS 0x0000b1c0 +#define GP100_COMPUTE_CLASS 0x0000c0c0 +#define GP104_COMPUTE_CLASS 0x0000c1c0 #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 ad99e17eafec..20d2fa0253a0 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -248,9 +248,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) 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); + 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: @@ -688,9 +687,8 @@ nvc0_screen_init_compute(struct nvc0_screen *screen) case 0x100: case 0x110: case 0x120: - return nve4_screen_compute_setup(screen, screen->base.pushbuf); case 0x130: - return 0; + return nve4_screen_compute_setup(screen, screen->base.pushbuf); default: return -1; } diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c index a3c5a053691e..bc5d9e044017 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c @@ -58,6 +58,9 @@ nve4_screen_compute_setup(struct nvc0_screen *screen, case 0x120: obj_class = GM200_COMPUTE_CLASS; break; + case 0x130: + obj_class = dev->chipset == 0x130 ? GP100_COMPUTE_CLASS : GP104_COMPUTE_CLASS; + break; default: NOUVEAU_ERR("unsupported chipset: NV%02x\n", dev->chipset); return -1; |