Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple: Intel graphics enablement #1980

Closed

Conversation

slingthor
Copy link
Contributor

@slingthor slingthor commented Aug 3, 2022

Description of Change(s)

Enables Intel on Apple

  • Works around primitive ID and hardware barycentric limitations by always taking the post tessellation vertex path and uses the patch_id and tessellation coordinate instead
  • Works around a texture writing limitation on Intel, where we would see a glitch with the format specified while in an argument buffer.
  • Enable the requiresBasePrimitiveOffset workaround for Intel
  • Works around a limitation on Intel where the indirect drawing patch buffer's per stride contents's size has to be a multiple of 32

Fixes Issue(s)

  • Hydra Storm not working on Intel Macs
  • I have submitted a signed Contributor License Agreement

@slingthor
Copy link
Contributor Author

Will be looking at simplifying the interstage declaration of ptvsBarycentrics coord - had to remove it initially because of glslfx metadata limitations. Looking into improving upon that limitation to simplify even further.
Functionally I believe it is sound.

@slingthor slingthor force-pushed the intel_enablement_3 branch 3 times, most recently from a9a0a5e to 118bf5f Compare August 3, 2022 16:54
@sunyab
Copy link
Contributor

sunyab commented Aug 4, 2022

Filed as internal issue #USD-7539

Ecosystem Admin and others added 2 commits September 1, 2022 11:41
pixar-oss pushed a commit that referenced this pull request Sep 28, 2022
This is required for older Intel GPU drivers and improves
performance for more recent drivers.

Contribution: Thor Hjalmarsson

Fixes #1980

(Internal change: 2250341)
pixar-oss pushed a commit that referenced this pull request Sep 28, 2022
Fragment shader barycentrics and primitive_id are not fully
implemented for older Intel GPU drivers so we detect this and
workaround these cases by generating barycentric coords
and primitive id in the PTVS.

Contribution: Thor Hjalmarsson

Fixes #1980

(Internal change: 2250343)
@creijon
Copy link
Contributor

creijon commented Sep 30, 2022

Looks like this has been merged now as part of the changes from @davidgyu

@slingthor slingthor closed this Oct 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants