History log of /external/mesa3d/src/mesa/main/hash.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
aded1160e5e722610dd474583d78e745291cbd75 30-Jul-2015 Matt Turner <mattst88@gmail.com> hash: Add _mesa_HashRemoveLocked() function.

Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
fd00c738c08e54c9dfdc195e59f780f30d2f9e07 20-Mar-2015 Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> mesa/main: Remove _mesa_HashClone()

I didn't find this being used anywhere.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
/external/mesa3d/src/mesa/main/hash.h
82291f64e378825e1c716742fc215db99fc8cbb2 13-Nov-2013 Fredrik Höglund <fredrik@kde.org> mesa: Add functions for doing unlocked hash table lookups

This patch adds functions for locking/unlocking the mutex, along with
_mesa_HashLookupLocked() and _mesa_HashInsertLocked()
that do lookups and insertions without locking the mutex.

These functions will be used by the ARB_multi_bind entry points to
avoid locking/unlocking the mutex for each binding point.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/hash.h
60f435319c7046658ece72167c42e09c7a7a44e0 27-Aug-2013 Timothy Arceri <t_arceri@yahoo.com.au> mesa: Add a clone function to mesa hash

V2: const qualify table parameter

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
3998cfa933dcd9134b75d9f0ae2c9cfcd6f2ee45 05-Jun-2013 Rico Schüller <kgbricola@web.de> mesa: remove outdated version lines in comments

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
3d8d5b298a268b119d840bc9bae0ee9e0c9244a9 21-Apr-2013 Kenneth Graunke <kenneth@whitecape.org> mesa: Restore 78-column wrapping of license text in C-style comments.

The previous commit introduced extra words, breaking the formatting.

This text transformation was done automatically via the following shell
command:
$ git grep 'THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY' | sed 's/:.*$//' | xargs -I {} sh -c 'vim -e -s {} < vimscript

where 'vimscript' is a file containing:
/THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY/;/\*\// !fmt -w 78 -p ' * '
:wq

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
96ff2edc73ccf11d4d198ba3665507f73ae4a9f7 21-Apr-2013 Kenneth Graunke <kenneth@whitecape.org> mesa: Add "OR COPYRIGHT HOLDERS" to license text disclaiming liability.

This brings the license text in line with the MIT License as published
on the Open Source Initiative website:

http://opensource.org/licenses/mit-license.php

Generated automatically be the following shell command:
$ git grep 'THE AUTHORS BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \
sed -i 's/THE AUTHORS/THE AUTHORS OR COPYRIGHT HOLDERS/' {}

This introduces some wrapping issues, to be fixed in the next commit.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
dd404bc94f78a1766527becee03f8ef6ae3a799b 21-Apr-2013 Kenneth Graunke <kenneth@whitecape.org> mesa: Change "BRIAN PAUL" to "THE AUTHORS" in license text.

Generated automatically be the following shell command:
$ git grep 'BRIAN PAUL BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \
sed -i 's/BRIAN PAUL/THE AUTHORS/' {}

The intention here is to protect all authors, not just Brian Paul. I
believe that was already the sensible interpretation, but spelling it
out is probably better.

More practically, it also prevents people from accidentally copy &
pasting the license into a new file which says Brian is not liable when
he isn't even one of the authors.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/hash.h
6991c2922f530d88622900039c24bd04d9c15ce7 07-Nov-2012 Eric Anholt <eric@anholt.net> mesa: Convert the hash table for GL object ids to the open-addressing hash.

The previous 1023-entry chaining hash table never resized, so it was very
inefficient when there were many objects live. While one could have an even
more efficient implementation than this (keep an array for genned names with
packed IDs, or take advantage of the fact that key == hash or key ==
*(uint32_t *)data to store less data), this is fairly fast, and I want a nice
replacement hash table for other parts of Mesa, too.

It improves Minecraft performance 12.3% +/- 1.4% (n=9), dropping hash lookups
from 8% of the profile to 0.5%.

