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

Shader Pipeline #358

Merged
merged 175 commits into from
Oct 23, 2019

Conversation

devshgraphicsprogramming
Copy link
Collaborator

No description provided.

…include's handling is done

Note for near future: Rules of serialization for ICPUShader: if contains GLSL, then is serialized as GLSL (regardless of presence of SPIR-V); otherwise ICPUShader is serialized in SPIR-V form.
…lation (with bindings reordering) works fine!
todo Delete IParsedShaderSource as it's not needed now
Im getting linker error for IGPUObjectsFromAssetConverter::getGPUObjectsFromAssets<ICPUSpeciliazedShader> and i have no idea why and not time to look into it more... so i couldnt test it. However this is some initial look of how this could seem as for now. This is very dirty and some things in the engine will not work properly:
* transparent scene nodes
* skinned scene nodes
* transform feedback
* BAW loading/writing
Also needs to be merged with devsh's cleanup branch (shaders in SMaterial should be smart_refctd_ptr, now they're just pointers)
@Crisspl
Copy link
Contributor

Crisspl commented Oct 18, 2019

to me it's merge-ready except this discussion

@devshgraphicsprogramming
Copy link
Collaborator Author

we need to put IBuffer back into irr::core

@Crisspl
Copy link
Contributor

Crisspl commented Oct 18, 2019

we need to put IBuffer back into irr::core

there are 2 IBuffers now: asset::IBuffer and core::IBuffer decided here #358 (comment) where asset::Ibuffer is answer for "ICPU and IGPU Buffer need a common base on top of core::IBuffer"

@devshgraphicsprogramming
Copy link
Collaborator Author

there are 2 IBuffers now: asset::IBuffer and core::IBuffer decided here #358 (comment) where asset::Ibuffer is answer for "ICPU and IGPU Buffer need a common base on top of core::IBuffer"

Ok resolved.

to me it's merge-ready except this discussion

  • Your input attachment query is not querying all the extensions
  • pipeline caching mess
  • compute pipelines
  • pasting of enabled GLSL extensions

to find the conversations scross up and press "Load More` until all items are not hidden anymore

@Crisspl
Copy link
Contributor

Crisspl commented Oct 20, 2019

it's ready

@Crisspl
Copy link
Contributor

Crisspl commented Oct 21, 2019

maybe try closing this PR and opening another one so that comments in this one are preserved. (If you're right about that retargeting will cause all the comments to disappear). idk how to dump comments to some usable form (not screenshot; i mean theres chrome extension to "screenshot" whole page whatever long wouldnt it be but it wont let us ctrl+f later)

@devshgraphicsprogramming
Copy link
Collaborator Author

There are two very old unresolved things:

  1. using ifdef instead of commenting out old code so that I can find it later
  2. @AnastaZIuk documentation update

Obviously need to clear the latest comments and we can merge.

But then we immediately open another PR for compute pipelines and making this branch finally build.

@devshgraphicsprogramming devshgraphicsprogramming changed the base branch from master to shader_pipeline October 21, 2019 11:29
@devshgraphicsprogramming
Copy link
Collaborator Author

@Crisspl merge and correct Crisspl#15

Then I will hit the merge button.

@@ -16,8 +16,7 @@ class ICPUMesh : public IMesh<ICPUMeshBuffer>, public BlobSerializable, public I
public:
//! These are not absolute constants, just the most common situation, there may be setups of assets/resources with completely different relationships.
_IRR_STATIC_INLINE_CONSTEXPR uint32_t MESHBUFFER_HIERARCHYLEVELS_BELOW = 1u; // mesh->meshbuffer->texture
// TODO: after shader pipeline change to 5, mesh->meshbuffer->descriptorset->imageview
_IRR_STATIC_INLINE_CONSTEXPR uint32_t IMAGEVIEW_HIERARCHYLEVELS_BELOW = 2u; // mesh->meshbuffer->texture
_IRR_STATIC_INLINE_CONSTEXPR uint32_t IMAGEVIEW_HIERARCHYLEVELS_BELOW = 5u; // mesh->meshbuffer->texture
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually mesh->meshbuffer->pipeline->descriptorset->imageview would make it 4,
5 would be for IMAGE_HIERARCHYLEVELS_BELOW

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Crisspl TODO in next PR

@devshgraphicsprogramming devshgraphicsprogramming merged commit dce0cef into buildaworldnet:shader_pipeline Oct 23, 2019
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.

3 participants