Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,095
    • Issues 3,095
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,003
    • Merge requests 1,003
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • MesaMesa
  • mesamesa
  • Merge requests
  • !7565

Add Microsoft CLC CLOn12 compiler stack

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jesse Natalie requested to merge jenatali/mesa:upstream/microsoft-clc into master Nov 12, 2020
  • 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
Reviewers
Request review from
Time tracking
Source branch: upstream/microsoft-clc