{"push_id":666093041,"size":229,"distinct_size":229,"ref":"refs/heads/master","head":"8196d6985c64feff0636114a90babf2a256cc27b","before":"609f9b9390b46adf4b4940c5e89f47bed5ee1e11","commits":[{"sha":"f98c3f3e44abb0c8cb158c589418def111d72052","author":{"email":"822ec91a7ef82248fd36162ca8ac3283eba70848@linux.intel.com","name":"Neil Roberts"},"message":"i965/fs: Improve a comment about stripping trailing zeroes\n\nOriginally I wrote that removing the first parameter doesn't work but\nI didn't know why. I now found a mention of this in the PRM so it's\nprobably worthing adding it to the comment.","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/f98c3f3e44abb0c8cb158c589418def111d72052"},{"sha":"5e0dca62a7c8d02ab01bec4259cc67324bb2075d","author":{"email":"2b237cafb16dc45038e85df6c85e74e6d899eba9@intel.com","name":"Ian Romanick"},"message":"prog_to_nir: OPCODE_EXP is not nir_op_fexp\n\nIt's a weird thing that provides some values related to 2**x.  It's also\nalready handled by a case in the switch.\n\nSigned-off-by: Ian Romanick <ian.d.romanick@intel.com>\nReviewed-by: Matt Turner <mattst88@gmail.com>\nAcked-by: Jason Ekstrand <jason.ekstrand@intel.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/5e0dca62a7c8d02ab01bec4259cc67324bb2075d"},{"sha":"a45d55f17c7895c55214d2babeb0f0b03442c8a8","author":{"email":"2b237cafb16dc45038e85df6c85e74e6d899eba9@intel.com","name":"Ian Romanick"},"message":"nir: Don't produce nir_op_fexp from GLSL IR\n\nAll paths that produce GLSL IR for NIR lower ir_unop_exp.  All paths\nthat consume NIR will explode if they geta nir_op_fexp.\n\nSigned-off-by: Ian Romanick <ian.d.romanick@intel.com>\nReviewed-by: Matt Turner <mattst88@gmail.com>\nAcked-by: Jason Ekstrand <jason.ekstrand@intel.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/a45d55f17c7895c55214d2babeb0f0b03442c8a8"},{"sha":"e0a17f6e31a8cefc173ced5f53cb2d28a842fbb6","author":{"email":"2b237cafb16dc45038e85df6c85e74e6d899eba9@intel.com","name":"Ian Romanick"},"message":"nir: Delete all traces of nir_op_fexp\n\nNothing produces it, and nothing can consume it.\n\nSigned-off-by: Ian Romanick <ian.d.romanick@intel.com>\nReviewed-by: Matt Turner <mattst88@gmail.com>\nAcked-by: Jason Ekstrand <jason.ekstrand@intel.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/e0a17f6e31a8cefc173ced5f53cb2d28a842fbb6"},{"sha":"ad51f9b4213d90489362d98f5aa2bf1956ef6f53","author":{"email":"2b237cafb16dc45038e85df6c85e74e6d899eba9@intel.com","name":"Ian Romanick"},"message":"nir: Don't produce nir_op_flog from GLSL IR\n\nAll paths that produce GLSL IR for NIR lower ir_unop_log.  All paths\nthat consume NIR will explode if they geta nir_op_flog.\n\nSigned-off-by: Ian Romanick <ian.d.romanick@intel.com>\nReviewed-by: Matt Turner <mattst88@gmail.com>\nAcked-by: Jason Ekstrand <jason.ekstrand@intel.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/ad51f9b4213d90489362d98f5aa2bf1956ef6f53"},{"sha":"3bdbc1e436828606d0b549b9480e7cc28b42d159","author":{"email":"2b237cafb16dc45038e85df6c85e74e6d899eba9@intel.com","name":"Ian Romanick"},"message":"nir: Delete all traces of nir_op_flog\n\nNothing produces it, and nothing can consume it.\n\nSigned-off-by: Ian Romanick <ian.d.romanick@intel.com>\nReviewed-by: Matt Turner <mattst88@gmail.com>\nAcked-by: Jason Ekstrand <jason.ekstrand@intel.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/3bdbc1e436828606d0b549b9480e7cc28b42d159"},{"sha":"c4ac09e30e2520b0ac6d403eb6c77f23e7f24f49","author":{"email":"bcbbb7aa705ec3a5fc5824c01a845186c3d62fca@alum.mit.edu","name":"Ilia Mirkin"},"message":"nv50/ir: only propagate saturate up if some actual folding took place\n\nThe former logic would copy the saturate up to any mul with an immediate\nif there was a subsequent mul with a saturate. However we only want to\ndo that if we collapsed 2 muls by multiplying their immediates (or were\nable to put the immediate in as a post-multiplier).\n\nSigned-off-by: Ilia Mirkin <imirkin@alum.mit.edu>\nCc: mesa-stable@lists.freedesktop.org","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/c4ac09e30e2520b0ac6d403eb6c77f23e7f24f49"},{"sha":"7ee0216e2d576a02de9d938488a6d6ba55ccb115","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir/validate: Validate SSA def parent instructions\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/7ee0216e2d576a02de9d938488a6d6ba55ccb115"},{"sha":"6702ebce5760aae0eb15f410c2a83b6e893b005c","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir: Modernize the out-of-SSA pass\n\nThe out-of-SSA pass was one of the first passes written when getting SSA\nup-and-going (for obvious reasons).  As such, it came before a lot of the\nnifty SSA-based helpers were introduced.  This commit modernizes it so that\nwe're no longer doing nearly as much manual banging on use/def sets.\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/6702ebce5760aae0eb15f410c2a83b6e893b005c"},{"sha":"300d72943675a49091ecb49597b56f7bdfefd22d","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir: Add and use initializer #defines for nir_src and nir_dest\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/300d72943675a49091ecb49597b56f7bdfefd22d"},{"sha":"f72a8d1cf06da55c215a61c085e1f29a5102182b","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir: Add a function for rewriting the condition of an if statement\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/f72a8d1cf06da55c215a61c085e1f29a5102182b"},{"sha":"ecc2cfc8b60191c1df340467e086cd15b52b9fb7","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir: Use nir_instr_rewrite_src in copy propagation\n\nWe were rolling our own rewrite_src variant in copy-propagation.  Let's\nstop doing that and use the ones in core NIR.\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/ecc2cfc8b60191c1df340467e086cd15b52b9fb7"},{"sha":"258b4194c8314ffc57ff676ad2528b741b47031e","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"gallium/double_list: s/INLINE/inline and remove the p_compiler include\n\nAcked-by: Connor Abbott <cwabbott0@gmail.com>\nReviewed-by: Rob Clark <robclark@freedesktop.org>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/258b4194c8314ffc57ff676ad2528b741b47031e"},{"sha":"7a30668ad665f3315106e1a959c6186dea79a24a","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"util: Move gallium's linked list to util\n\nThe linked list in gallium is pretty much the kernel list and we would like\nto have a C-based linked list for all of mesa.  Let's not duplicate and\njust steal the gallium one.\n\nAcked-by: Connor Abbott <cwabbott0@gmail.com>\nReviewed-by: Rob Clark <robclark@freedesktop.org>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/7a30668ad665f3315106e1a959c6186dea79a24a"},{"sha":"b31d8983ba5d68f3bcb5520b9281a4553d66fb95","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"util/list: Add C99-based iterator macros\n\nv2: Use LIST_ENTRY instead of container_of in iterators\n\nAcked-by: Connor Abbott <cwabbott0@gmail.com>\nReviewed-by: Rob Clark <robclark@freedesktop.org>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/b31d8983ba5d68f3bcb5520b9281a4553d66fb95"},{"sha":"addcf41066d28a5d2d5ed112a65a3958b056bd19","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"util/list: Add list_empty and list_length functions\n\nv2: Don't use C99 when iterating over the list\n\nAcked-by: Connor Abbott <cwabbott0@gmail.com>\nReviewed-by: Rob Clark <robclark@freedesktop.org>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/addcf41066d28a5d2d5ed112a65a3958b056bd19"},{"sha":"2c2cd368aad9167816547aa86009c9cb489255c0","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"util/list: Add a list validation function\n\nAcked-by: Connor Abbott <cwabbott0@gmail.com>\nReviewed-by: Rob Clark <robclark@freedesktop.org>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/2c2cd368aad9167816547aa86009c9cb489255c0"},{"sha":"f752effa087f29faddabac047683d16416d178d9","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir/nir: Use a linked list instead of a hash set for use/def sets\n\nThis commit switches us from the current setup of using hash sets for\nuse/def sets to using linked lists.  Doing so should save us quite a bit of\nmemory because we aren't carrying around 3 hash sets per register and 2 per\nSSA value.  It should also save us CPU time because adding/removing things\nfrom use/def sets is 4 pointer manipulations instead of a hash lookup.\n\nRunning shader-db 50 times with USE_NIR=0, NIR, and NIR + use/def lists:\n\n   GLSL IR Only:        586.4 +/- 1.653833\n   NIR with hash sets:  675.4 +/- 2.502108\n   NIR + use/def lists: 641.2 +/- 1.557043\n\nI also ran a memory usage experiment with Ken's patch to delete GLSL IR and\nkeep NIR.  This patch cuts an aditional 42.9 MiB of ralloc'd memory over\nand above what we gained by deleting the GLSL IR on the same dota trace.\n\nOn the code complexity side of things, some things are now much easier and\nothers are a bit harder.  One of the operations we perform constantly in\noptimization passes is to replace one source with another.  Due to the fact\nthat an instruction can use the same SSA value multiple times, we had to\niterate through the sources of the instruction and determine if the use we\nwere replacing was the only one before removing it from the set of uses.\nWith this patch, uses are per-source not per-instruction so we can just\nremove it safely.  On the other hand, trying to iterate over all of the\ninstructions that use a given value is more difficult.  Fortunately, the\ntwo places we do that are the ffma peephole where it doesn't matter and GCM\nwhere we already gracefully handle duplicates visits to an instruction.\n\nAnother aspect here is that using linked lists in this way can be tricky to\nget right.  With sets, things were quite forgiving and the worst that\nhappened if you didn't properly remove a use was that it would get caught\nin the validator.  With linked lists, it can lead to linked list corruption\nwhich can be harder to track.  However, we do just as much validation of\nthe linked lists as we did of the sets so the validator should still catch\nthese problems.  While working on this series, the vast majority of the\nbugs I had to fix were caught by assertions.  I don't think the lists are\ngoing to be that much worse than the sets.\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/f752effa087f29faddabac047683d16416d178d9"},{"sha":"13facfbd5b067daedc972c1a4fb2f2142fcbc190","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir/search: handle explicitly sized sources in match_value\n\nPreviously, this case was being handled in match_expression prior to\ncalling match_value.  However, there is really no good reason for this\ngiven that match_value has all of the information it needs.  Also, they\nweren't being handled properly in the commutative case and putting it in\nmatch_value gives us that for free.\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/13facfbd5b067daedc972c1a4fb2f2142fcbc190"},{"sha":"e0cfe59c37245d8555202a12b9b29866894d6d18","author":{"email":"b186559eaedf698788888c8a2559b4efb4db10d6@intel.com","name":"Jason Ekstrand"},"message":"nir/search: Assert that variable id's are in range\n\nReviewed-by: Connor Abbott <cwabbott0@gmail.com>","distinct":true,"url":"https://api.github.com/repos/iXit/Mesa-3D/commits/e0cfe59c37245d8555202a12b9b29866894d6d18"}]}