{"action":"created","issue":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/362","repository_url":"https://api.github.com/repos/KhronosGroup/glslang","labels_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/362/labels{/name}","comments_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/362/comments","events_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/362/events","html_url":"https://github.com/KhronosGroup/glslang/issues/362","id":163228074,"number":362,"title":"Complete HLSL -> SPIR-V translator","user":{"login":"johnkslang","id":5607714,"avatar_url":"https://avatars3.githubusercontent.com/u/5607714?v=3","gravatar_id":"","url":"https://api.github.com/users/johnkslang","html_url":"https://github.com/johnkslang","followers_url":"https://api.github.com/users/johnkslang/followers","following_url":"https://api.github.com/users/johnkslang/following{/other_user}","gists_url":"https://api.github.com/users/johnkslang/gists{/gist_id}","starred_url":"https://api.github.com/users/johnkslang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnkslang/subscriptions","organizations_url":"https://api.github.com/users/johnkslang/orgs","repos_url":"https://api.github.com/users/johnkslang/repos","events_url":"https://api.github.com/users/johnkslang/events{/privacy}","received_events_url":"https://api.github.com/users/johnkslang/received_events","type":"User","site_admin":false},"labels":[{"id":376039236,"url":"https://api.github.com/repos/KhronosGroup/glslang/labels/HLSL","name":"HLSL","color":"0e8a16","default":false},{"id":315375642,"url":"https://api.github.com/repos/KhronosGroup/glslang/labels/Missing%20Functionality","name":"Missing Functionality","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":35,"created_at":"2016-06-30T18:04:45Z","updated_at":"2017-06-01T12:09:19Z","closed_at":null,"body":"Requested HLSL features. If it's checked, it's been implemented and working for some workload. If a checked feature is not working correctly, there should be an issue reporting the incorrect behavior. A missing feature should be requested here.\r\n\r\n- [x] geometry, domain, and hull shaders\r\n- [x] member methods inside a structure, see issue #535\r\n- [ ] full pass through of attributes on loops/if/switch, e.g., [unroll], [flatten], etc., see issue #836 \r\n- [ ] Map`half` to `float`.  See issue #492.\r\n- [ ] namespace (about half done)\r\n- conversions\r\n  - [x] structure cast of scalar: `PS_OUTPUT __output__ = (PS_OUTPUT)(scalar)`\r\n  - [ ] inout arguments needing bidirectional conversion\r\n  - [x] smearing implicit-conversion\r\n  - [x] vector truncation conversion\r\n  - [x] vector of size 1 vs. scalar\r\n- [x] Basic RWBuffer support\r\n- [x] deference of textures\r\n- [x] arbitrary (structure) texture return-type, see issue #569.\r\n- [x] sub-vec4 return types from sampling\r\n- compute shaders\r\n  - [x] numthreads\r\n  - [x] SV_DispatchThreadID -> gl_GlobalInvocationID\r\n  - [x] groupshared -> shared\r\n- HLSL-specific preprocessing\r\n  - [ ] trailing () parens are required/prohibited with an empty argument list in #defines\r\n  - [ ] #include support\r\n  - [ ] -D like specification of macros to define\r\n- [x] **class** keyword, member functions, variables, static and non static\r\n- [ ] **class** inheritance from **interface** see https://msdn.microsoft.com/en-us/library/windows/desktop/ff471421(v=vs.85).aspx\r\n- [x] Multi-dimensional arrays, ala float myfloat[4][5];\r\n- [x] minN types, ala https://msdn.microsoft.com/en-us/library/windows/desktop/bb509646(v=vs.85).aspx.\r\n- [x] vertical path hookup through to SPIR-V generation\r\n- [x] generic preprocessor (same as GLSL)\r\n- [x] scanner (keywords, identifiers, etc.)\r\n- [x] basic types: all int/uint/float/double scalar/vector/matrix\r\n- [x] basic recursive-decent language grammar: declarations, expressions, statements, loops, if-else, functions\r\n- [x] parsing of semantics, annotations, registers, etc. on declarations\r\n- [x] parsing of attributes on loops/if/switch, e.g., [unroll], [flatten], etc.\r\n- [x] basic symbol-table scoping\r\n- [x] switch statements, { } initializers, typedef\r\n- [x] templatized vector/matrix/etc. declaration grammar\r\n- [x] base set of all intrinsics mappable to existing operators\r\n- [x] HLSL-specific intrinsics, mapped to new operators\r\n- [x] vec1/mat1xN/matNx1-based, etc.\r\n- [x] DX10 style sampler declarations\r\n- [ ] immediate (literal) samplers\r\n- [ ] DX9 style sampler declarations\r\n- [x] 2DMS and Buffer texture support\r\n- [x] method-based image/texture lookup\r\n- [x] cbuffer/tbuffer\r\n- [x] register and packoffset for buffers\r\n- [x] in/out/inout qualifiers, e.g, void MyFunc(out float x)\r\n- [x] default parameters, e.g, void MyFunc(float x=3)\r\n- [x] overloaded function signature selection under implicit type conversion\r\n- DX12 and beyond\r\n  - [x] syntax: ConstantBuffer<Type>\r\n  - [ ] Shading language 6.0 intrinsics: Wave Query,Wave Vote,Wave Broadcast,Wave Reduction,Wave Scan and Prefix,Quad-wide Shuffle operations,etc..\r\n- [ ] printf\r\n"},"comment":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/comments/305474575","html_url":"https://github.com/KhronosGroup/glslang/issues/362#issuecomment-305474575","issue_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/362","id":305474575,"user":{"login":"LoopDawg","id":28611267,"avatar_url":"https://avatars3.githubusercontent.com/u/28611267?v=3","gravatar_id":"","url":"https://api.github.com/users/LoopDawg","html_url":"https://github.com/LoopDawg","followers_url":"https://api.github.com/users/LoopDawg/followers","following_url":"https://api.github.com/users/LoopDawg/following{/other_user}","gists_url":"https://api.github.com/users/LoopDawg/gists{/gist_id}","starred_url":"https://api.github.com/users/LoopDawg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LoopDawg/subscriptions","organizations_url":"https://api.github.com/users/LoopDawg/orgs","repos_url":"https://api.github.com/users/LoopDawg/repos","events_url":"https://api.github.com/users/LoopDawg/events{/privacy}","received_events_url":"https://api.github.com/users/LoopDawg/received_events","type":"User","site_admin":false},"created_at":"2017-06-01T12:09:19Z","updated_at":"2017-06-01T12:09:19Z","body":"@ClemensRoegner  - ok, glad it's OK now!\r\n"}}
{"actor":{"display_login":"LoopDawg"}}