Commit Graph

1345 Commits

Author SHA1 Message Date
Clément Foucault
60499ff25d GHOST: Fix SDL backend.
We use a hidden window for each offscreen context we need.

On X11 (linux) it does not show any other windows in the OS task bar
but it might be the case on other operating systems (untested).
2018-07-27 16:28:44 +02:00
Brecht Van Lommel
b3b4b9fb8c Fix WITH_HEADLESS build. 2018-07-20 15:25:47 +02:00
Sergey Sharybin
5852420023 Merge branch 'master' into blender2.8 2018-07-16 17:34:10 +02:00
Sergey Sharybin
e6af8758c8 Ghost: Fix memory leak happening with keyboard mapping access
So far only noticed system de-initialization doesn't perform full
object free. So rather harmless but yet stupid.
2018-07-16 17:32:57 +02:00
Brecht Van Lommel
7f5e4a819c GHOST/Windows: don't prefer swap copy method.
This is no longer needed with the new offscreen draw method, so use whatever
is default and hopefully fastest. Fixes console warnings in some setups that
don't have swap copy.
2018-07-10 17:48:48 +02:00
Sergey Sharybin
0bfc06b7b7 Merge branch 'master' into blender2.8 2018-07-10 11:23:10 +02:00
Sergey Sharybin
719629f2aa GHOST: Fix memory leak in X11 DPI query
The X resource database is to be explicitly destroyed. This fixes 46 bytes
leak per every window DPI query (which happens a lot on window move/resize
and even on areas resize).

Unfortunately, this does not fully fix the leak since the known leak:

  https://bugs.freedesktop.org/show_bug.cgi?id=94604
2018-07-10 10:59:06 +02:00
Clément Foucault
433e3db8d8 Revert "GHOST: Delay opengl context initialization"
This reverts commit 128926a41b.
2018-07-03 13:36:04 +02:00
Clément Foucault
6c9fe9cd8c Revert "GHOST: WGL: Delay context initialization for offscreen contexts."
This reverts commit 800c3c5ca5.

# Conflicts:
#	intern/ghost/intern/GHOST_ContextWGL.cpp
2018-07-03 13:36:04 +02:00
Clément Foucault
d78bcf9055 Revert "GHOST: Fix uninitialized var"
This reverts commit 27b6734022.
2018-07-03 13:36:04 +02:00
Clément Foucault
7a8403dbb0 Revert "GHOST: Fix uninitialized values."
This reverts commit aca403c819.
2018-07-03 13:36:04 +02:00
Campbell Barton
9bd0c63382 Merge branch 'master' into blender2.8 2018-06-29 08:05:38 +02:00
Campbell Barton
af36dd4664 Cleanup: trailing newlines 2018-06-29 08:02:49 +02:00
Ray Molenkamp
2fa231a86b Ghost: Fix F12 render on windows.
createOffscreenContext left the new context bound to the calling thread
causing a race condition with the background thread doing the actual
rendering. see T55555 for a more detailed description of the problem.

this patch changes the behavior of createOffscreenContext to restore the
context to the calling context.

Reviewers: fclem

Differential Revision: https://developer.blender.org/D3499
2018-06-23 11:37:35 -06:00
Ray Molenkamp
8c77c36539 Ghost: Fix offline OGL render on windows.
rBe0c088f8fb5a introduced offline rendering support on windows, sadly it was trying to use the desktop window for getting a context, which given SetPixelFormat can only be called once for any given HDC was an unfortunate choice.

This patch uses a temporary hidden window for getting the opengl context.

Reviewers: mano-wii

Differential Revision: https://developer.blender.org/D3481
2018-06-18 18:10:45 -06:00
Clément Foucault
2e09b277d5 Revert "GHOST: GLX: Remove XInitThreads"
This reverts commit 7529690df3.

I tried to put manually add threading protection to GHOST around
Xlib calls but that did not fix the crashes. So reverting that
for now despite the performance implication on some system.
2018-06-14 18:17:28 +02:00
fclem
aca403c819 GHOST: Fix uninitialized values. 2018-06-11 17:07:52 +02:00
Clément Foucault
7529690df3 GHOST: GLX: Remove XInitThreads
This was needed because we were sharing opengl contexts across multiple
threads. With the recent refactor this should be no longer needed.
2018-06-11 17:23:06 +02:00
Clément Foucault
27b6734022 GHOST: Fix uninitialized var
Was causing crash on startup.
2018-06-11 17:04:59 +02:00
fclem
800c3c5ca5 GHOST: WGL: Delay context initialization for offscreen contexts.
Same as 128926a41b but for windows.
2018-06-11 13:06:54 +02:00
Clément Foucault
128926a41b GHOST: Delay opengl context initialization
This way they can be init in their owner thread. Contexts should not be
shared accross threads. Once you make a context active on a thread it is
owned by the thread.

This commit only have the GLX backend updated but should not break orther
platform.
2018-06-11 13:55:02 +02:00
Campbell Barton
964c5421df Merge branch 'master' into blender2.8 2018-06-09 12:56:37 +02:00
Campbell Barton
9bcced83ee GHOST/X11: Print the keycode w/ debug enabled 2018-06-09 12:53:39 +02:00
Campbell Barton
7ce81484f8 Merge branch 'master' into blender2.8 2018-06-09 12:06:33 +02:00
Campbell Barton
6f4c7f1f01 GHOST/X11: Correct non-latin kb workaround case
Harmless since this is always enabled,
only do this for easier troubleshooting when disabling the define.
2018-06-09 12:04:07 +02:00
Campbell Barton
b492a0e767 Merge branch 'master' into blender2.8 2018-06-09 11:27:22 +02:00
Campbell Barton
f3427cbc98 GHOST/X11: support accessing physical keycodes
This means we can check keys such as tilde in a generic way.
2018-06-09 11:23:41 +02:00
Campbell Barton
03f0ecca93 GHOST/X11: Map unknown us.intl key to accentgrave 2018-06-09 09:10:04 +02:00
Campbell Barton
6739bb195e Merge branch 'master' into blender2.8 2018-06-08 15:22:28 +02:00
Campbell Barton
540e85d567 GHOST/X11: Map unknown es,dk keys to accentgrave 2018-06-08 15:21:20 +02:00
Campbell Barton
97e7d9f90b Merge branch 'master' into blender2.8 2018-06-08 14:57:17 +02:00
Campbell Barton
4127aeb7a5 GHOST/X11: Map unknown de,fr keys to accentgrave
This still uses the correct string when typing text,
it just allows the key to be used in keymaps.

We should eventually add scan-code support.
2018-06-08 14:53:03 +02:00
Campbell Barton
cfc4805455 Merge branch 'master' into blender2.8 2018-06-07 20:41:10 +02:00
Campbell Barton
cfc1ddeff7 GHOST/X11: Xinput/XIM support caused double key-up
All keyboard events were sending double key events (including modifiers)
when xinput was enabled with gnome (causing much confusion!).

I cant test if XIM works,
but this isn't useful to send double events, so disabling for now.
2018-06-07 20:35:06 +02:00
Campbell Barton
da53c3f020 Merge branch 'master' into blender2.8 2018-06-04 18:50:14 +02:00
Campbell Barton
58e8c71cbd Cleanup: strip ghost trailing space 2018-06-04 18:47:57 +02:00
Sergey Sharybin
57013c0a39 Merge branch 'master' into blender2.8 2018-05-07 14:20:47 +02:00
Sergey Sharybin
1a3fb3e8b1 Fix wrong comparison of drop target URI on X11
Need to compare, NOT to override passed file name.
2018-05-07 14:11:33 +02:00
fclem
e0c088f8fb GHOST: WGL: Make background rendering works on windows.
When creating an offscreen context we need wglCreatePbufferARB to create
a drawable. In non-background mode wglCreatePbufferARB would have been set
by the main window creation code. But in background mode this is not the
case so we need to create a dummy context using the screen window to init
wglew properly.
2018-04-26 11:49:47 +02:00
Clément Foucault
56fbdd7908 GHOST: Fix missing glXCreatePbuffer initialisation.
For some reason this happened if no windows are created before creating an
offscreen context.
2018-04-25 17:43:18 +02:00
Clément Foucault
284dbd56df GHOST: GLX: Remove old version check. 2018-04-25 17:43:18 +02:00
Germano
785e8a636a GHOST: Fix processEvents not notifying events handled by the system if the window is hidden.
Reviewed By: @LazyDodo
Differential Revision: https://developer.blender.org/D3154
2018-04-19 11:26:33 -03:00
Dalai Felinto
11130970c6 Merge commit 'origin/master^' into blender2.8 2018-03-29 10:36:01 -03:00
Brecht Van Lommel
4bd5b824b0 Fix missing confirm quit dialog on macOS, after recent changes. 2018-03-28 10:54:17 +02:00
Sergey Sharybin
fc348a563e Fix bad merge resolution from previous commit 2018-03-26 14:59:55 +02:00
Sergey Sharybin
21aca14e43 Merge branch 'master' into blender2.8 2018-03-26 14:56:00 +02:00
Sergey Sharybin
3c45fdd171 GHOST: Solve compilation error of test programs 2018-03-26 14:51:56 +02:00
Germano
d33d6d0e06 GHOST CONTEXTWGL: Remove unused member
No longer used from this commit: https://developer.blender.org/rB0940e89e604d85d717f792b73e30e5e96a42e7c6#change-kg3gZvqkYPB6
2018-03-21 12:30:36 -03:00
Campbell Barton
69eb452622 Merge branch 'master' into blender2.8 2018-03-21 16:27:48 +01:00
Campbell Barton
5ba5254ec1 UI: Optional prompt to quit for non win32 systems
D566 by @januz

Use Blender native dialog when OS dialog's aren't supported.
2018-03-21 16:04:01 +01:00