<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 18, 2015, at 5:13 PM, David Turnbull via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">On Fri, Dec 18, 2015 at 2:31 PM, Janosch Hildebrand via swift-users <span dir="ltr" class=""><<a href="mailto:swift-users@swift.org" target="_blank" class="">swift-users@swift.org</a>></span> wrote:<br class=""><div class="gmail_quote"><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">You will also want to have this code in the same module that is using this type.</div><div class="">If you're using these types from another module you're limited to unspecialized generics which are (unsurprisingly) very slow.</div></div></blockquote><div class=""><br class=""></div></span><div class="">This is becoming clear. Hopefully these patterns can be optimized across modules eventually. It's easy enough to write a pre-processor that expands the generics into four specializations. But it doesn't solve everything so not a priority.</div></div></div></div></div></div></div></blockquote><div><br class=""></div><div>We do want to be able to perform these sorts of optimizations (among others) across module boundaries. The reason that it has not been implemented yet is that the model for when/how one could (for instance) inline across module boundaries is not finalized. This will be possible once the resilience feature is complete.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><span class=""><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">And since you probably need to drop generics anyway it might make sense to simply wrap the respective GLKit types on OS X and iOS for the GLFloat variants as they are already highly optimized. I have some wrappers for the GLKMatrix and GLKVector types lying around in my own OpenGL wrapper (incidentally also named SwiftGL ;-)) which might save you some typing if you're interested...</div></div></blockquote><div class=""><br class=""></div></span><div class="">I'm trailblazing cross-platform OpenGL in Swift. Given there's only one other platform, the key question is, "Does it work on Linux?"<br class=""></div><div class=""><br class=""></div><div class="">Is your SwiftGL online somewhere? A cursory search didn't yield anything. </div><div class=""><br class=""></div><div class=""><span style="font-size:13px" class="">-david (</span><a href="https://github.com/AE9RB/SwiftGL" style="font-size:13px" target="_blank" class="">https://github.com/AE9RB/SwiftGL</a><span style="font-size:13px" class="">)</span><br class=""></div><div class=""><br class=""></div></div></div></div>
</div><br class=""></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=BsPB5S3Z2usbY-2FzcCsd-2F2r4MihYe9FiKHjzH65yItK51JWDl7aQavPJBRuNCkyGcLUPAizStAOeTZuOlaGao-2FJa3Miv4n-2BgzQlHRdPF0sMoL30RYR2e5rOsTCmbDpsyG2mQEteJBWLYZC2FKu-2FV37Oi2FxWOlabUBw94Ph6vHNEAwKoKVSmjpVKVgxClb8M2Q1tBdG0IVYz882G5kyMdPjtt2yKaAOkDuBHnZj-2FpfYQ-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;" class="">
_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-users<br class=""></div></blockquote></div><br class=""></body></html>