{"push_id":829149851,"size":42,"distinct_size":42,"ref":"refs/heads/master","head":"ef7a5638290234a9d1f0574585174539e2c126eb","before":"ff31c243e38332999b617d479a0dca61b15bc1c6","commits":[{"sha":"db280e951a1bcb2318240cb6db296b31abac37cd","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: Add support for linking uniform arrays of arrays\n\nV3: Fix setting of data.location for struct AoA UBO members\n\nV2: Handle arrays of arrays in the same way structures are handled\n\nThe ARB_arrays_of_arrays spec doesn't give very many details on how\nAoA uniforms are intended to be implemented. However in the\nARB_program_interface_query spec there are details that show AoA are\nintended to be handled in a similar way to structs.\n\nIssues 7 from the ARB_program_interface_query spec:\n\n We define rules consistent with our enumeration rules for\n other complex types.  For existing one-dimensional arrays, we enumerate\n a single entry if the array is an array of basic types, or separate\n entries for each array element if the array is an array of structures.\n We follow similar rules here.  For a uniform array such as:\n\n   uniform vec4 a[5][4][3];\n\n we enumerate twenty different entries (\"a[0][0][0]\" through\n \"a[4][3][0]\"), each of which is treated as an array with three elements.\n This is morally equivalent to what you'd get if you worked around the\n limitation in current GLSL via:\n\n    struct ArrayBottom { vec4 c[3]; };\n    struct ArrayMid    { ArrayBottom b[3]; };\n    uniform ArrayMid   a[5];\n\n which would enumerate \"a[0].b[0].c[0]\" through \"a[4].b[3].c[0]\".\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/db280e951a1bcb2318240cb6db296b31abac37cd"},{"sha":"296a7ea471fd327ab60d9723bd395e6b34dc9334","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: add support for initialising sampler AoA\n\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/296a7ea471fd327ab60d9723bd395e6b34dc9334"},{"sha":"3129359ed7461b90fe6ea70641ec7a858dd656de","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: allow AoA to be sized by initializer or constructor\n\nV2: Split out unsized array validation to its own patch as\nsuggested by Samuel.\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/3129359ed7461b90fe6ea70641ec7a858dd656de"},{"sha":"dea0af8f826ca9ad638a158fdaacb2a4436f11d7","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: check that only the outermost array is unsized\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/dea0af8f826ca9ad638a158fdaacb2a4436f11d7"},{"sha":"d337da81f28d6a5a65d0a09f9b1ddf905dc7c3aa","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: dont allow gl_PerVertex to be redeclared as an array of arrays\n\nV3: move patch after fixes to ast for AoA and add const to helper\nas suggested by Ian\n\nV2: move single dimensional array detection into a helper\n\nSigned-off-by: Timothy Arceri <t_arceri@yahoo.com.au>\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/d337da81f28d6a5a65d0a09f9b1ddf905dc7c3aa"},{"sha":"410609c9688d3f6ad808d33928a7d9589a708a40","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: remove dead code in a single pass\n\nCurrently only one ir assignment is removed for each var in a single\ndead code optimisation pass. This means if a var has more than one\nassignment, then it requires all the glsl optimisations to be run again\nfor each additional assignment to be removed.\nAnother pass is also required to remove the variable itself.\n\nWith this change all assignments and the variable are removed in a single\npass.\n\nSome of the arrays of arrays conformance tests that were looping\nthrough 8 dimensions ended up with a var with hundreds of assignments.\n\nThis change helps ES31-CTS.arrays_of_arrays.InteractionFunctionCalls1\ngo from around 3 min 20 sec -> 2 min\n\nES31-CTS.arrays_of_arrays.InteractionFunctionCalls2 went from\naround 9 min 20 sec to 7 min 30 sec\n\nI had difficulty getting the public shader-db to give a consistent result\nwith or without this change but the results seemed unchanged at between\n15-20 seconds.\n\nThomas Helland measured change with shader-db on his machine from\napprox 117 secs to 112 secs.\n\nV3: Simplify freeing of list as suggested by Ian, and spelling fixes.\n\nV2: Add assert to be sure references are counted before assignments.\n\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>\nTested-By: Thomas Helland <thomashelland90@gmail.com>\nTested-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/410609c9688d3f6ad808d33928a7d9589a708a40"},{"sha":"be822b89ac81e1fa66dfa16d108bf1deb29d4db2","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: calculate AoA uniform offset correctly for structs\n\nThis allows the correct offset to be calculated for use in indirect\nindexing of samplers.\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/be822b89ac81e1fa66dfa16d108bf1deb29d4db2"},{"sha":"176e6930e6c24dfce7cc730faa2612d27689a4df","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"i965: add arrays of arrays support for varyings\n\nV2: get the correct vector elements value for outputs\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/176e6930e6c24dfce7cc730faa2612d27689a4df"},{"sha":"261a434996079b29a476a3c67e1e580cf3db76ba","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: add std140 layout support for AoA\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/261a434996079b29a476a3c67e1e580cf3db76ba"},{"sha":"2d7a98de18e4cdd69daa63b09b504d01ad4c9f50","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: add AoA support for atomic counters\n\nThis marks all counters in an AoA as active.\n\nFor AoA all but the innermost array are treated as separate\ncounters/uniforms. The Nvidia binary also goes further and\nfinds inactive counters in the AoA, in future we should do\nthis too, however this gets things working for the time being.\n\nThis change also removes the use of UniformHash for atomic counters,\nthis avoids having to generate name strings used as hash keys.\n\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/2d7a98de18e4cdd69daa63b09b504d01ad4c9f50"},{"sha":"dd89880dc0924162e751141f9388e5dba089d1c0","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: avoid hitting assert for arrays of arrays\n\nAlso add TODO comment about adding proper support\n\nSigned-off-by: Timothy Arceri <t_arceri@yahoo.com.au>\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/dd89880dc0924162e751141f9388e5dba089d1c0"},{"sha":"d1d05c0f85daf3445d9b4c9cebb3940e6a251fa6","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: add AoA support for linking interface blocks with unsized members\n\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/d1d05c0f85daf3445d9b4c9cebb3940e6a251fa6"},{"sha":"132b9e9dd97a2ab7d3be7945b3d990e94fd1513a","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: add AoA support for an inteface with unsized array members\n\nAdd support for setting the max access of an unsized member\nof an interface array of arrays.\n\nFor example ifc[j][k].foo[i] where foo is unsized.\n\nReviewed-by: Ian Romanick <ian.d.romanick@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/132b9e9dd97a2ab7d3be7945b3d990e94fd1513a"},{"sha":"082b1ca2fe75a9b4c2936d4d918b5d0d4f0c6c50","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: Add support for lowering interface block arrays of arrays\n\nV2: make array processing functions static\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/082b1ca2fe75a9b4c2936d4d918b5d0d4f0c6c50"},{"sha":"d9f1f2bbc6690e7ef85d79a857dbb64cf5fd1cd8","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: Add AoA support when checking for non-const index\n\nWhen checking for non-const indexing of interfaces\ntake into account arrays of arrays\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/d9f1f2bbc6690e7ef85d79a857dbb64cf5fd1cd8"},{"sha":"8cf1333b189b73dccdbccaca7e113f7b467982fa","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: link uniform block arrays of arrays\n\nThis adds support for setting up the UniformBlock structures for AoA\nand also adds support for resizing AoA blocks with a packed layout.\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/8cf1333b189b73dccdbccaca7e113f7b467982fa"},{"sha":"bb5aeb854915ba67abc56257f830d002c956439e","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: build ubo name and indexing offset for AoA\n\nV2: split out unrelated change as suggested by Samuel\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/bb5aeb854915ba67abc56257f830d002c956439e"},{"sha":"f22b7933e2e9c31b3730f5b1d9c060d2e1377d20","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: allow for AoA in calculating offset to ubo start region\n\nReviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/f22b7933e2e9c31b3730f5b1d9c060d2e1377d20"},{"sha":"8da9e154b7a2463369b32a10742af3a5695eb2ab","author":{"email":"7f85c8176b2576ffafd04ac63cd29ed35ff86cb6@yahoo.com.au","name":"Timothy Arceri"},"message":"glsl: Allow arrays of arrays in GLSL ES 3.10 and GLSL 4.30\n\nV3: use a check_*_allowed style function for requirements checking\nrather than has_* which doesn't encapsulate the error message\n\nV2: add missing 's' to the extension name in error messages\n and add decimal place in version string\n\nReviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/8da9e154b7a2463369b32a10742af3a5695eb2ab"},{"sha":"2034bdd46ce757a18fdb3498f6a0232db16522f3","author":{"email":"4c996f2f093ddd0585a556460b4cc3ba555546ef@gmail.com","name":"Emil Velikov"},"message":"nir: include nir_instr_set.h in the tarball\n\nSigned-off-by: Emil Velikov <emil.velikov@collabora.com>","distinct":true,"url":"https://api.github.com/repos/bminor/mesa-mesa/commits/2034bdd46ce757a18fdb3498f6a0232db16522f3"}]}