[OpenJDK 2D-Dev] RFR: JDK-8079652: Could not enable D3D pipeline

Vadim Pakhnushev vadim.pakhnushev at oracle.com
Wed May 13 10:48:36 UTC 2015


Actually I've found a better solution - specify WS_POPUP window style.
In this case the client area size will be exactly as specified instead 
of adjusting for some default window style.
So please review the second iteration:

diff --git 
a/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp 
b/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp
--- 
a/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp
+++ 
b/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp
@@ -828,7 +828,7 @@
          return 0;
      }

-    HWND hWnd = CreateWindow(L"D3DFocusWindow", L"D3DFocusWindow", 0,
+    HWND hWnd = CreateWindow(L"D3DFocusWindow", L"D3DFocusWindow", 
WS_POPUP,
          mi.rcMonitor.left, mi.rcMonitor.top, 1, 1,
          NULL, NULL, GetModuleHandle(NULL), NULL);
      if (hWnd == 0) {

Thanks,
Vadim

On 08.05.2015 21:38, Phil Race wrote:
> I guess this is OK since 100x100 ought to be always big enough but not 
> too big ..
> I suppose it may imply a different default window style is being added 
> by CreateWindow
> than we got before.
>
> -phil.
>
>
>
> On 5/8/2015 6:28 AM, Sergey Bylokhov wrote:
>> Hi, Vadim.
>> Thanks for clarification, please add this information as a comment to 
>> the code, before the push.
>>
>> On 08.05.15 16:19, Vadim Pakhnushev wrote:
>>> It's invisible and used only for getting application focus 
>>> notifications internally by Direct3D.
>>>
>>> On 08.05.2015 16:14, Sergey Bylokhov wrote:
>>>> Hi, Vadim.
>>>> Why we do not use the full screen size for this window?
>>>>
>>>> On 08.05.15 14:07, Vadim Pakhnushev wrote:
>>>>> Hi,
>>>>> Please review the fix for 
>>>>> https://bugs.openjdk.java.net/browse/JDK-8079652
>>>>> Focus window's client area should be bigger otherwise CreateDevice 
>>>>> fails.
>>>>>
>>>>> diff --git 
>>>>> a/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp 
>>>>> b/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp 
>>>>>
>>>>> --- 
>>>>> a/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp
>>>>> +++ 
>>>>> b/src/java.desktop/windows/native/libawt/java2d/d3d/D3DPipelineManager.cpp
>>>>> @@ -829,7 +829,7 @@
>>>>>      }
>>>>>
>>>>>      HWND hWnd = CreateWindow(L"D3DFocusWindow", 
>>>>> L"D3DFocusWindow", 0,
>>>>> -        mi.rcMonitor.left, mi.rcMonitor.top, 1, 1,
>>>>> +        mi.rcMonitor.left, mi.rcMonitor.top, 100, 100,
>>>>>          NULL, NULL, GetModuleHandle(NULL), NULL);
>>>>>      if (hWnd == 0) {
>>>>>          J2dRlsTraceLn(J2D_TRACE_ERROR,
>>>>>
>>>>
>>>>
>>>
>>
>>
>




More information about the 2d-dev mailing list