[Mesa-dev] [PATCH 1/2] nvc0: add GK20A 3D class

Alexandre Courbot acourbot at nvidia.com
Mon May 26 23:35:34 PDT 2014


On 05/27/2014 02:29 PM, Ilia Mirkin wrote:
> On Tue, May 27, 2014 at 12:59 AM, Alexandre Courbot <acourbot at nvidia.com> wrote:
>> GK20A is mostly compatible with GK104, but features a new 3D
>> class. Add it to the relevant header and use it when GK20A is
>> detected.
>>
>> Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
>> ---
>>   src/gallium/drivers/nouveau/nv_object.xml.h    | 1 +
>>   src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 9 ++++++++-
>>   2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h
>> index 4c93e6564838..0a0e187dc028 100644
>> --- a/src/gallium/drivers/nouveau/nv_object.xml.h
>> +++ b/src/gallium/drivers/nouveau/nv_object.xml.h
>> @@ -190,6 +190,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>>   #define NVC8_3D_CLASS                                          0x00009297
>>   #define NVE4_3D_CLASS                                          0x0000a097
>>   #define NVF0_3D_CLASS                                          0x0000a197
>> +#define NVEA_3D_CLASS                                          0x0000a297
>>   #define GM107_3D_CLASS                                         0x0000b097
>>   #define NV50_2D_CLASS                                          0x0000502d
>>   #define NVC0_2D_CLASS                                          0x0000902d
>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> index cccfe2bba23d..95e5ef81cd79 100644
>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> @@ -702,7 +702,14 @@ nvc0_screen_create(struct nouveau_device *dev)
>>         obj_class = NVF0_3D_CLASS;
>>         break;
>>      case 0xe0:
>> -      obj_class = NVE4_3D_CLASS;
>> +      switch (dev->chipset) {
>> +      case 0xea:
>> +         obj_class = NVEA_3D_CLASS;
>
> Again, would be nice to be consistent with the way you set the ISA...
> perhaps change this to a >= as well? But I guess the two could be
> disconnected. Up to you, just thought I'd bring it up.

Right below we have the following being done:

      switch (dev->chipset) {
       case 0xc8:
          obj_class = NVC8_3D_CLASS;
          break;
       case 0xc1:
          obj_class = NVC1_3D_CLASS;
          break;
       default:
          obj_class = NVC0_3D_CLASS;
          break;
       }

Shouldn't we try to be consistent with this more local example instead?


More information about the mesa-dev mailing list