On Tuesday, July 26, 2016 1:07:57 PM PDT Timothy Arceri wrote: > On Mon, 2016-07-25 at 16:54 -0700, Kenneth Graunke wrote: > > With this patch, if a .shader_test file contains > > > > [require] > > ... > > SSO ENABLED > > > > then we'll set GL_PROGRAM_SEPARABLE to compile the shaders into > > separate > > shader objects. This prevents the linker from removing unused inputs > > and outputs. Drivers may also choose to lay out interfaces of SSO > > programs differently, resulting in different code. > > > > v2: > > - Actually initialize use_separate_shader_objects > > - Fix memcmp length parameter (thanks to Matt) > > > > v3: > > - Search for "SSO ENABLED" instead of > > "GL_ARB_separate_shader_objects", > > to match what Timothy did in shader_runner. > > - Use GL_PROGRAM_SEPARABLE (suggested by Tapani). This allows > > multi-stage SSO programs to optimize internal interfaces, while > > still making the end-stages separable. > > When using SSO ENABLED in shader_runner each stage is linked as a > separte program here you are creating multi-stage SSO programs. Unless > you are combining the program with another SSO program enabling SSO > doesn't seem very useful. Ideally we would capture and combine specific > stages but that would get complicated which is why I just linked > everything as separate programs in shader_runner.
Hmm, good point. Given that we're using the same file format, I'd like both run.c and shader_runner to have the same semantics. I saw that you were using GL_PROGRAM_SEPARABLE, but I didn't noticed that you were creating separate programs for each. I'm happy to respin this to use glCreateProgramv instead, which is about 4 lines of code and should match the Piglit behavior. How does that sound? I don't think the difference will matter much in practice - every SSO case I've looked at has a single stage per program, anyway.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev