| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Duh.
Fixes issues identified by Klocwork analysis:
Pointer 'table' returned from call to function 'calloc' at line 115
may be NULL and will be dereferenced at line 117.
and
Suspicious dereference of pointer 'table' before NULL check at line
119.
NOTE: This is a candidate for the stable branches.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Acked-by: Chad Versace <[email protected]>
Acked-by: Kenneth Graunke <[email protected]> (v1)
|
|
|
|
|
| |
Useful when debugging to find the number of texture objects, shader
programs, etc.
|
|
|
|
|
|
|
| |
INLINE is still seen in some files (some generated files, etc) but this
is a good start.
Acked-by: Kenneth Graunke <[email protected]>
|
| |
|
|
|
|
| |
(cherry picked from commit 535742d75f0096b22d1b8ff203ae561167af18f7)
|
|
|
|
|
| |
Fixes fd.o bug 27340.
(cherry picked from commit 8fe3b3f66ae57a1a6eca7f6dcb0455e14ad92075)
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove const qualifier from _mesa_HashLookup() table parameter to
avoid LOCK/UNLOCK warnings in the function body.
Signed-off-by: Brian Paul <[email protected]>
(cherry picked from commit 3094adb3caeb90124359db2356df3bf8ee94800a)
|
|
|
|
|
|
| |
Signed-off-by: Brian Paul <[email protected]>
(cherry picked from commit 7c7247ddbf6e3f7f93e44c1cb52490044f1a2215)
|
|
|
|
| |
If the walk callback called _mesa_HashRemove() we'd deadlock.
|
|
|
|
| |
Windows threads block if one over-unlocks them.
|
|
|
|
| |
of -I flags.
|
| |
|
| |
|
|
|
|
|
| |
callback function.
Added _mesa_HashWalk() to walk over all entries in a hash table with callback.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
in a hash table.
Added _mesa_test_hash_functions() for unit testing.
Updated comments, etc.
|
| |
|
| |
|
|
|
|
| |
allocates memory (like FreeBSD).
|
|
|
|
|
|
|
|
| |
1. Remove all.h and PC_HEADER junk.
2. Rolled mem.c and mem.h into imports.c and imports.h
3. Include imports.h instead of mem.h
Restore _mesa_create/initialize_context() to be like they were in 4.0.4
New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
|
| |
|
|
|
|
| |
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|