{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/82","labels_url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/82/comments","events_url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/82/events","html_url":"https://github.com/Microsoft/DirectX-Graphics-Samples/issues/82","id":127038746,"number":82,"title":"Collision handling of PSO hash value","user":{"login":"pengliu916","id":5034673,"avatar_url":"https://avatars.githubusercontent.com/u/5034673?v=3","gravatar_id":"","url":"https://api.github.com/users/pengliu916","html_url":"https://github.com/pengliu916","followers_url":"https://api.github.com/users/pengliu916/followers","following_url":"https://api.github.com/users/pengliu916/following{/other_user}","gists_url":"https://api.github.com/users/pengliu916/gists{/gist_id}","starred_url":"https://api.github.com/users/pengliu916/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pengliu916/subscriptions","organizations_url":"https://api.github.com/users/pengliu916/orgs","repos_url":"https://api.github.com/users/pengliu916/repos","events_url":"https://api.github.com/users/pengliu916/events{/privacy}","received_events_url":"https://api.github.com/users/pengliu916/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-16T17:17:43Z","updated_at":"2016-01-17T10:41:11Z","closed_at":null,"body":"Hi \r\n\r\nIn MiniEngine, it seems you guys use hash map to avoid compiling duplicated PSOs (also use hash to avoid expensive duplicated pso bindings). But I can't find anywhere that how you guys handles collisions. So I guess in some case where we have a lot PSOs, we may possibly have incorrect rendering due to PSO hash value collision? (though the possibility is very low)\r\n\r\nAm I miss something or the collision is handled somewhere else?\r\n\r\nThanks\r\n\r\nPeng"},"comment":{"url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/comments/172311196","html_url":"https://github.com/Microsoft/DirectX-Graphics-Samples/issues/82#issuecomment-172311196","issue_url":"https://api.github.com/repos/Microsoft/DirectX-Graphics-Samples/issues/82","id":172311196,"user":{"login":"weltkante","id":5845814,"avatar_url":"https://avatars.githubusercontent.com/u/5845814?v=3","gravatar_id":"","url":"https://api.github.com/users/weltkante","html_url":"https://github.com/weltkante","followers_url":"https://api.github.com/users/weltkante/followers","following_url":"https://api.github.com/users/weltkante/following{/other_user}","gists_url":"https://api.github.com/users/weltkante/gists{/gist_id}","starred_url":"https://api.github.com/users/weltkante/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weltkante/subscriptions","organizations_url":"https://api.github.com/users/weltkante/orgs","repos_url":"https://api.github.com/users/weltkante/repos","events_url":"https://api.github.com/users/weltkante/events{/privacy}","received_events_url":"https://api.github.com/users/weltkante/received_events","type":"User","site_admin":false},"created_at":"2016-01-17T10:41:11Z","updated_at":"2016-01-17T10:41:11Z","body":"I'd guess because it's a sample and because it's not user-input-driven they skipped that to keep the code simpler. In the (very unlikely) event of a collision you'd just treat it as a bug in the shader source which is discovered and fixed like any other bug.\r\n\r\nThe program complexity and runtime performance gains are preferable to the cost of something that is not supposed to happen."}}