On 20/10/17 08:45, Ilia Mirkin wrote:
On Thu, Oct 19, 2017 at 5:35 PM, Timothy Arceri <tarc...@itsqueeze.com> wrote:


On 20/10/17 08:27, Timothy Arceri wrote:



On 20/10/17 08:19, Timothy Arceri wrote:

On 20/10/17 04:21, Ilia Mirkin wrote:

On Thu, Oct 19, 2017 at 12:45 PM, Ilia Mirkin <imir...@alum.mit.edu>
wrote:

On Thu, Oct 19, 2017 at 12:40 PM, Iago Toral <ito...@igalia.com> wrote:

On Thu, 2017-10-19 at 12:37 -0400, Ilia Mirkin wrote:

Will this work with SSO shaders? Presumably the validation still has
to happen, but I don't think cross_validate_outputs_to_inputs() will
end up getting called.


The piglit tests I mention use SSO so it seems to be working for this.
See for example:

tests/spec/arb_enhanced_layouts/linker/block-member-locations/named-
block-member-location-overlap.shader_test


Ah great. I'm a little curious how, since I don't see how
cross_validate_outputs_to_inputs would get called for SSO shaders.
Perhaps I'm looking at old code.

Oh - because that test doesn't test SSO. It's missing a "SSO ENABLED"
- can you try with that? It's just using a pipeline, but both shaders
are ending up in it.


BTW, my solution to all this was

https://patchwork.freedesktop.org/patch/175959/

but Tim hated it, and I didn't have the time to properly respond.


Hate is a strong word, the problem is it duplicated some of the
checks/logic in cross_validate_outputs_to_inputs() unnecessarily. The checks
should be pulled into a helper/helpers that can also be used by SSO.


Oh and your patch was also missing all the component checking logic which
we also should be doing for SSO. Moving the checks into helpers will give us
these check for free.


Thinking about it some more, I don't see how your patch works for SSO.

The only place you can validate the SSO pipeline is via
_mesa_validate_program_pipeline() since we can't know what the other stages
will be at link time.

You don't need to validate the pipeline. You need to make sure each
individual program links, and the code is called at glLinkShader()
time, at which point it will fail the link if the interfaces have
things they're not supposed to.


Oh right, this is just for validating the outward facing interfaces of a SSO program. I think we have discussed this before :P
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to