Comments (10)
HD4000 crashes in setting textures the second frame (built from source):
D3D11 CORRUPTION: ID3D11DeviceContext::PSSetShaderResources: Third parameter, array index 0 corrupt or unexpectedly NULL. [ MISCELLANEOUS CORRUPTION #15: CORRUPTED_PARAMETER3]
From Imgui::RHI::RenderDrawData
the specific ImGui window is the one labeled "Viewport".
If the debugger is attached I can just continue my way through it and things will survive, but any attempt to run without debugging it'll halt.
Trying to track it down, but just from what I can observe in a failed start it looks like the first frame is okay and is drawn into a small fraction of the actual viewport, then the second frame crashes, so I'm looking for it assuming it's a sequence issue with what ImGui has been given now being invalid.
Edit:
Yeah, that's it. In Widget_Viewport.cpp
there's a call to Renderer::SetResolution
after a render-target resource has been given to the above ImGui::Image
call to draw the viewport and that's wiping out the render-target ... if it works elsewhere then I'm guessing overly-pedantic Intel driver woes.
from spartanengine.
Hi zhouxs1023,
I'm glad you like the engine and you're welcome!
XInput 1.4 is part of the Windows SDK which is used for Windows 8 and 10. Windows 7 appears to be using XInput 1.3. I am not "officialy" supporting Windows 7 but downloading xinput1_4.dll might still work, and even if it doesn't, it's used for Xbox controller input, which I presume you don't need.
Getting that white window though is most likely the renderer failing to initialize. I don't have a Windows 7 machine to work with but I've submitted some changes that might help you track the source of the problem.
The engine will now log everything into log.txt until the renderer initializes successfully (at which point logging will be rendered to the log window in the editor). Each entry inside log.txt includes the namespace as well as the function it originated from.
On your machine, you should be getting some errors which might give you an idea as to what might be going wrong. If you manage to fix the issue, feel free to do a pull request. If you only have some clues, let me know and I'll see what I can do 😉
Thanks for letting me know about this zhouxs1023 👍
from spartanengine.
I have downloaded what you provided editor release,and xinput1_4.dll come from internet ,I run editor on my computer,but can not run successfully, error as below:
I haved changed xinput1_3.dll to xinput1_4.dll from system32 folder on my machine,but can still not run successfully , error as below:
from spartanengine.
Excellent,
This is the function which fails
https://github.com/PanosK92/Directus3D/blob/43d2047e7f7b3f13db26259242bd9ae6daadbf03/Engine/RHI/D3D11/D3D11_Device.cpp#L83
If you tweak the parameters being passed to it, you should be able to get a device setup which is supported by your GPU. If not, can you please let me know what is your GPU?
from spartanengine.
Hi Panos,
I'm getting same result when I want to run. no log.txt created. I tried to run it with git bash console and recieved "Segmentation fault". What should I do?
Thanks in advance.
Btw;
OS: win10
ide: vs 2017
from spartanengine.
Hi ndrshn and thanks for letting me know 👍
So guys, I got my hands on my ancient potato laptop and it failed to start as well.
It's likely that this is the same issue, I'll investigate and commit a fix 😉
from spartanengine.
It's a bit of a tangent, but the swap-chain creation isn't very robust. Tearing flag isn't supported on older DX11 (integrated intel's in particular), so those older devices can't start the editor either.
If the first try fails, I try again changing the swapchain's m_flags (so resize works) to remove the tearing flag and that works fine on an IvyBridge IntelHD4000.
Performance is pitiful (15fps) once it gets up and running (probably too much dead post-process or w/e), but that's a different matter really.
from spartanengine.
Hello everyone 😃
It turns out that it was a combination of issues causing the engine to fail on startup.
Issues that the three of you mentioned as well as some other ones.
[zhouxs1023] Fixed an issue were the default swap-chain swap effect that was used (Swap_Flip_Discard) was only supported on Windows 10. The engine will now check if it's running on Windows 10 and if it's not, it will fall back to Swap_Discard, which should be okay for Windows 7.
[ndrshn] Fixed an issue were some code paths would simply crash upon device creation failure. Errors are now successfully handled and logged, although it will hopefully never come to that as device creation has been improved as well.
[JSandusky] Thank you for your accurate insight, the tearing flag was indeed part of the swap-chain creation problem and the flag selection has been tweaked to take the adapter into account.
Extra issues:
- Fixed a bug where Swap_Flip_Discard was also not supported by Intel adapters. Upon detecting an Intel adapter, the engine will now fall back to Swap_Discard.
- Fixed a bug where swapchain was not presenting with SwapChain_Allow_Tearing in case it was successfully enabled.
- Fixed a bug where device creation was using the default adapter, it will now use the adapter with the highest VRAM, which is most likely the best available dapter.
- Adapter detection has been moved to the very beggining of the device creation so that all available adapters are visible in log.txt, even if the renderer fails to initialize.
Here is the engine, running on my ancient potato laptop, using an Intel HD Graphics 3000.
Please let me know if the above fixes worked for you.
Also, thanks for taking the time to let me know about these issues 👍
from spartanengine.
Moved ImGui::Image() after Renderer::SetResolution(), which should hopefully work.
Thanks once again JSandusky!
from spartanengine.
Hi @zhouxs1023,
The reported issue (as well as the issues reported by ndrshn and JSandusky) have been addressed.
As one week has passed since your last feedback, I'll assume you have no more issues and close this issue.
Thanks
from spartanengine.
Related Issues (20)
- Atmospheric Scattering HOT 1
- Expand/Improve upon our general-purpose vertex processing
- Add clouds
- Fix the car handling
- Wiki documentation
- Improve screen space subsurface scattering for vegetation HOT 1
- Stair navigation in the Doom default world with the physics-based camera
- Ray traced reflections
- Ray traced shadows
- Eye adaptation
- Skeletal animation
- Dynamic resolution scaling HOT 1
- Switch to bindless HOT 2
- Complete D3D12 backend
- Occlusion culling HOT 1
- Crash on Choosing World from World Selection Dialog Box HOT 10
- Improve of editor design/style using imgui
- vulkan destory problem. HOT 4
- Can't open the sponza scene HOT 1
- Vulkan_SwapChain Resize Window has a problem, is made fence wait timeout. so need reset m_sync_index = std::numeric_limits<uint32_t>::max(); HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spartanengine.