tobspr / RenderPipeline

Physically Based Shading and Deferred Rendering for the Panda3D game engine
https://github.com/tobspr/RenderPipeline/wiki
Other
967 stars 133 forks source link

Error messages on AMD graphics #80

Open Merodi opened 7 years ago

Merodi commented 7 years ago

I'm using an AMD Radeon R9 Fury Nano graphics card and build panda 3d with win10 and vs2015.

Panda3d and RenderPipeline sources are cloned from github.

my build command is: thirdparty\win-python3.6-x64\python.exe makepanda\makepanda.py --everything --threads 5 --msvc-version=14 --windows-sdk=10 --no-dx9 --no-tinydisplay --no-nvidiacg --no-fmodex --no-ode --no-physx --no-pandaphysics --no-maya6 --no-maya65 --no-maya7 --no-maya8 --no-maya85 --no-maya2008 --no-maya2009 --no-maya2010 --no-maya2011 --no-maya2012 --no-maya2013 --no-maya20135 --no-maya2014 --no-maya2015 --no-maya2016 --no-maya20165 --no-maya2017 --no-max6 --no-max7 --no-max8 --no-max9 --no-max2009 --no-max2010 --no-max2011 --no-max2012 --no-max2013 --no-max2014 --no-deploytools

I changed vc_version=Visual Studio 14 2015 in rpcore/native/config.ini and build RenderPipeline.

All build successed, but almost every sample from RenderPipeline-Samples-master shows:

[!] Panda3D :linmath(warning): Tried to invert singular LMatrix4.

[!!!] Panda3D :display(error): Shader input IESDatasetTex is not present.

this errors do not appear when i use NVIDIA GT 730 card.

any way to solve it? Thanks!

yhutter commented 3 years ago

I also have some problems with my Graphics card AMD Radeon RX6800. I have pulled the latest master branch as described in the getting started guide. However when I try to run any examples such as the material demo I am getting a lot of shader errors on startup. I am running this under Ubuntu 20.04LTS with the proprietary graphics drivers.

The output I get when starting an example (e.g material demo) is the following:

[>] CORE                      Using panda3d-supplied core module 
[>] RenderPipeline            Using Python 3.8 with architecture linux_amd64 
[>] RenderPipeline            Using Panda3D 1.10.9 built on Mar 26 2021 09:46:47 
[>] RenderPipeline            Using git commit aac27409cfe3a608c1edf028af19b59d08ddc7f4 
[>] MountManager              Auto-Detected base path to /home/yahart/Data/GitRepos/render_pipeline 
[>] RenderPipeline            Mount manager was not mounted, mounting now ... 
[>] MountManager              Setting up virtual filesystem 
[>] MountManager              Mounting auto-detected config dir: /home/yahart/Data/GitRepos/render_pipeline/config/ 
[>] MountManager              Mounting ramdisk as /$$rptemp 
[>] RenderPipeline            No settings loaded, loading from default location 
Known pipe types:
  glxGraphicsPipe
(1 aux display modules not yet loaded.)
[>] RenderPipeline            Driver Version = 4.6 (Core Profile) Mesa 20.3.4 
[>] RenderPipeline            Driver Vendor = AMD 
[>] RenderPipeline            Driver Renderer = AMD Radeon RX 6800 (SIENNA_CICHLID, DRM 3.40.0, 5.8.0-50-generic, LLVM 11.0.1) 
[>] RenderPipeline            Render resolution is 800 x 600 
[>] LightManager              Tile size = 24 x 16 , Num tiles = 34 x 38 
[>] GPUCommandQueue           Allocating command buffer of size 32768 
[>] GroupedInputBlock         Native UBO support = False 
[!] RPLoader                  Loading '/$$rp/data/default_cubemap/cubemap.txo' took 102.05 ms
[>] PluginManager             Loading plugin settings 
[>] PluginManager             Creating plugin instances .. 
[>] Debugger                  Creating debugger 
[>] plugin:scattering         Loading scattering method for 'eric_bruneton' 
[>] StageManager              Setup stages .. 
[>] StageManager              Preparing stages .. 
[>] AOStage                   Blur quality is MEDIUM 
[>] StageManager              Awaiting future pipe Exposure 
[>] UpdatePreviousPipesStage  Creating previous pipes stage .. 
[>] StageManager              Writing shader config 
[>] plugin:pssm               Initializing pssm .. 
[>] ScatteringMethodEricBruneton Precomputing ... 
[>] RenderPipeline            Finished initialization in 0.697 s, first frame: 3 
[>] RenderPipeline            Took 1.44 s until first frame 

[!!!] Panda3D                 :display:gsg:glgsg(error): 0:3(1): error: #extension directive is not allowed in the middle of a shader

[!!!] Panda3D                 :display:gsg:glgsg(error): An error occurred while compiling GLSL fragment shader rpplugins/scattering/shader/apply_scattering.frag.glsl:

[!!!] Panda3D                 rpplugins/scattering/shader/apply_scattering.frag.glsl:3(1): error: #extension directive is not allowed in the middle of a shader

[!!!] Panda3D                 :display:gsg:glgsg(error): 0:3(1): error: #extension directive is not allowed in the middle of a shader

[!!!] Panda3D                 :display:gsg:glgsg(error): An error occurred while compiling GLSL fragment shader rpplugins/scattering/shader/scattering_envmap.frag.glsl:

[!!!] Panda3D                 rpplugins/scattering/shader/scattering_envmap.frag.glsl:3(1): error: #extension directive is not allowed in the middle of a shader

The example runs but I get some really bad flickering and the FPS is also not optimal (below 30 FPS). If anyone has any idea what to do in this situation, it would be greatly appreciated.

yhutter commented 3 years ago

I just noticed that this error I reported is actually related to: #105. Therefore the comment above can be ignored.