tobspr / RenderPipeline

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

glFramebufferParameteri error when enabling fractional scaling and going full screen #124

Open yhutter opened 3 years ago

yhutter commented 3 years ago

My situation is as follows. I am running Ubuntu Version 20.04 LTS with an AMD RX 6800 graphics card on a 4k resolution monitor. I also have fractional scaling enabled and set to 150%. Do not that this issue does not arise when the scaling is set to 100%.

When I try to run an example (e.g material demo) it works just fine in window mode and runs at a smoothly 60fps (refresh rate of my monitor). However as soon as I go fullscreen, I get this error, and the framerate takes a performance hit (going below 30 fps)

[!!!] Panda3D                 :display:gsg:glgsg(error): GL_INVALID_VALUE in glFramebufferParameteri

Here would also be the full console output

[>] 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 104.41 ms
[>] PluginManager             Loading plugin settings 
[>] PluginManager             Creating plugin instances .. 
[>] Debugger                  Creating debugger 
[>] 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 
[>] RenderPipeline            Finished initialization in 0.649 s, first frame: 3 
[>] RenderPipeline            Took 1.432 s until first frame 
[>] RenderPipeline            Hiding loading screen after 10 pre-rendered frames. 
[>] RenderPipeline            Resizing to 4976 x 2752 
[>] RenderPipeline            Render resolution is 4976 x 2752 
[>] LightManager              Tile size = 24 x 16 , Num tiles = 208 x 172 

[!!!] Panda3D                 :display:gsg:glgsg(error): GL_INVALID_VALUE in glFramebufferParameteri

[>] RenderPipeline            Resizing to 800 x 600 
[>] RenderPipeline            Render resolution is 800 x 600 
[>] LightManager              Tile size = 24 x 16 , Num tiles = 34 x 38 
[>] MountManager              Cleaning up .. 

Help would be greatly appreciated. If there is anything more I can provide, please let me know.