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

Separate primitive shaders from clip shaders #2623

Merged
merged 1 commit into from Apr 6, 2018

Conversation

@kvark
Copy link
Member

kvark commented Apr 5, 2018

Includes #2622

Note: this is not done because I'm bored.
The problem Szeged team has bumped into is that aDataX attributes end up being used in the shaders they don't relate to (e.g. clip shaders). This isn't affecting GLSL but it does affect GLSL -> SPIRV -> XXX shader pipelines.

The solution I came up with involves moving parts of prim_shared into separate shared modules, and turning clip_shared into a catch-all header of clip shades.

Downsides: more shader modules (but not programs) to navigate between.
Any suggestions on alternative solutions are welcome ;)


This change is Reviewable

@kvark kvark requested a review from glennw Apr 5, 2018
@glennw
glennw approved these changes Apr 6, 2018
Copy link
Member

glennw left a comment

Looks sane, thanks!

@bors-servo
Copy link
Contributor

bors-servo commented Apr 6, 2018

The latest upstream changes (presumably #2618) made this pull request unmergeable. Please resolve the merge conflicts.

@nical
Copy link
Collaborator

nical commented Apr 6, 2018

Sounds good to me, could you document the constraints on the driver issues wiki page? It's not really a driver issue per se but it's in the bag if platform/backend/configuration specific issues that we don't necessarily catch locally.

@kvark kvark force-pushed the kvark:shader-module branch from fac6836 to 0b1808a Apr 6, 2018
@kvark
Copy link
Member Author

kvark commented Apr 6, 2018

Thanks for taking a look!
Since we appear to be in agreement, and no better solution is proposed, I'm going ahead with this. And the quicker - the better, since rebasing this big refactor is difficult.

New wiki entry - https://github.com/servo/webrender/wiki/Driver-issues#2623-unused-vertex-attributes-in-spir-v

@bors-servo r=glennw

@bors-servo
Copy link
Contributor

bors-servo commented Apr 6, 2018

📌 Commit 0b1808a has been approved by glennw

@bors-servo
Copy link
Contributor

bors-servo commented Apr 6, 2018

Testing commit 0b1808a with merge f685027...

bors-servo added a commit that referenced this pull request Apr 6, 2018
Separate primitive shaders from clip shaders

Includes #2622

Note: this is not done because I'm bored.
The problem Szeged team has bumped into is that `aDataX` attributes end up being used in the shaders they don't relate to (e.g. clip shaders). This isn't affecting GLSL but it does affect GLSL -> SPIRV -> XXX shader pipelines.

The solution I came up with involves moving parts of `prim_shared` into separate shared modules, and turning `clip_shared` into a catch-all header of clip shades.

Downsides: more shader modules (but not programs) to navigate between.
Any suggestions on alternative solutions are welcome ;)

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/2623)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Apr 6, 2018

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: glennw
Pushing f685027 to master...

@bors-servo bors-servo merged commit 0b1808a into servo:master Apr 6, 2018
3 checks passed
3 checks passed
Taskcluster (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
@kvark kvark deleted the kvark:shader-module branch Apr 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.