v3.20.4

Share-based Compensation - Schedule of Share-Based Compensation Expense (Detail) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Share-based compensation | $ 384 | $ 346 | $ 314
Cost of revenue |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Share-based compensation | 45 | 42 | 40
Research & development |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Share-based compensation | 159 | 141 | 133
Selling, general and administrative |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Share-based compensation | $ 180 | $ 163 | $ 141

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of noncash expense for share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585 + Details
Name: | us-gaap_ShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |