Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
mesa
mesa
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2,429
    • Issues 2,429
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 688
    • Merge Requests 688
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Mesa
  • mesamesa
  • Merge Requests
  • !7565

Merged
Created Nov 12, 2020 by Jesse Natalie@jenataliDeveloper

Add Microsoft CLC CLOn12 compiler stack

  • Overview 113
  • Commits 13
  • Pipelines 22
  • Changes 39

This is the OpenCL C compiler stack used by Microsoft's OpenCLOn12 implementation. It's a parallel OpenCL C -> NIR stack from Clover, with the added step of translating to DXIL afterwards using the already-merged nir_to_dxil code with some augmentations. See !7477 (merged) for that initial implementation.

This is the result of a lot of work from our downstream branch.

This MR contains a few commits from !7433, which have the net effect of enabling nir_var_mem_constant for nir_lower_vars_to_explicit_types. There's also some misc changes to core nir/vtn code which weren't found during our initial history search, but were found while debugging failures after rebasing. I can split those out if necessary.

This is not a completely functional CL stack, since it doesn't have printf support yet, which will come with !7357. It passes the set of functional tests we built for it as part of bringup, but hasn't been run through the CL CTS after rebasing -- though prior to rebasing we are more or less passing the full CL 1.2 CTS.

It likely contains some locally-duplicated functionality (e.g. the libclc loader) which can either be de-duplicated before or after merging, whichever people would prefer.

/cc @jekstrand @karolherbst @airlied

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: upstream/microsoft-clc