alan-baker
alan-baker
This is low priority, but Clspv assumes no aliasing is present (it generates the GLSL450 memory model). There should be some way to have Clspv produce *Aliased* decorations (via a...
Generate SPIR-V for SPV_KHR_vulkan_memory_model.
**This is not planned to be addressed in the near term. This is merely recording ideas to address the problem.** CLSPV is a prototype compiler. It is not intended that...
``` struct a { int x; int y; }; kernel void foo(global struct a* struct_out, int n) { struct a local_a; if (n == 0) { local_a.x = 0; }...
Constant generation in SPIRProducerPass has a case for a constant being a null value `Cst->isNullValue()`. SPIR-V does not allow all types to be used with OpConstantNull (e.g. samplers and images)....
``` __constant int const_array[] = {0,1,2,3}; void bar(__global int* data, __constant int* c1, __constant int* c2, int x) { __constant int* c = (x == 0) ? c1 : c2;...
``` #!amber SHADER vertex vs PASSTHROUGH SHADER fragment test GLSL #version 450 core layout(location=0) out vec4 color_out; void main() { color_out = vec4(1.0, 0.0, 0.0, 1.0); } END BUFFER color_buffer...
It appears Amber only supports 2D images currently. It would be nice to support: * 1D * 3D * Cube * Arrayed Amber probably needs a way to declare a...
It would be useful support an EXPECT command that can compare elements in different buffers. Something like: ``` EXPECT {buffer_name} IDX # {comparator} {buffer_name} IDX # ``` This would perform...
Right now the EXPECT command uses `IDX` which is a byte-offset. It would likely be useful to measure in terms of the buffer's data type. So `ELEM_IDX` of 5 of...