c984d73a7f
Fixes for API changes done in Blender 2.80
...
Seems to work with both Blender 2.79 and 2,80.
2019-06-03 09:51:07 +02:00
a04a10068a
Prevent crash when generating JSONString
...
The issue is discussed in rBBB4726ee0c9c05
2018-09-06 15:51:36 +02:00
4726ee0c9c
Produce benchmark JSON schema v2
...
- No more '(Display)' strings in the GPU names, but store devices as
`{'name': name, 'type': 'CPU/CUDA/OPENCL', 'is_display': bool}`
- Introduces testing with py.test & pipenv. The test suite is far from
complete, though.
2018-08-28 12:11:01 +02:00
363a7621ab
Bumped version to 1.0b3.dev0
2018-08-17 11:13:40 +02:00
99fdb422ef
Fixed bug in peak memory stats + added unit test
2018-08-16 17:23:47 +02:00
0bfdfb87bc
Cleanup of stats regexps
2018-08-16 17:23:25 +02:00
84faded0cc
Fix T56314: wrong operating system records for Ubuntu
...
We now bundle `distro` to find Linux distribution info. Its source is
https://github.com/nir0s/distro
2018-08-16 15:56:08 +02:00
03ad327ca2
Include Benchmark Client version information in the result JSON
...
This part of the JSON schema isn't required yet. When missing, the version
is assumed to be -∞
2018-08-16 14:43:29 +02:00
c4139613f8
Accidentally bumped the version nr, back to 1.0b2.dev0
2018-08-16 10:40:42 +02:00
6f180cc6c4
Scripted version bump + release branch creation
2018-08-15 18:37:29 +02:00
fbcc6dc511
Pass hostname to auth token request
...
Related to T56381
2018-08-15 13:06:45 +02:00
18a99a437a
Include current time in error report
2018-08-14 17:27:53 +02:00
0eea078802
Include version in HTTP User-Agent header
...
This allows us to check on the server side whether the user is still using
an up-to-date benchmark client or not.
2018-08-14 17:20:13 +02:00
4fea9526b9
Allow users to save an error report
2018-08-14 17:19:37 +02:00
1a63105d5b
Logging fixes
2018-08-14 17:15:41 +02:00
e5bf3b1947
Store version number of the benchmark client in a separate python file
2018-08-14 17:15:36 +02:00
13b766de4a
Moved setup.cfg to the correct place
2018-08-14 16:47:00 +02:00
b64577df2e
Run submission in a separate thread, and more explicit state
...
Also more explicit timeouts and an overall better handling of errors.
2018-08-14 16:36:43 +02:00
5d86b87f40
Better handling of HTTP connection errors during submission
2018-08-14 15:38:46 +02:00
bf61aafdac
Remove unused variable
2018-08-14 15:38:25 +02:00
2da2105763
Wordwrap: prevent infinite loop + cache result
...
Previously a line that was too long but didn't contain spaces would cause
an infinite loop and hang Blender. Now we just hard-break each line when
there are no spaces to be found.
The result of word_wrap() is now also cached, so that redraws are more
efficient.
2018-08-14 15:38:05 +02:00
7b88d7704c
Fix T56372: Properly show error messages when submission fails
...
This also introduces a word-wrapping function that takes variable character
widths into account.
2018-08-14 15:08:58 +02:00
9ed933760c
Moved some drawing code into separate functions
2018-08-14 13:55:01 +02:00
2999d063db
Default global state variables to the correct type
...
Code gets easier to understand if variables don't change their type.
2018-08-14 13:49:47 +02:00
088427a833
More protection with G.progress_lock
2018-08-14 13:48:07 +02:00
7ecc2cd22b
Protect setting G.result_dict
with G.progress_lock
2018-08-14 13:44:07 +02:00
c915a486cb
Use context manager for handling G.progress_lock
...
Manually calling `G.progress_lock.release()` is error-prone as it's not
called when an exception is raised while the lock is acquired.
2018-08-14 13:43:29 +02:00
d252f75acf
Separated space/__init__.py
into a few modules
...
- `draw.py` contains all the drawing code
- `global_state.py` contains the `G` class introduced in the previous commit.
2018-08-14 13:38:05 +02:00
4ae3f418c6
Formatting
2018-08-14 13:34:20 +02:00
9af1ca1c49
Moved global state into a class G
...
This allows other modules to do `from benchmark.space import G` and use
the global state too. This is possible because the name `G` keeps
referencing the same object (a class) even when resetting (contrary to
the old `global_xxx = None`, which assigns a new object reference).
2018-08-14 13:33:56 +02:00
cfbbc912e7
Removed unused imports
2018-08-14 12:17:39 +02:00
58644b911f
Formatting according to PEP-8 using autopep8
...
I've added a `setup.cfg` file with `[pep8]` section to make it use the
120-char line length limit we have for all Blender/Python scripts.
2018-08-14 12:14:54 +02:00
05c01f2b21
PEP8: import of built-in modules at the top of the file
...
This also prevents double import of `sys` and `os`.
2018-08-14 12:07:26 +02:00
d026cc12f7
Remove debug only code
2018-08-10 20:18:29 +02:00
3271a728a2
Make sure Blender's build date is always in expected format
2018-08-10 20:16:19 +02:00
9ab37dbb45
Ensure CPU topology information is integers on all platforms
...
On Windows it was a string, go figure.
2018-08-10 19:48:18 +02:00
a2cf5eb571
Add device index to OpenCL devices
2018-08-10 14:38:11 +02:00
61e56c2d8e
Allow sharing only once
2018-08-10 14:14:14 +02:00
e85faa1ab6
Interface tweaks
2018-08-10 12:29:59 +02:00
30199bcbec
Professional styling of 'auth token received' HTML page
2018-08-10 11:55:56 +02:00
b32052f1ed
Make version to be Beta
2018-08-10 10:48:37 +02:00
66477fdf43
Make final blurb more final
2018-08-10 10:46:15 +02:00
a2d7fd1b37
Wrap GPU names into multiple lines
2018-08-10 10:43:29 +02:00
1defd9395a
Moved submission module into benchmark module
2018-08-10 10:35:05 +02:00
0e1d2810fe
Implement requesting device by index
...
For now main goal is to be able to request specific Vega card.
In the longer term we can use this to select compute device
which is a non-display, or the one which is on specific PCI
slot or so.
2018-08-10 10:21:04 +02:00
26f5978aae
Don't check return code of calling cl_query
2018-08-09 18:17:09 +02:00
3bae5244cf
Change benchmark result 'stats' key to 'scenes' with different content
...
Old:
'stats': [
{'scene_name': 'somescene', 'otherstat': 123}
]
New:
'scenes': [
{'name': 'somescene', stats: {'otherstat': 123}}
]
2018-08-09 18:04:16 +02:00
da869e022a
Submission of benchmark data to mydata.blender.org
2018-08-09 18:04:07 +02:00
9ecab3a512
Benchmark: Report proper Vega device in json
2018-08-09 17:51:31 +02:00
821f50cda1
Benchmark: Workaround to show proper Vega card
2018-08-09 17:21:50 +02:00