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
bcbb2a9496
Submission client: log status code & text when submission is bad
2018-08-09 18:04:07 +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
9325a0bb6a
Attempt to deal with partially initialized checkouts
2018-08-08 17:24:04 +02:00
202ffb7ff1
Bundle: Implement ZIP creation on Windows
2018-08-08 15:14:41 +02:00
383cb4fcd2
Mention GPU memory required to finish the full benchmark
2018-08-08 12:21:15 +02:00
43cf59264f
Use better framed picture when available
2018-08-08 12:05:47 +02:00
984a8f1f08
Benchmark: tweak opendata link to be centered correctly.
2018-08-08 11:56:52 +02:00
f8d385c99f
Report more uniform progress when rendering on GPU
2018-08-08 11:24:29 +02:00
b216fcb8cb
Keep buttons alignment when device selector is not visible
2018-08-08 10:42:24 +02:00
8c0216fce6
Use buttons opf default color in file browser
2018-08-08 10:33:06 +02:00
57a080c9db
Use blender logo size which is safer for downscale
2018-08-07 23:58:56 +02:00
92d124b7a2
Bundler: add macOS code signing and .dmg + .zip packing.
2018-08-07 22:55:15 +02:00
329da310db
Bundle: Support ImageMagic on Windows
2018-08-07 22:22:53 +02:00
f5da4a106c
Bundle: Better approach for previous commit
...
Saves some submodule checkout, which is especially slow
on WIndows for some reason.
2018-08-07 22:16:37 +02:00
30de7ef414
Bundle: Initialize submodules after checkout to branch
...
Ensures we've got benchmark submodule initialized.
2018-08-07 22:12:06 +02:00
cbc18a44f1
Bundle: Unpack blender release archive
2018-08-07 22:05:39 +02:00