Skip to content

Better check for unsupported hardware/driver version #206

@ghost

Description

EDITED ISSUE
The cause of this issue was unsupported hardware, but the error messages were unclear. Ideally we check for hardware/driver/etc. support and report if it unsupported early on in the initialization process.


ORIGINAL ISSUE
I followed the docs https://www.bsframework.io/docs/build.html
1: I tried to link with binaries (https://www.bsframework.io/download.html):

Cannot find texture parameter with the name 'gInputTex'
                 in void bs::TGpuParams<Core>::getTextureParam(bs::GpuProgramType, const String&, bs::TGpuParamTexture<Core>&) const [with bool Core = true; bs::String = std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> >] [/home/travis/build/GameFoundry/bsf/Source/Foundation/bsfCore/RenderAPI/BsGpuParams.cpp:333]

Cannot find buffer parameter with the name 'gOutput'
                 in void bs::TGpuParams<Core>::getBufferParam(bs::GpuProgramType, const String&, bs::TGpuParamBuffer<Core>&) const [with bool Core = true; bs::String = std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> >] [/home/travis/build/GameFoundry/bsf/Source/Foundation/bsfCore/RenderAPI/BsGpuParams.cpp:375]

Cannot find buffer parameter with the name 'gInput'
                 in void bs::TGpuParams<Core>::getBufferParam(bs::GpuProgramType, const String&, bs::TGpuParamBuffer<Core>&) const [with bool Core = true; bs::String = std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> >] [/home/travis/build/GameFoundry/bsf/Source/Foundation/bsfCore/RenderAPI/BsGpuParams.cpp:375]

Cannot find texture parameter with the name 'gOutput'
                 in void bs::TGpuParams<Core>::getLoadStoreTextureParam(bs::GpuProgramType, const String&, bs::TGpuParamLoadStoreTexture<Core>&) const [with bool Core = true; bs::String = std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> >] [/home/travis/build/GameFoundry/bsf/Source/Foundation/bsfCore/RenderAPI/BsGpuParams.cpp:354]

Cannot find texture parameter with the name 'gSHCoeffs'
                 in void bs::TGpuParams<Core>::getTextureParam(bs::GpuProgramType, const String&, bs::TGpuParamTexture<Core>&) const [with bool Core = true; bs::String = std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> >] [/home/travis/build/GameFoundry/bsf/Source/Foundation/bsfCore/RenderAPI/BsGpuParams.cpp:333]

Segmentation fault

2: to link with source (from git) same errors and:

A fatal error occurred and the program has to terminate!
  - Error: Segmentation fault
  - Description: Received fatal signal
  - In function: 
  - In file: :0

Stack trace: 
0) libbsf.so: bs::CrashHandler::getStackTrace[abi:cxx11]()+0x1bf [0x7fd82db0446f]
1) libbsf.so: bs::CrashHandler::logErrorAndStackTrace(std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, unsigned int) const+0x32b [0x7fd82dae949b]
2) libbsf.so: bs::CrashHandler::reportCrash(std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, bs::StdAlloc<char, bs::GenAlloc> > const&, unsigned int) const+0x9 [0x7fd82db03d19]
3) libbsf.so: bs::signalHandler(int, siginfo_t*, void*)+0x116 [0x7fd82db04086]
4) /lib/x86_64-linux-gnu/libc.so.6: +0x34f00 [0x7fd82c152f00]
5) libbsfGLRenderAPI.so: bs::ct::GLVertexArrayObjectManager::getVAO(std::shared_ptr<bs::ct::GLSLGpuProgram> const&, std::shared_ptr<bs::ct::VertexDeclaration> const&, std::array<std::shared_ptr<bs::ct::VertexBuffer>, 32ul> const&)+0x361 [0x7fd829cabc91]
6) libbsfGLRenderAPI.so: bs::ct::GLRenderAPI::beginDraw()+0xdc [0x7fd829cc98ec]
7) libbsfGLRenderAPI.so: bs::ct::GLRenderAPI::drawIndexed(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::shared_ptr<bs::ct::CommandBuffer> const&)+0x14f [0x7fd829cca21f]
8) libbsf.so: bs::ct::RendererUtility::draw(std::shared_ptr<bs::ct::MeshBase> const&, bs::SubMesh const&, unsigned int)+0x2b9 [0x7fd82dfd3759]
9) libbsf.so: bs::ct::RendererUtility::drawScreenQuad(bs::Rect2 const&, bs::Vector2I const&, unsigned int, bool)+0x363 [0x7fd82dfd4443]
10) libbsfRenderBeast.so: bs::ct::IrradianceProjectSHMat::execute(std::shared_ptr<bs::ct::Texture> const&, unsigned int, std::shared_ptr<bs::ct::RenderTarget> const&)+0x27a [0x7fd820a202aa]
11) libbsfRenderBeast.so: bs::ct::RenderBeastIBLUtility::filterCubemapForIrradiance(std::shared_ptr<bs::ct::Texture> const&, std::shared_ptr<bs::ct::Texture> const&) const+0x208 [0x7fd820a21868]
12) libbsfRenderBeast.so: bs::ct::generateDefaultIndirect()+0x30d [0x7fd820aba3fd]
13) libbsfRenderBeast.so: bs::ct::RendererTextures::startUp()+0x120 [0x7fd820aba5b0]
14) libbsfRenderBeast.so: bs::ct::RenderBeast::initializeCore()+0x18d [0x7fd8209b8c2d]
15) libbsf.so: bs::CommandQueueBase::playbackWithNotify(std::queue<bs::QueuedCommand, std::deque<bs::QueuedCommand, bs::StdAlloc<bs::QueuedCommand, bs::GenAlloc> > >*, std::function<void (unsigned int)>)+0x182 [0x7fd82db15842]
16) libbsf.so: bs::CoreThread::runCoreThread()+0x308 [0x7fd82db20ad8]
17) libbsf.so: bs::PooledThread::run()+0x15b [0x7fd82daa3e5b]
18) /usr/lib/x86_64-linux-gnu/libstdc++.so.6: +0xbbaff [0x7fd82c926aff]
19) /lib/x86_64-linux-gnu/libpthread.so.0: +0x75aa [0x7fd82bd035aa]
20) /lib/x86_64-linux-gnu/libc.so.6: clone+0x3f [0x7fd82c214cbf]

Same error if I run the Editor from Banshee Engine.

Banshee Engine Log
System information

Banshee version: 1.0

OS version: Linux#1 SMP Debian 4.15.11-1 (2018-03-20) 64-bit

CPU vendor: GenuineIntel

CPU name: Intel(R) Celeron(R) CPU G1610 @ 2.60GHz

CPU clock speed: 2600Mhz

CPU core count: 2

GPU: Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Desktop

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: enhancement [MINOR]Feature that doesn't take more than a few days to implement

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions