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

Implement read of 3D images with unnormalised sampler #1234

Merged
merged 5 commits into from
Oct 12, 2023

Conversation

rjodinchr
Copy link
Collaborator

We need to know where the sampler is coming from, so we need to inline every function containing a read image of a 3d image with non literal sampler.

This PR depends on KhronosGroup/SPIRV-Headers#377
We use the information from the sampler mask to know if you need to use the original coordinates or the one we have normalised.

Like for channel_image_order and channel_image_data_type we use metadata to pass information through the pipeline.

@rjodinchr rjodinchr marked this pull request as ready for review September 20, 2023 09:39
rjodinchr added a commit to rjodinchr/clvk that referenced this pull request Sep 20, 2023
This PR depends on google/clspv#1234

We parse the new NormalizedSamplerMaskPushConstant non-semantic
instruction from KhronosGroup/SPIRV-Headers#377.

Set the sampler mask in the push constant, but also create a new
sampler with normalised coordinate if not already the case or already
created.
rjodinchr added a commit to rjodinchr/clvk that referenced this pull request Sep 20, 2023
This PR depends on google/clspv#1234

We parse the new NormalizedSamplerMaskPushConstant non-semantic
instruction from KhronosGroup/SPIRV-Headers#377.

Set the sampler mask in the push constant, but also create a new
sampler with normalised coordinate if not already the case or already
created.
rjodinchr added a commit to rjodinchr/clvk that referenced this pull request Sep 20, 2023
This PR depends on google/clspv#1234

We parse the new NormalizedSamplerMaskPushConstant non-semantic
instruction from KhronosGroup/SPIRV-Headers#377.

Set the sampler mask in the push constant, but also create a new
sampler with normalised coordinate if not already the case or already
created.
rjodinchr added a commit to rjodinchr/clvk that referenced this pull request Sep 20, 2023
This PR depends on google/clspv#1234

We parse the new NormalizedSamplerMaskPushConstant non-semantic
instruction from KhronosGroup/SPIRV-Headers#377.

Set the sampler mask in the push constant, but also create a new
sampler with normalised coordinate if not already the case or already
created.
@rjodinchr
Copy link
Collaborator Author

Ref #1202

lib/SamplerUtils.cpp Outdated Show resolved Hide resolved
lib/AutoPodArgsPass.cpp Show resolved Hide resolved
@alan-baker
Copy link
Collaborator

Please rebase this on top of the headers, I've merged the necessary changes.

We need to know where the sampler is coming from, so we need to inline
every function containing a read image of a 3d image with non literal
sampler.

This PR depends on KhronosGroup/SPIRV-Headers#377
We use the information from the sampler mask to know if you need to
use the original coordinates or the one we have normalised.

Like for channel_image_order and channel_image_data_type we use
metadata to pass information through the pipeline.
@rjodinchr
Copy link
Collaborator Author

Amber does not have the new spirv-headers yet.

@alan-baker alan-baker merged commit fe4555f into google:main Oct 12, 2023
1 check passed
@rjodinchr rjodinchr deleted the pr/sampler-arg branch October 12, 2023 16:12
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