I also tested cairo-gl, which should be a pessimal workload for this hash
table: around 247000 FBOs created and destroyed, only around 65 live at any
time, and few lookups of them between creation and destruction. No
statistically significant performance difference at n=76 (mean 20.3/20.4
seconds, sd 2.8/3.2 seconds). If I remove the >20 seconds outliers that
appear to be due to thermal throttling, there's possibly a .97% +/- 0.31%
performance win (n=61/59). The choice of cutoff for outliers feels a lot like
cooking the data, but I've gone through this process 3 times for minor
iterations of the code with the same conclusion each time.

Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Chad Versace <chad.versace@linux.intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
/external/mesa3d/src/mesa/main/hash.h
f1b33c74dc11b97a86a7f0e9cbe4cb168b2b9540 11-Jan-2012 Brian Paul <brianp@vmware.com> mesa: add _mesa_HashNumEntries() function

Useful when debugging to find the number of texture objects, shader
programs, etc.
/external/mesa3d/src/mesa/main/hash.h
107a2ec9eef53dee038c1bcc0d956c5667e0b68f 16-Feb-2010 Brian Paul <brianp@vmware.com> mesa: Lock mutex around _mesa_HashLookup linked list chase.

Remove const qualifier from _mesa_HashLookup() table parameter to
avoid LOCK/UNLOCK warnings in the function body.

Signed-off-by: Brian Paul <brianp@vmware.com>

(cherry picked from commit 3094adb3caeb90124359db2356df3bf8ee94800a)
/external/mesa3d/src/mesa/main/hash.h
9f6798d6e1a59b8a0ca258d49d6afae128735f41 30-Jun-2006 Brian Paul <brian.paul@tungstengraphics.com> Added _mesa_HashDeleteAll() to delete all entries in a hash table with a
callback function.
Added _mesa_HashWalk() to walk over all entries in a hash table with callback.
/external/mesa3d/src/mesa/main/hash.h
c74ffb8266dc55914cba6a37143b38b5fd05b01c 24-Jan-2005 Brian Paul <brian.paul@tungstengraphics.com> Added _mesa_HashNextEntry() function to allow walking over all entries
in a hash table.
Added _mesa_test_hash_functions() for unit testing.
Updated comments, etc.
/external/mesa3d/src/mesa/main/hash.h
6dc85575000127630489b407c50a4b3ea87c9acb 17-Jul-2003 Keith Whitwell <keith@tungstengraphics.com> Merge Jose's documentation and core Mesa changes from embedded branch
/external/mesa3d/src/mesa/main/hash.h
9ac51f57efe07ed43a1e4224a7f5daddec401b36 05-Jun-2003 Ian Romanick <idr@us.ibm.com> Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.
/external/mesa3d/src/mesa/main/hash.h
c84e84a7342f4a10a69c0ab96f649f54586afb9d 16-Sep-2002 Brian Paul <brian.paul@tungstengraphics.com> doxygen comments
/external/mesa3d/src/mesa/main/hash.h
22144ab7552f0799bcfca506bf4ffa7f70a06649 12-Mar-2001 Gareth Hughes <gareth@valinux.com> Consistent copyright info (version number, date) across all files.
/external/mesa3d/src/mesa/main/hash.h
9b8094a663f08b50f01e3bcce8d22e4415b253e4 21-Mar-2000 Brian Paul <brian.paul@tungstengraphics.com> removed a few const keywords because of mutex calls
/external/mesa3d/src/mesa/main/hash.h
bb79790662f56eb71aafd3f020cd86ad810f56b2 24-Jan-2000 Brian Paul <brian.paul@tungstengraphics.com> prefixed hash functions with _mesa_
/external/mesa3d/src/mesa/main/hash.h
fbd8f212c3866ec98c1d8c9d3db3ddb7e7c479a5 11-Nov-1999 Brian Paul <brian.paul@tungstengraphics.com> first big check-in of new Mesa 3.3 code
/external/mesa3d/src/mesa/main/hash.h
afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1c 19-Aug-1999 jtg <jtg> Initial revision
/external/mesa3d/src/mesa/main/hash.h