https://bugs.winehq.org/show_bug.cgi?id=42119
Bug ID: 42119 Summary: Unigine Heaven Benchmark 4.0 not working in dx11 mode Product: Wine Version: 2.0-rc3 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: isakov-sl@bk.ru Distribution: ---
Created attachment 56646 --> https://bugs.winehq.org/attachment.cgi?id=56646 10.0 is not supported
The message is not true. My graphics card supported DX11 and SM5.0 macOS Sierra supported OpenGL4.1 In log there are few messages ~~~~ fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x1. fixme:dxgi:dxgi_check_feature_level_support Ignoring adapter type. fixme:dxgi:dxgi_device_init Ignoring adapter type. fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1a1774, container_parent 0x1a13f8, wined3d_desc 0x33e820, wined3d_texture 0x1dc6c8 partial stub! fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion. fixme:d3d:context_create OpenGL implementation does not support GL_PRIMITIVE_RESTART_FIXED_INDEX. fixme:dxgi:dxgi_factory_CreateSwapChain iface 0x1a41d8, device 0x1a1748, desc 0x33ec44, swapchain 0x48c888 partial stub! fixme:dxgi:dxgi_factory_CreateSwapChain Ignoring SwapEffect 0. fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1a1774, container_parent 0x1dd158, wined3d_desc 0x33eab0, wined3d_texture 0x1de730 partial stub! fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion. fixme:d3d:context_create OpenGL implementation does not support GL_PRIMITIVE_RESTART_FIXED_INDEX. fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1a1774, container_parent 0x1dd158, wined3d_desc 0x33eab0, wined3d_texture 0x1e0718 partial stub! fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion. fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x1a41d8, window 0x10092, flags 0x3 stub!
https://bugs.winehq.org/show_bug.cgi?id=42119
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #1 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Sergey Isakov from comment #0)
The message is not true. My graphics card supported DX11 and SM5.0 macOS Sierra supported OpenGL4.1
OpenGL 4.1 is not feature-wise equivalent to D3D feature level 11.0 or even 10.0.
https://bugs.winehq.org/show_bug.cgi?id=42119
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS|Linux |Mac OS X
https://bugs.winehq.org/show_bug.cgi?id=42119
Guillaume Charifi guillaume.charifi@sfr.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |guillaume.charifi@sfr.fr
--- Comment #2 from Guillaume Charifi guillaume.charifi@sfr.fr --- Did you set the right registry key to allow Wine to use GL 4.5 ?
https://bugs.winehq.org/show_bug.cgi?id=42119
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #3 from Sergey Isakov isakov-sl@bk.ru --- Wine-4.0 Still not works.
https://bugs.winehq.org/show_bug.cgi?id=42119
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://benchmark.unigine.c | |om/heaven
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #4 from Sergey Isakov isakov-sl@bk.ru --- (In reply to Guillaume Charifi from comment #2)
Did you set the right registry key to allow Wine to use GL 4.5 ?
Yes, didn't help ~~~ 0042:err:winediag:wined3d_dll_init Setting maximum allowed wined3d GL version to 4.5. ... 004b:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x1. 00b9:fixme:d3d:wined3d_adapter_gl_create_context OpenGL implementation does not support GL_PRIMITIVE_RESTART_FIXED_INDEX. 00b9:fixme:d3d:wined3d_adapter_gl_create_context OpenGL implementation does not support GL_PRIMITIVE_RESTART_FIXED_INDEX. 004b:fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x190110, window 0x40080, flags 0x3 stub! 0033:fixme:win:FlashWindowEx 0x33d5c8 - semi-stub
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #5 from Sergey Isakov isakov-sl@bk.ru --- (In reply to Józef Kucia from comment #1)
(In reply to Sergey Isakov from comment #0)
The message is not true. My graphics card supported DX11 and SM5.0 macOS Sierra supported OpenGL4.1
OpenGL 4.1 is not feature-wise equivalent to D3D feature level 11.0 or even 10.0.
Does it mean this is the end for the wine on macOS Sierra? If the card supports DirectX11 then it should be able to perform such features not present in OpenGL 4.1 so wine should somehow emulate this functions through available. Or it is ultimate impossible? Is there a possible road DirectX11->Vulcan->Metal for system like macOS 10.14 Mojave?
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #6 from Sergey Isakov isakov-sl@bk.ru --- Something new here. I tested Staging-4.1 and force SmModel to be 5, it can be set lower by registry. I got a crash ~~~~ Backtrace: =>0 0x40e648ac d3d11_immediate_context_Begin+0x5c() in d3d11 (0x0033edd4) ~~~~
It appears because the function called with zero pointer. So I write as follow ~~~~ static void STDMETHODCALLTYPE d3d11_immediate_context_Begin(ID3D11DeviceContext1 *iface, ID3D11Asynchronous *asynchronous) { struct d3d_query *query = unsafe_impl_from_ID3D11Asynchronous(asynchronous); HRESULT hr; + if (!query) { + ERR("no query\n"); + return; }
~~~ as well as in other functions. The game started! But main scene without 3D graphics, menu and messages presents The log shows the error ~~~ 01e5:err:d3d11:d3d11_immediate_context_Begin no query 00e6:fixme:d3d:create_texture_view OpenGL implementation does not support texture views. ~~~
There are other FIXMEs in log.
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #7 from Sergey Isakov isakov-sl@bk.ru --- Set d3dcompiler_43 to native didn't resolve the crash.
But I see something new in log that may be interesting for analysis ~~~ 0137:fixme:d3d:context_check_fbo_status FBO status GL_FRAMEBUFFER_UNDEFINED (0x8219). 0137:err:d3d:context_check_fbo_status FBO 0 is incomplete, driver bug? 0137:err:d3d:wined3d_check_gl_call >>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from glBlitFramebuffer() @ /Volumes/MacHD/Users/sergey/Documents/Projects/wine/dlls/wined3d/surface.c / 284. ~~~
masOS 10.13.6 Intel HD4000
https://bugs.winehq.org/show_bug.cgi?id=42119
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Unigine Heaven Benchmark |Unigine Heaven Benchmark |4.0 not working in dx11 |4.0 not working in dx11 |mode |mode (Mac Os X)
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #8 from Sergey Isakov isakov-sl@bk.ru --- 00e6:fixme:d3d:create_texture_view OpenGL implementation does not support texture views.
It means deadend for macOS?
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #9 from Sergey Isakov isakov-sl@bk.ru --- Created attachment 63630 --> https://bugs.winehq.org/attachment.cgi?id=63630 GL_ARB_map_buffer_range is not supported
I found in adapter_gl.c a note ~~~ /* GL_ARB_map_buffer_range and GL_APPLE_flush_buffer_range provide the same * functionality. Prefer the ARB extension */ ~~~ and then check with glxinfo. Yes, I have no GL_ARB_map_buffer_range and I have GL_APPLE_flush_buffer_range. This is macOS!
So there is a simple solution: - if GL_APPLE_flush_buffer_range is supported then report to game that GL_ARB_map_buffer_range is supported too. - but we have not to use GL_ARB_map_buffer_range and use GL_APPLE_flush_buffer_range when possible.
I know, this is macOS specific change and I am not sure if it reliable for linux. May be it will be better to use conditions like #ifdef _apple_
https://bugs.winehq.org/show_bug.cgi?id=42119
--- Comment #10 from Sergey Isakov isakov-sl@bk.ru --- Created attachment 63631 --> https://bugs.winehq.org/attachment.cgi?id=63631 Patch to use apple_flush
This patch will use APPLE_FLUSH_BUFFER_RANGE if possible when ARB_MAP_BUFFER_RANGE is not accessible but report to windows game that ARB_MAP_BUFFER_RANGE is present.