{"action":"created","issue":{"url":"https://api.github.com/repos/servo/webrender/issues/1506","repository_url":"https://api.github.com/repos/servo/webrender","labels_url":"https://api.github.com/repos/servo/webrender/issues/1506/labels{/name}","comments_url":"https://api.github.com/repos/servo/webrender/issues/1506/comments","events_url":"https://api.github.com/repos/servo/webrender/issues/1506/events","html_url":"https://github.com/servo/webrender/issues/1506","id":244445001,"number":1506,"title":"Tips from Intel GPU guide","user":{"login":"kvark","id":107301,"avatar_url":"https://avatars1.githubusercontent.com/u/107301?v=4","gravatar_id":"","url":"https://api.github.com/users/kvark","html_url":"https://github.com/kvark","followers_url":"https://api.github.com/users/kvark/followers","following_url":"https://api.github.com/users/kvark/following{/other_user}","gists_url":"https://api.github.com/users/kvark/gists{/gist_id}","starred_url":"https://api.github.com/users/kvark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvark/subscriptions","organizations_url":"https://api.github.com/users/kvark/orgs","repos_url":"https://api.github.com/users/kvark/repos","events_url":"https://api.github.com/users/kvark/events{/privacy}","received_events_url":"https://api.github.com/users/kvark/received_events","type":"User","site_admin":false},"labels":[{"id":263326146,"url":"https://api.github.com/repos/servo/webrender/labels/help%20wanted","name":"help wanted","color":"159818","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-07-20T17:49:56Z","updated_at":"2018-03-16T13:25:48Z","closed_at":"2018-03-16T13:25:48Z","author_association":"MEMBER","body":"Guide: https://software.intel.com/sites/default/files/managed/3a/93/6th-gen-graphics-api-dev-guide-1.1.pdf\r\n\r\nSome stuff seems to be relevant to us:\r\n1. Avoid read hazards between sample instructions. For example, the UV coordinate of the next sample instruction is dependent upon the results of the previous sample operation.\r\n2. Define input geometry in structure of arrays (SOA) instead of array of structures \r\n(AOS) layouts for vertex buffers, for example, by providing multiple streams (one for \r\neach attribute) versus a single stream containing all attributes.\r\n3. Use discard (or other kill pixel operations) where output will not contribute to the \r\nfinal color in the render target.\r\n4. Use medium precision for OpenGL ES contexts, for improved performance. \r\n5. Textures with power-of-two dimensions will have better performance in general.\r\n"},"comment":{"url":"https://api.github.com/repos/servo/webrender/issues/comments/373712309","html_url":"https://github.com/servo/webrender/issues/1506#issuecomment-373712309","issue_url":"https://api.github.com/repos/servo/webrender/issues/1506","id":373712309,"user":{"login":"kvark","id":107301,"avatar_url":"https://avatars1.githubusercontent.com/u/107301?v=4","gravatar_id":"","url":"https://api.github.com/users/kvark","html_url":"https://github.com/kvark","followers_url":"https://api.github.com/users/kvark/followers","following_url":"https://api.github.com/users/kvark/following{/other_user}","gists_url":"https://api.github.com/users/kvark/gists{/gist_id}","starred_url":"https://api.github.com/users/kvark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvark/subscriptions","organizations_url":"https://api.github.com/users/kvark/orgs","repos_url":"https://api.github.com/users/kvark/repos","events_url":"https://api.github.com/users/kvark/events{/privacy}","received_events_url":"https://api.github.com/users/kvark/received_events","type":"User","site_admin":false},"created_at":"2018-03-16T13:25:48Z","updated_at":"2018-03-16T13:25:48Z","author_association":"MEMBER","body":"Alright:\r\n  1. Let's keep this in mind when investigating shader performance bottlenecks. I don't think there is anything outstanding right now that can be addressed on this front, but yes, we do make quite a few dedendent fetches, especially in vertex shaders.\r\n  2. remains unclear, but I don't think it matters too much for us: we don't use that much of vertex data anyway, mostly fetching it from textures\r\n  3. also unclear, but is important\r\n  4. clear, moved into #2535\r\n  5. our atlas and GPU cache textures are power of 2, so we are good"}}
{"actor":{"display_login":"kvark"}}