Multiple render windows - second window blank

Problems building or running the engine, queries about how to use features etc.
Post Reply
Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Multiple render windows - second window blank

Post by Ryan8 »

Ogre Version: 13.5.2
Operating System: Linux (Manjaro)
Render System: OpenGL 3+ Rendering Subsystem

I've been trying to create two render windows, each with their own camera and viewport. Unfortunately I haven't had any luck, and no matter what I try nothing gets rendered to the 2nd window.

To keep it simple I've modified BasicTutorial2 (the ninja), and created 2x render windows using the OgreBites::ApplicationContext framework.

From studying the ApplicationContext source code, I believe it supports multiple window creation and uses SDL external windows. (I've also tried without the framework and have the same problem.)

Several older posts indicate that if using multiple render windows, you should use a custom render loop instead of using Root::startRendering(). The OGRE source code seems to iterate through all render targets, so I couldn't see why a custom render loop is necessary. Anyway I changed to a custom render loop, updating each render window and still nothing on the second window.

When I changed to a custom render loop I noticed something unusual. The second render window (mWindowB), is actually rendering on the first/primary window. I can tell this because the first window flickers alternating between the 2 camera views as each window updates in the render loop. Furthermore, if I don't use mWindowA at all, mWindowB still renders on the first/primary window instead of the second window!

Could anyone please let me know why 2 render windows isn't working? Thanks

Screenshot:

Image

Code:

Code: Select all

#include <exception>
#include <iostream>

#include "Ogre.h"
#include "OgreApplicationContext.h"
#include "OgreInput.h"
#include "OgreRTShaderSystem.h"
#include "OgreCameraMan.h"
#include "OgreWindowEventUtilities.h"

using namespace Ogre;
using namespace OgreBites;

class TutorialApplication
        : public ApplicationContext
        , public InputListener
{
public:
    TutorialApplication();
    virtual ~TutorialApplication();

void setup();
bool keyPressed(const KeyboardEvent& evt);

Root*           mRoot;
RenderWindow*   mWindowA;
RenderWindow*   mWindowB;
bool            mShouldQuit;
};


TutorialApplication::TutorialApplication()
    : ApplicationContext("OgreTutorialApp")
{
    mShouldQuit = false;
}


TutorialApplication::~TutorialApplication()
{
}


void TutorialApplication::setup()
{
    ApplicationContext::setup();
    addInputListener(this);

mRoot = getRoot();
SceneManager* scnMgr = mRoot->createSceneManager();

//Get first render window already created by the framework.
//Note: I set vsync to false in the dialog.
mWindowA = getRenderWindow();

//Create second render window using the framework (not directly with Root::createRenderWindow).
NativeWindowPair natWinPairB = createWindow("Render Window B", 300, 300);
mWindowB = natWinPairB.render; 
mWindowB->setActive(true);
mWindowB->setVisible(true);
addInputListener(natWinPairB.native, this);

RTShader::ShaderGenerator* shadergen = RTShader::ShaderGenerator::getSingletonPtr();
shadergen->addSceneManager(scnMgr);

//Create cameras for each render window
SceneNode* camNodeA = scnMgr->getRootSceneNode()->createChildSceneNode();
SceneNode* camNodeB = scnMgr->getRootSceneNode()->createChildSceneNode();
Camera* camA = scnMgr->createCamera("myCam A");
Camera* camB = scnMgr->createCamera("myCam B");  
camNodeA->setPosition(200, 300, 400);
camNodeB->setPosition(-200, 300, 400);
camNodeA->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_WORLD);
camNodeB->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_WORLD);
camA->setNearClipDistance(5);
camB->setNearClipDistance(5);
camNodeA->attachObject(camA);
camNodeB->attachObject(camB);

//Create viewports for each render window
Viewport* vpA = mWindowA->addViewport(camA);
Viewport* vpB = mWindowB->addViewport(camB);
vpA->setBackgroundColour(ColourValue(0, 0, 0));
vpB->setBackgroundColour(ColourValue(0, 0, 0));

camA->setAspectRatio(Real(vpA->getActualWidth()) / Real(vpA->getActualHeight()));
camB->setAspectRatio(Real(vpB->getActualWidth()) / Real(vpB->getActualHeight()));
  
//Setup scene
scnMgr->setAmbientLight(ColourValue(0, 0, 0));
scnMgr->setShadowTechnique(ShadowTechnique::SHADOWTYPE_STENCIL_ADDITIVE);
  
Entity* ninjaEntity = scnMgr->createEntity("ninja.mesh");
ninjaEntity->setCastShadows(true);
scnMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ninjaEntity);
  
Plane plane(Vector3::UNIT_Y, 0);
MeshManager::getSingleton().createPlane(
        "ground", RGN_DEFAULT,
        plane,
        1500, 1500, 20, 20,
        true,
        1, 5, 5,
        Vector3::UNIT_Z);
Entity* groundEntity = scnMgr->createEntity("ground");
scnMgr->getRootSceneNode()->createChildSceneNode()->attachObject(groundEntity);
groundEntity->setCastShadows(false);
groundEntity->setMaterialName("Examples/Rockwall");
  
Light* spotLight = scnMgr->createLight("SpotLight");
spotLight->setDiffuseColour(0, 0, 1.0);
spotLight->setSpecularColour(0, 0, 1.0);
spotLight->setType(Light::LT_SPOTLIGHT);
SceneNode* spotLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
spotLightNode->attachObject(spotLight);
spotLightNode->setDirection(-1, -1, 0);
spotLightNode->setPosition(Vector3(200, 200, 0));
spotLight->setSpotlightRange(Degree(35), Degree(50));

Light* directionalLight = scnMgr->createLight("DirectionalLight");
directionalLight->setType(Light::LT_DIRECTIONAL);
directionalLight->setDiffuseColour(ColourValue(0.4, 0, 0));
directionalLight->setSpecularColour(ColourValue(0.4, 0, 0));
SceneNode* directionalLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
directionalLightNode->attachObject(directionalLight);
directionalLightNode->setDirection(Vector3(0, -1, 1));

Light* pointLight = scnMgr->createLight("PointLight");
pointLight->setType(Light::LT_POINT);
pointLight->setDiffuseColour(0.3, 0.3, 0.3);
pointLight->setSpecularColour(0.3, 0.3, 0.3);
SceneNode* pointLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
pointLightNode->attachObject(pointLight);
pointLightNode->setPosition(Vector3(0, 150, 250));

}


bool TutorialApplication::keyPressed(const KeyboardEvent& evt)
{
    if (evt.keysym.sym == SDLK_ESCAPE)
    {
        mShouldQuit = true;
        getRoot()->queueEndRendering();
    }
    return true;
}


int main(int argc, char **argv)
{
    try
    {
        TutorialApplication app;
        app.initApp();
        
//app.getRoot()->startRendering(); //Custom render loop as follows: app.mWindowA->setAutoUpdated(false); app.mWindowB->setAutoUpdated(false); app.mRoot->clearEventTimes(); while(!app.mShouldQuit) { app.mWindowA->update(false); app.mWindowA->swapBuffers(); app.mWindowB->update(false); app.mWindowB->swapBuffers(); app.mRoot->renderOneFrame(); OgreBites::WindowEventUtilities::messagePump(); } app.closeApp(); } catch (const std::exception& e) { std::cerr << "Error occurred during execution: " << e.what() << '\n'; return 1; } return 0; }

Partial log output:

Code: Select all

RenderSystem::_createRenderWindow "OgreTutorialApp", 640x480 windowed  miscParams: FSAA=0 displayFrequency=N/A 
externalWindowHandle=96468994 gamma=No sdlwin=94434177551072 vsync=No vsyncInterval=1 

RenderSystem::_createRenderWindow "Render Window B", 300x300 windowed  miscParams: FSAA=0 currentGLContext=true displayFrequency=N/A 
externalWindowHandle=96468996 gamma=No sdlwin=94434201478160 vsync=No vsyncInterval=1 
paroj
OGRE Team Member
OGRE Team Member
Posts: 1994
Joined: Sun Mar 30, 2014 2:51 pm
x 1074
Contact:

Re: Multiple render windows - second window blank

Post by paroj »

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

I commented out this line "#define OGRE_ENABLE_STATE_CACHE_CRITICAL" from OgreGL3PlusStateCacheManager.cpp as suggested. Then recompiled and reinstalled (ogre-13.5.2). This didn't seem to make a difference to my render windows and the second window was still blank like before.

However, this led me to try recompiling OGRE with GLX context creation instead of the default EGL. (ie. cmake-gui change OGRE_GLSUPPORT_USE_EGL to off). Recompile reinstall. Now my render windows are working!......sometimes.

Image

Seemingly random, about half the time the app runs without any problems, and half the time the app crashes at the creation of the second window. I'm going investigate further and report back, but in the meantime if you have any ideas that would be appreciated.

I would also be interested to know why I have the problem with the render windows with EGL but not GLX, possibly in combination with Linux. Have other users encountered this issue?

Thanks.

Partial output when the app crashes (using GLX context creation):

Code: Select all

Creating resources for group OgreInternal
All done
RenderSystem::_createRenderWindow "Render Window B", 300x300 windowed  miscParams: FSAA=0 currentGLContext=true displayFrequency=N/A externalWindowHandle=98566148 gamma=No sdlwin=94348951639104 vsync=No vsyncInterval=1 
GLXWindow::create colourBufferSize=32 gamma=0 FSAA=0
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  29 (X_GLXGetDrawableAttributes)
  Resource id in failed request:  0x5800004
  Serial number of failed request:  45
  Current serial number in output stream:  45

Log output with #define line commented out. And EGL context creation:
(second window stays blank)

Code: Select all

17:14:01: Creating resource group General
17:14:01: Creating resource group OgreInternal
17:14:01: Creating resource group OgreAutodetect
17:14:01: SceneManagerFactory for type 'DefaultSceneManager' registered.
17:14:01: Registering ResourceManager for type Material
17:14:01: Registering ResourceManager for type Mesh
17:14:01: Registering ResourceManager for type Skeleton
17:14:01: MovableObjectFactory for type 'ParticleSystem' registered.
17:14:01: ArchiveFactory for type 'FileSystem' registered
17:14:01: ArchiveFactory for type 'Zip' registered
17:14:01: ArchiveFactory for type 'EmbeddedZip' registered
17:14:01: DDS codec registering
17:14:01: ETC codec registering
17:14:01: ASTC codec registering
17:14:01: Registering ResourceManager for type GpuProgram
17:14:01: Registering ResourceManager for type Compositor
17:14:01: MovableObjectFactory for type 'Entity' registered.
17:14:01: MovableObjectFactory for type 'Light' registered.
17:14:01: MovableObjectFactory for type 'BillboardSet' registered.
17:14:01: MovableObjectFactory for type 'ManualObject' registered.
17:14:01: MovableObjectFactory for type 'BillboardChain' registered.
17:14:01: MovableObjectFactory for type 'RibbonTrail' registered.
17:14:01: MovableObjectFactory for type 'StaticGeometry' registered.
17:14:01: MovableObjectFactory for type 'Rectangle2D' registered.
17:14:01: Loading library /usr/local/lib/OGRE/RenderSystem_GL.so.13.5
17:14:01: Installing plugin: GL RenderSystem
17:14:01: OpenGL Rendering Subsystem created.
17:14:07: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/RenderSystem_GL3Plus.so.13.5
17:14:09: Installing plugin: GL 3+ RenderSystem
17:14:09: OpenGL 3+ Rendering Subsystem created.
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/RenderSystem_GLES2.so.13.5
17:14:09: Installing plugin: OpenGL ES 2.0 RenderSystem
17:14:09: OpenGL ES 2.x Rendering Subsystem created.
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_ParticleFX.so.13.5
17:14:09: Installing plugin: ParticleFX
17:14:09: Particle Emitter Type 'Point' registered
17:14:09: Particle Emitter Type 'Box' registered
17:14:09: Particle Emitter Type 'Ellipsoid' registered
17:14:09: Particle Emitter Type 'Cylinder' registered
17:14:09: Particle Emitter Type 'Ring' registered
17:14:09: Particle Emitter Type 'HollowEllipsoid' registered
17:14:09: Particle Affector Type 'LinearForce' registered
17:14:09: Particle Affector Type 'ColourFader' registered
17:14:09: Particle Affector Type 'ColourFader2' registered
17:14:09: Particle Affector Type 'ColourImage' registered
17:14:09: Particle Affector Type 'ColourInterpolator' registered
17:14:09: Particle Affector Type 'Scaler' registered
17:14:09: Particle Affector Type 'Rotator' registered
17:14:09: Particle Affector Type 'DirectionRandomiser' registered
17:14:09: Particle Affector Type 'DeflectorPlane' registered
17:14:09: Particle Affector Type 'TextureAnimator' registered
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_BSPSceneManager.so.13.5
17:14:09: Installing plugin: BSP Scene Manager
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Codec_STBI.so.13.5
17:14:09: stb_image - v2.27 - public domain image loader
17:14:09: Supported formats: jpeg,jpg,png,bmp,psd,tga,gif,pic,ppm,pgm,hdr
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_PCZSceneManager.so.13.5
17:14:09: Installing plugin: Portal Connected Zone Scene Manager
17:14:09: PCZone Factory Type 'ZoneType_Default' registered
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_OctreeZone.so.13.5
17:14:09: Installing plugin: Octree Zone Factory
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_OctreeSceneManager.so.13.5
17:14:09: Installing plugin: Octree Scene Manager
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Plugin_DotScene.so.13.5
17:14:09: Installing plugin: DotScene Loader
17:14:09: Plugin successfully installed
17:14:09: Loading library /usr/local/lib/OGRE/Codec_Assimp.so.13.5
17:14:09: Assimp - 5.2.0 - Open-Asset-Importer
17:14:09: Supported formats: 3d 3ds 3mf ac ac3d acc amf ase ask assbin b3d blend bvh cob csm dae dxf enff fbx glb gltf hmp ifc ifczip iqm irr irrmesh lwo lws lxo md2 md3 md5anim md5camera md5mesh mdl mot ms3d ndo nff obj off ogex pk3 ply pmx prj q3o q3s scn sib smd step stl stp ter uc vta x x3d x3db xgl xml zae zgl

17:14:09: *-*-* OGRE Initialising
17:14:09: *-*-* Version 13.5.2 (Tsathoggua)
17:14:09: OverlayElementFactory for type Panel registered.
17:14:09: OverlayElementFactory for type BorderPanel registered.
17:14:09: OverlayElementFactory for type TextArea registered.
17:14:09: Registering ResourceManager for type Font
17:14:39: CPU Identifier & Features
17:14:39: -------------------------
17:14:39:  *   CPU ID: GenuineIntel: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
17:14:39:  *          SSE: yes
17:14:39:  *         SSE2: yes
17:14:39:  *         SSE3: yes
17:14:39:  *        SSE41: yes
17:14:39:  *        SSE42: yes
17:14:39:  *          MMX: yes
17:14:39:  *       MMXEXT: yes
17:14:39:  *        3DNOW: no
17:14:39:  *     3DNOWEXT: no
17:14:39:  *         CMOV: yes
17:14:39:  *          TSC: yes
17:14:39:  *INVARIANT TSC: yes
17:14:39:  *          FPU: yes
17:14:39:  *          PRO: yes
17:14:39:  *           HT: no
17:14:39: -------------------------
17:14:39: ******************************
*** Starting EGL Subsystem ***
******************************
17:14:39: EGL_VENDOR = Mesa Project
17:14:39: EGL_VERSION = 1.5
17:14:39: EGL_EXTENSIONS = EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_EXT_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless EGL_ANDROID_blob_cache EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display 
17:14:39: RenderSystem::_createRenderWindow "OgreTutorialApp", 640x480 windowed  miscParams: FSAA=0 displayFrequency=N/A externalWindowHandle=83886082 gamma=No sdlwin=93978086288192 vsync=No vsyncInterval=1 
17:14:41: EGLWindow: colourBufferSize=8/8/8/8 gamma=0 FSAA=0
17:14:41: GL_VERSION = 4.5.0.0
17:14:41: GL_VENDOR = AMD
17:14:41: GL_RENDERER = HAINAN (, LLVM 14.0.6, DRM 2.50, 5.15.81-1-MANJARO)
17:14:41: GL_EXTENSIONS = GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_meminfo GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_demote_to_helper_invocation GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_IBM_multimode_draw_arrays GL_INTEL_blackhole_render GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NVX_gpu_memory_info GL_NV_alpha_to_coverage_dither_control GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_copy_image GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_shader_atomic_int64 GL_NV_texture_barrier GL_NV_vdpau_interop GL_OES_EGL_image GL_S3_s3tc 
17:14:41: **************************************
17:14:41: ***   OpenGL 3+ Renderer Started   ***
17:14:41: **************************************
17:14:41: FBO PF_UNKNOWN depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_L8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_L16 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_BYTE_LA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R5G6B5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_B5G6R5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A4R4G4B4 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A1R5G5B5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A8R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A8B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_B8G8R8A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A2R10G10B10 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_A2B10G10R10 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT16_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT16_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT32_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT32_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_X8R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_X8B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_DEPTH16 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_SHORT_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R3G3B2 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT16_R depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT32_R depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_SHORT_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT16_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_FLOAT32_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_SHORT_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R11G11B10_FLOAT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8A8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16A16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32B32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32B32A32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8A8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16A16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32B32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R32G32B32A32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R9G9B9E5_SHAREDEXP depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R8G8B8A8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_R16G16B16A16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_DEPTH32 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_DEPTH32F depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: FBO PF_DEPTH24_STENCIL8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8 
17:14:41: [GL] : Valid FBO targets PF_UNKNOWN PF_L8 PF_L16 PF_A8 PF_BYTE_LA PF_R5G6B5 PF_B5G6R5 PF_A4R4G4B4 PF_A1R5G5B5 PF_R8G8B8 PF_B8G8R8 PF_A8R8G8B8 PF_A8B8G8R8 PF_B8G8R8A8 PF_A2R10G10B10 PF_A2B10G10R10 PF_FLOAT16_RGB PF_FLOAT16_RGBA PF_FLOAT32_RGB PF_FLOAT32_RGBA PF_X8R8G8B8 PF_X8B8G8R8 PF_R8G8B8A8 PF_DEPTH16 PF_SHORT_RGBA PF_R3G3B2 PF_FLOAT16_R PF_FLOAT32_R PF_SHORT_GR PF_FLOAT16_GR PF_FLOAT32_GR PF_SHORT_RGB PF_R11G11B10_FLOAT PF_R8_UINT PF_R8G8_UINT PF_R8G8B8_UINT PF_R8G8B8A8_UINT PF_R16_UINT PF_R16G16_UINT PF_R16G16B16_UINT PF_R16G16B16A16_UINT PF_R32_UINT PF_R32G32_UINT PF_R32G32B32_UINT PF_R32G32B32A32_UINT PF_R8_SINT PF_R8G8_SINT PF_R8G8B8_SINT PF_R8G8B8A8_SINT PF_R16_SINT PF_R16G16_SINT PF_R16G16B16_SINT PF_R16G16B16A16_SINT PF_R32_SINT PF_R32G32_SINT PF_R32G32B32_SINT PF_R32G32B32A32_SINT PF_R9G9B9E5_SHAREDEXP PF_R8 PF_R8G8 PF_R8_SNORM PF_R8G8_SNORM PF_R8G8B8_SNORM PF_R8G8B8A8_SNORM PF_R16_SNORM PF_R16G16_SNORM PF_R16G16B16_SNORM PF_R16G16B16A16_SNORM PF_DEPTH32 PF_DEPTH32F PF_DEPTH24_STENCIL8 
17:14:41: Registering ResourceManager for type Texture
17:14:41: RenderSystem capabilities
17:14:41: -------------------------
17:14:41: RenderSystem Name: OpenGL 3+ Rendering Subsystem
17:14:41: GPU Vendor: amd
17:14:41: Device Name: HAINAN (, LLVM 14.0.6, DRM 2.50, 5.15.81-1-MANJARO)
17:14:41: Driver Version: 4.5.0.0
17:14:41:  * Fixed function pipeline: no
17:14:41:  * 32-bit index buffers: yes
17:14:41:  * Hardware stencil buffer: yes
17:14:41:    - Two sided stencil support: yes
17:14:41:    - Wrap stencil values: yes
17:14:41:  * Vertex programs: yes
17:14:41:    - Number of constant 4-vectors: 4096
17:14:41:  * Fragment programs: yes
17:14:41:    - Number of constant 4-vectors: 4096
17:14:41:  * Geometry programs: yes
17:14:41:    - Number of constant 4-vectors: 4096
17:14:41:  * Tessellation Hull programs: yes
17:14:41:    - Number of constant 4-vectors: 4096
17:14:41:  * Tessellation Domain programs: yes
17:14:41:    - Number of constant 4-vectors: 4096
17:14:41:  * Compute programs: yes
17:14:41:    - Number of constant 4-vectors: 16384
17:14:41:  * Supported Shader Profiles: gl_spirv glsl glsl130 glsl140 glsl150 glsl330 glsl400 glsl410 glsl420 glsl430 glsl440 glsl450
17:14:41:  * Read-back compiled shader: yes
17:14:41:  * Number of vertex attributes: 16
17:14:41:  * Textures
17:14:41:    - Number of texture units: 16
17:14:41:    - Floating point: yes
17:14:41:    - Non-power-of-two: yes
17:14:41:    - 1D textures: yes
17:14:41:    - 2D array textures: yes
17:14:41:    - 3D textures: yes
17:14:41:    - Anisotropic filtering: yes
17:14:41:  * Texture Compression: yes
17:14:41:    - DXT: yes
17:14:41:    - VTC: no
17:14:41:    - PVRTC: no
17:14:41:    - ATC: no
17:14:41:    - ETC1: no
17:14:41:    - ETC2: yes
17:14:41:    - BC4/BC5: yes
17:14:41:    - BC6H/BC7: yes
17:14:41:    - ASTC: yes
17:14:41:    - Automatic mipmap generation: yes
17:14:41:  * Vertex Buffers
17:14:41:    - Render to Vertex Buffer: yes
17:14:41:    - Instance Data: yes
17:14:41:    - Primitive Restart: yes
17:14:41:    - INT_10_10_10_2_NORM element type: yes
17:14:41:  * Vertex texture fetch: yes
17:14:41:    - Max vertex textures: 16
17:14:41:    - Vertex textures shared: no
17:14:41:  * Read/Write Buffers: yes
17:14:41:  * Hardware Occlusion Query: yes
17:14:41:  * User clip planes: yes
17:14:41:  * Depth clamping: yes
17:14:41:  * Hardware render-to-texture: yes
17:14:41:    - Multiple Render Targets: 8
17:14:41:    - With different bit depths: yes
17:14:41:  * Point Sprites: yes
17:14:41:    - Extended parameters: yes
17:14:41:    - Max Size: 2048
17:14:41:  * Wide Lines: yes
17:14:41:  * Hardware Gamma: yes
17:14:41:  * PBuffer support: no
17:14:41:  * Vertex Array Objects: yes
17:14:41:  * Separate shader objects: yes
17:14:41:    - redeclare GLSL interface block: yes
17:14:41:  * Debugging/ profiling events: yes
17:14:41:  * Map buffer storage: yes
17:14:41: DefaultWorkQueue('Root') initialising on thread 140232141680960.
17:14:41: DefaultWorkQueue('Root')::WorkerFunc - thread 140231680452288 starting.
17:14:41: DefaultWorkQueue('Root')::WorkerFunc - thread 140231672059584 starting.
17:14:41: Particle Renderer Type 'billboard' registered
17:14:41: SceneManagerFactory for type 'BspSceneManager' registered.
17:14:41: SceneManagerFactory for type 'PCZSceneManager' registered.
17:14:41: MovableObjectFactory for type 'PCZLight' registered.
17:14:41: MovableObjectFactory for type 'Portal' registered.
17:14:41: MovableObjectFactory for type 'AntiPortal' registered.
17:14:41: PCZone Factory Type 'ZoneType_Octree' registered
17:14:41: SceneManagerFactory for type 'OctreeSceneManager' registered.
17:14:41: Parsing '/usr/local/share/OGRE/resources.cfg'
17:14:41: Creating resource group BSPWorld
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/oa_rpg3dm2.pk3' of type 'Zip' to resource group 'BSPWorld'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/ogretestmap.zip' of type 'Zip' to resource group 'BSPWorld'
17:14:41: Creating resource group Essential
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/thumbnails' of type 'FileSystem' to resource group 'Essential'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/SdkTrays.zip' of type 'Zip' to resource group 'Essential'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/profiler.zip' of type 'Zip' to resource group 'Essential'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/PBR' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/PBR/filament' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/textures/PBR' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/GLSL' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/GLSL120' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/GLSL150' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/GLSL400' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/GLSLES' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/SPIRV' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/Cg' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/HLSL' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/programs/HLSL_Cg' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/scripts' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/textures' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/textures/terrain' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/models' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/particle' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/DeferredShadingMedia/DeferredShading/post' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/PCZAppMedia' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/scripts/SSAO' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/materials/textures/SSAO' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/volumeTerrain' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/CSMShadows' of type 'FileSystem' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/dragon.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/ogredance.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/Sinbad.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/skybox.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/volumeTerrain/volumeTerrainBig.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/DamagedHelmet.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/packs/filament_shaders.zip' of type 'Zip' to resource group 'General'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/Main' of type 'FileSystem' to resource group 'OgreInternal'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/RTShaderLib/GLSL' of type 'FileSystem' to resource group 'OgreInternal'
17:14:41: Added resource location '/usr/local/share/OGRE/./Media/Terrain/' of type 'FileSystem' to resource group 'OgreInternal'
17:14:41: Warning: resource location '/usr/local/Tests/Media' does not exist - skipping
17:14:41: Parsing scripts for resource group BSPWorld
17:14:41: Parsing script scripts/clown.shader
17:14:41: Parsing script scripts/liquid_water.shader
17:14:41: Parsing script scripts/oalite.shader
17:14:41: Parsing script scripts/oanew.shader
17:14:41: Parsing script scripts/oasky.shader
17:14:41: Finished parsing scripts for resource group BSPWorld
17:14:41: Creating resources for group BSPWorld
17:14:41: All done
17:14:41: Parsing scripts for resource group Essential
17:14:41: Parsing script SdkTrays.material
17:14:41: Parsing script OgreProfiler.material
17:14:41: Parsing script SdkTrays.fontdef
17:14:41: Parsing script SdkTrays.overlay
17:14:41: Texture 'sdk_cursor.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_tray.png': Loading 1 faces(PF_A8B8G8R8,64x64x1) with 6 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,64x64x1.
17:14:41: Texture 'sdk_button_up.png': Loading 1 faces(PF_A8B8G8R8,128x32x1) with 7 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,128x32x1.
17:14:41: Texture 'sdk_text_box.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_mini_tray.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_track.png': Loading 1 faces(PF_A8B8G8R8,16x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,16x32x1.
17:14:41: Texture 'sdk_handle.png': Loading 1 faces(PF_A8B8G8R8,16x16x1) with 4 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,16x16x1.
17:14:41: Texture 'sdk_mini_text_box.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_label.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_separator.png': Loading 1 faces(PF_A8B8G8R8,64x16x1) with 6 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,64x16x1.
17:14:41: Texture 'sdk_logo.png': Loading 1 faces(PF_A8B8G8R8,128x64x1) with 7 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,128x64x1.
17:14:41: Texture 'sdk_shade.png': Loading 1 faces(PF_A8B8G8R8,64x48x1) with 6 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,64x48x1.
17:14:41: Texture 'sdk_frame.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_mini_text_box_over.png': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8B8G8R8,32x32x1.
17:14:41: Texture 'sdk_pulse.png': Loading 1 faces(PF_B8G8R8,8x1x1) with 3 hardware generated mipmaps from Image. Internal format is PF_B8G8R8,8x1x1.
17:14:41: Finished parsing scripts for resource group Essential
17:14:41: Creating resources for group Essential
17:14:41: All done
17:14:41: Parsing scripts for resource group General
17:14:41: Parsing script pbr.program
17:14:41: Parsing script pbr_filament.program
17:14:41: Program 'PBR_filament_vs_glsl' is not supported: 'pbr_filament.vert.glsl' 0:11(1): error: #extension directive is not allowed in the middle of a shader
17:14:41: Error: ScriptCompiler - invalid parameters in pbr_filament.program(21): Named constants have not been initialised, perhaps a compile error
17:14:41: Error: ScriptCompiler - invalid parameters in pbr_filament.program(32): Named constants have not been initialised, perhaps a compile error
17:14:41: Error: ScriptCompiler - invalid parameters in pbr_filament.program(94): Parameter called light_ssao does not exist. 
17:14:41: Parsing script StdQuad_vp.program
17:14:41: Parsing script Instancing.program
17:14:41: Parsing script Examples.program
17:14:41: Parsing script ShadowCaster.program
17:14:41: Parsing script deferred_post.program
17:14:41: Parsing script glTF2_PBR.material
17:14:41: Error: ScriptCompiler - invalid parameters in glTF2_PBR.material(79): Parameter called u_ScaleFGDSpec does not exist. 
17:14:41: Error: ScriptCompiler - invalid parameters in glTF2_PBR.material(80): Parameter called u_ScaleDiffBaseMR does not exist. 
17:14:41: Parsing script filament.material
17:14:41: Parsing script ShaderInstancing.material
17:14:41: Parsing script Dither.material
17:14:41: Parsing script Penguin.material
17:14:41: Parsing script Swizzle.material
17:14:41: Error: ScriptCompiler - invalid parameters in Swizzle.material(31): input_operation_type
17:14:41: Error: ScriptCompiler - invalid parameters in Swizzle.material(32): output_operation_type
17:14:41: Error: ScriptCompiler - invalid parameters in Swizzle.material(33): max_output_vertices
17:14:41: Program 'Ogre/GPTest/Swizzle/GP_GLSL_150' is not supported: 'SwizzleGP.glsl' 0:25(12): warning: extension `GL_EXT_geometry_shader4' unsupported in geometry shader
0:25(1): error: #extension directive is not allowed in the middle of a shader
17:14:41: Error: ScriptCompiler - invalid parameters in Swizzle.material(68): Named constants have not been initialised, perhaps a compile error
17:14:41: Error: ScriptCompiler - invalid parameters in Swizzle.material(69): Named constants have not been initialised, perhaps a compile error
17:14:41: Parsing script HardwareSkinningShadow.material
17:14:41: Parsing script HWInstancing.material
17:14:41: Parsing script Embossed.material
17:14:41: Parsing script facial.material
17:14:41: Parsing script Hurt.material
17:14:41: Parsing script Examples-Advanced.material
17:14:41: Parsing script Ocean.material
17:14:41: Parsing script NightVision.material
17:14:41: Parsing script Halftone.material
17:14:41: Parsing script Ogre.material
17:14:41: Parsing script Invert.material
17:14:41: Parsing script RTShaderSystem.material
17:14:41: Parsing script IsoSurf.material
17:14:41: Parsing script Examples-DynTex.material
17:14:41: Parsing script HeatVision.material
17:14:41: Parsing script Glass.material
17:14:41: Parsing script VTFInstancing.material
17:14:41: Parsing script pssm.material
17:14:41: Parsing script RZR-002.material
17:14:41: Parsing script MotionBlur.material
17:14:41: Parsing script BlackAndWhite.material
17:14:41: Parsing script OldMovie.material
17:14:41: Parsing script DualQuaternion.material
17:14:41: Parsing script DamagedHelmet.material
17:14:41: Error: ScriptCompiler - invalid parameters in glTF2_PBR.material(79): Parameter called u_ScaleFGDSpec does not exist. 
17:14:41: Error: ScriptCompiler - invalid parameters in glTF2_PBR.material(80): Parameter called u_ScaleDiffBaseMR does not exist. 
17:14:41: Parsing script Laplace.material
17:14:41: Parsing script AdaptivePNTrianglesTessellation.material
17:14:41: Parsing script RadialBlur.material
17:14:41: Parsing script Island.material
17:14:41: Parsing script Hair.material
17:14:41: Parsing script RasterizationOrder.material
17:14:41: Parsing script hdr.material
17:14:41: Parsing script LigthShafts.material
17:14:41: Parsing script Bloom2.material
17:14:41: Parsing script OffsetMapping.material
17:14:41: Parsing script Examples-Water.material
17:14:41: Parsing script WBOIT.material
17:14:41: Parsing script ShaderSystem.material
17:14:41: Parsing script Compute.material
17:14:41: Parsing script ASCII.material
17:14:41: Parsing script HW_VTF_LUTInstancing.material
17:14:41: Parsing script smoke.material
17:14:41: Parsing script HW_VTFInstancing.material
17:14:41: Parsing script OldTV.material
17:14:41: Parsing script MRTtest.material
17:14:41: Error: ScriptCompiler - invalid parameters in MRTtest.material(66): Parameter called rt0 does not exist. 
17:14:41: Error: ScriptCompiler - invalid parameters in MRTtest.material(68): Parameter called rt2 does not exist. 
17:14:41: Error: ScriptCompiler - invalid parameters in MRTtest.material(69): Parameter called rt3 does not exist. 
17:14:41: Parsing script Tiling.material
17:14:41: Parsing script Tessellation.material
17:14:41: Parsing script sibenik.material
17:14:41: Parsing script FluidSim.material
17:14:41: Parsing script CompositorDemo.material
17:14:41: Parsing script SharpenEdges.material
17:14:41: Parsing script Posterize.material
17:14:41: Parsing script Examples.material
17:14:41: Parsing script ParticleGS.material
17:14:41: Parsing script VarianceShadowmap.material
17:14:41: Parsing script DepthShadowmap.material
17:14:41: Parsing script TerrainTessellation.material
17:14:41: Parsing script DOF.material
17:14:41: Parsing script ShadowCaster.material
17:14:41: Parsing script ssao.material
17:14:41: Parsing script deferreddemo.material
17:14:41: Parsing script deferred_post.material
17:14:41: Parsing script deferred_post_minilight.material
17:14:41: Parsing script ROOM.material
17:14:41: Parsing script HorizonBased.material
17:14:41: Parsing script ShowViewPos.material
17:14:41: Parsing script UnsharpMask.material
17:14:41: Parsing script SSAOPost.material
17:14:41: Parsing script Crytek.material
17:14:41: Parsing script Volumetric.material
17:14:41: Parsing script Modulate.material
17:14:41: Parsing script ShowDepth.material
17:14:41: Parsing script GBuffer.material
17:14:41: Parsing script CreaseShading.material
17:14:41: Parsing script HemisphereMC.material
17:14:41: Parsing script ShowNormals.material
17:14:41: Parsing script triplanarReference.material
17:14:41: Parsing script CSMShadows.material
17:14:41: Parsing script RomanBath.material
17:14:41: Parsing script Sinbad.material
17:14:41: Parsing script Examples-Water.particle
17:14:41: Parsing script Examples.particle
17:14:41: Parsing script emitted_emitter.particle
17:14:41: Parsing script smoke.particle
17:14:41: Parsing script Examples.compositor
17:14:41: Parsing script ssao.compositor
17:14:41: Parsing script deferred.compositor
17:14:41: Parsing script SSAO.compositor
17:14:41: Parsing script SSAOPost.compositor
17:14:41: Finished parsing scripts for resource group General
17:14:41: Creating resources for group General
17:14:41: All done
17:14:41: Parsing scripts for resource group OgreAutodetect
17:14:41: Finished parsing scripts for resource group OgreAutodetect
17:14:41: Creating resources for group OgreAutodetect
17:14:41: All done
17:14:41: Parsing scripts for resource group OgreInternal
17:14:41: Parsing script ShadowVolumeExtude.program
17:14:41: Parsing script Shadow.material
17:14:41: Finished parsing scripts for resource group OgreInternal
17:14:41: Creating resources for group OgreInternal
17:14:41: All done
17:14:41: RenderSystem::_createRenderWindow "Render Window B", 300x300 windowed  miscParams: FSAA=0 currentGLContext=true displayFrequency=N/A externalWindowHandle=83886084 gamma=No sdlwin=93978111207456 vsync=No vsyncInterval=1 
17:14:41: EGLWindow: colourBufferSize=8/8/8/8 gamma=0 FSAA=2
17:14:41: Mesh: Loading ninja.mesh.
17:14:41: Skeleton: Loading ninja.skeleton
17:14:41: Texture 'nskingr.jpg': Loading 1 faces(PF_B8G8R8,512x512x1) with 9 hardware generated mipmaps from Image. Internal format is PF_B8G8R8,512x512x1.
17:14:41: Texture 'rockwall.tga': Loading 1 faces(PF_B8G8R8,256x256x1) with 8 hardware generated mipmaps from Image. Internal format is PF_B8G8R8,256x256x1.
17:14:41: f1bbfec61a8e7ca8fa2387e6954e9d7c_VS
56abd5aafbb0daaed3907cedc5de3685_FS
GLSL program pipeline validation result: 
0:11(1): error: #extension directive is not allowed in the middle of a shader
17:14:50: Unregistering ResourceManager for type Font
17:14:50: DefaultWorkQueue('Root') shutting down on thread 140232141680960.
17:14:50: DefaultWorkQueue('Root')::WorkerFunc - thread 140231672059584 stopped.
17:14:50: DefaultWorkQueue('Root')::WorkerFunc - thread 140231680452288 stopped.
17:14:50: PCZone Factory Type 'ZoneType_Octree' unregistered
17:14:50: *-*-* OGRE Shutdown
17:14:50: Unregistering ResourceManager for type Compositor
17:14:50: Unregistering ResourceManager for type Material
17:14:50: Unregistering ResourceManager for type GpuProgram
17:14:50: Unloading library /usr/local/lib/OGRE/Codec_Assimp
17:14:50: Uninstalling plugin: DotScene Loader
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_DotScene
17:14:50: Uninstalling plugin: Octree Scene Manager
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_OctreeSceneManager
17:14:50: Uninstalling plugin: Octree Zone Factory
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_OctreeZone
17:14:50: Uninstalling plugin: Portal Connected Zone Scene Manager
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_PCZSceneManager
17:14:50: Unloading library /usr/local/lib/OGRE/Codec_STBI
17:14:50: Uninstalling plugin: BSP Scene Manager
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_BSPSceneManager
17:14:50: Uninstalling plugin: ParticleFX
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/Plugin_ParticleFX
17:14:50: Uninstalling plugin: OpenGL ES 2.0 RenderSystem
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/RenderSystem_GLES2
17:14:50: Uninstalling plugin: GL 3+ RenderSystem
17:14:50: Unregistering ResourceManager for type Texture
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/RenderSystem_GL3Plus
17:14:50: Uninstalling plugin: GL RenderSystem
17:14:50: Plugin successfully uninstalled
17:14:50: Unloading library /usr/local/lib/OGRE/RenderSystem_GL
17:14:50: Unregistering ResourceManager for type Skeleton
17:14:50: Unregistering ResourceManager for type Mesh
paroj
OGRE Team Member
OGRE Team Member
Posts: 1994
Joined: Sun Mar 30, 2014 2:51 pm
x 1074
Contact:

Re: Multiple render windows - second window blank

Post by paroj »

Do you have the same issues when using GL (non 3+)?

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

Yes, I have the same issue using GL (non 3+).

Some other info:
X11 window system (not Wayland)
Integrated graphics device: Intel HD Graphics 520
Dedicated graphics device: AMD Radeon R5 M335 (i've tried both devices using DRI_PRIME=1)

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

I'm still trying to get multiple render windows working on my Linux system. I haven't been able to get this to work using Ogre 1.13.5 using either EGL or GLX context as described above.

I'm now trying with Ogre 2.3.1, using the EmptyProject as a framework and copying the relevant window creation code, plus additional Window/Camera/CompositorWorkspace/etc (I'm using just one scene manager for both windows).

There is a previous post here viewtopic.php?t=84711 , but this is a little old and I'm not sure if Ogre 2.x has changed since then.

Could someone please briefly outline any steps to create multiple render windows using Ogre 2.3?

  • I assume "currentGLContext = true" should be set in the createRenderWindow parameters for second & subsequent windows. However, I note that the parameter "currentGLContext" is not listed in the Ogre API documentation here https://ogrecave.github.io/ogre-next/ap ... 9a899fb20a. Although it is used in the OgreGLXWindow.cpp source code.

  • Or does multiple GL contexts (one per window) now work?

  • Is a "dummy" window required?

  • Any other steps?

I've tried using "currentGLContext = true" but crashes with the following:

Code: Select all

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  151
  Current serial number in output stream:  152

Without using currentGLContext, the windows seem to open and display the blue background, but I have the following error and my cube doesn't render.

Code: Select all

OpenGL:error(high) 1: GL_INVALID_OPERATION in glMultiDrawElementsIndirect

Thank you

User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5296
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: Multiple render windows - second window blank

Post by dark_sylinc »

In OgreNext all GL windows must have the same context (and the windows must have the same colour depth and msaa settings).

However last time I tried (2 years ago) there was a Mesa driver bug that prevented multiple windows from working correctly. I didn't try again and hopefully that bug is fixed by now.

Is a "dummy" window required?

Only if you plan having all your windows closed or there is no "main" window. The "main" window must stay alive for the lifetime of the application.

You'll have much better results using Vulkan though.

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

Thanks. Changing to Vulkan is a good idea. With Vulkan and OgreNext, the 2 render windows now both show my cube as expected which is great. It does crash with a Segmentation fault inside mRoot->renderOneFrame() and only at around 40-41 rendering cycle iterations. However, I'll admit this could be due to my code which I'm in the middle of checking.

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

I can have 2 render windows using Ogre 2.3 and Vulkan. However, there seems to be an issue with Overlays that cause a crash early during render cycling.

I created a minimal project without any framework that works. It just displays a cube. When I add Overlay code it crashes early during render cycle. Same with EmptyProject using 2 render windows. When I comment out the Overlay code (specifically //overlay->show()) it runs fine.

This makes me wonder if this is one of the few problems mentioned in this post update about v1 interface.
viewtopic.php?p=553295#p553295

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

[Solved] Re: Multiple render windows - second window blank

Post by Ryan8 »

This pretty much solved. Multiple render windows with Ogre 2.3 with Vulkan, but I couldn't get working in combination with Overlays. I'm planning to try with ImGui and no Ogre Overlays.

paroj
OGRE Team Member
OGRE Team Member
Posts: 1994
Joined: Sun Mar 30, 2014 2:51 pm
x 1074
Contact:

Re: Multiple render windows - second window blank

Post by paroj »

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

Thanks, but unfortunately there's another error.

I reinstalled Ogre (via git clone) and recompiled my modified BasicTutorial2 app. It crashes upon creation of the second render window ( createWindow("Render Window B", 300, 300); ). The error message is shown below. It's the same problem with both OpenGL and OpenGL3+ Rendering Systems.

I've also reattached my app code for reference.

Edit: I just checked the revised code changes here: https://github.com/OGRECave/ogre/pull/2 ... 992f69aadd
and compared it to the actual current file OgreX11EGLWindow.cpp. There seems to be 4 lines of code missing from the actual current file OgreX11EGLWindow.cpp line 317. I'm not real familiar with the github system so maybe it's nothing.

Code: Select all

Parsing scripts for resource group OgreInternal
Parsing script ShadowVolumeExtude.program
Parsing script Shadow.material
Finished parsing scripts for resource group OgreInternal
Creating resources for group OgreInternal
All done
RenderSystem::_createRenderWindow "Render Window B", 300x300 windowed  miscParams: FSAA=0 currentGLContext=true displayFrequency=N/A externalWindowHandle=98566148 gamma=No sdlwin=94919747296768 vsync=Yes vsyncInterval=1 
Error occurred during execution: RenderingAPIException: Fail to make context current in setCurrent at /home/ryandl/Downloads/Ogre_git_2023-02-09/ogre/RenderSystems/GLSupport/src/EGL/OgreEGLContext.cpp (line 140)
Segmentation fault (core dumped)

Code: Select all

#include <exception>
#include <iostream>

#include "Ogre.h"
#include "OgreApplicationContext.h"
#include "OgreInput.h"
#include "OgreRTShaderSystem.h"
#include "OgreCameraMan.h"
#include "OgreWindowEventUtilities.h"

using namespace Ogre;
using namespace OgreBites;

class TutorialApplication
        : public ApplicationContext
        , public InputListener
{
public:
    TutorialApplication();
    virtual ~TutorialApplication();

void setup();
bool keyPressed(const KeyboardEvent& evt);

Root*           mRoot;
RenderWindow*   mWindowA;
RenderWindow*   mWindowB;
bool            mShouldQuit;
};


TutorialApplication::TutorialApplication()
    : ApplicationContext("OgreTutorialApp")
{
    mShouldQuit = false;
}


TutorialApplication::~TutorialApplication()
{
}


void TutorialApplication::setup()
{
    ApplicationContext::setup();
    addInputListener(this);

mRoot = getRoot();
SceneManager* scnMgr = mRoot->createSceneManager();

//Get first render window already created by the framework.
//Note: I set vsync to false in the dialog.
mWindowA = getRenderWindow();

//Create second render window using the framework (not directly with Root::createRenderWindow).
NativeWindowPair natWinPairB = createWindow("Render Window B", 300, 300);
mWindowB = natWinPairB.render; 
mWindowB->setActive(true);
mWindowB->setVisible(true);
addInputListener(natWinPairB.native, this);

RTShader::ShaderGenerator* shadergen = RTShader::ShaderGenerator::getSingletonPtr();
shadergen->addSceneManager(scnMgr);

//Create cameras for each render window
SceneNode* camNodeA = scnMgr->getRootSceneNode()->createChildSceneNode();
SceneNode* camNodeB = scnMgr->getRootSceneNode()->createChildSceneNode();
Camera* camA = scnMgr->createCamera("myCam A");
Camera* camB = scnMgr->createCamera("myCam B");  
camNodeA->setPosition(200, 300, 400);
camNodeB->setPosition(-200, 300, 400);
camNodeA->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_WORLD);
camNodeB->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_WORLD);
camA->setNearClipDistance(5);
camB->setNearClipDistance(5);
camNodeA->attachObject(camA);
camNodeB->attachObject(camB);

//Create viewports for each render window
Viewport* vpA = mWindowA->addViewport(camA);
Viewport* vpB = mWindowB->addViewport(camB);
vpA->setBackgroundColour(ColourValue(0, 0, 0));
vpB->setBackgroundColour(ColourValue(0, 0, 0));

camA->setAspectRatio(Real(vpA->getActualWidth()) / Real(vpA->getActualHeight()));
camB->setAspectRatio(Real(vpB->getActualWidth()) / Real(vpB->getActualHeight()));
  
//Setup scene
scnMgr->setAmbientLight(ColourValue(0, 0, 0));
scnMgr->setShadowTechnique(ShadowTechnique::SHADOWTYPE_STENCIL_ADDITIVE);
  
Entity* ninjaEntity = scnMgr->createEntity("ninja.mesh");
ninjaEntity->setCastShadows(true);
scnMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ninjaEntity);
  
Plane plane(Vector3::UNIT_Y, 0);
MeshManager::getSingleton().createPlane(
        "ground", RGN_DEFAULT,
        plane,
        1500, 1500, 20, 20,
        true,
        1, 5, 5,
        Vector3::UNIT_Z);
Entity* groundEntity = scnMgr->createEntity("ground");
scnMgr->getRootSceneNode()->createChildSceneNode()->attachObject(groundEntity);
groundEntity->setCastShadows(false);
groundEntity->setMaterialName("Examples/Rockwall");
  
Light* spotLight = scnMgr->createLight("SpotLight");
spotLight->setDiffuseColour(0, 0, 1.0);
spotLight->setSpecularColour(0, 0, 1.0);
spotLight->setType(Light::LT_SPOTLIGHT);
SceneNode* spotLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
spotLightNode->attachObject(spotLight);
spotLightNode->setDirection(-1, -1, 0);
spotLightNode->setPosition(Vector3(200, 200, 0));
spotLight->setSpotlightRange(Degree(35), Degree(50));

Light* directionalLight = scnMgr->createLight("DirectionalLight");
directionalLight->setType(Light::LT_DIRECTIONAL);
directionalLight->setDiffuseColour(ColourValue(0.4, 0, 0));
directionalLight->setSpecularColour(ColourValue(0.4, 0, 0));
SceneNode* directionalLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
directionalLightNode->attachObject(directionalLight);
directionalLightNode->setDirection(Vector3(0, -1, 1));

Light* pointLight = scnMgr->createLight("PointLight");
pointLight->setType(Light::LT_POINT);
pointLight->setDiffuseColour(0.3, 0.3, 0.3);
pointLight->setSpecularColour(0.3, 0.3, 0.3);
SceneNode* pointLightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
pointLightNode->attachObject(pointLight);
pointLightNode->setPosition(Vector3(0, 150, 250));

}


bool TutorialApplication::keyPressed(const KeyboardEvent& evt)
{
    if (evt.keysym.sym == SDLK_ESCAPE)
    {
        mShouldQuit = true;
        getRoot()->queueEndRendering();
    }
    return true;
}


int main(int argc, char **argv)
{
    try
    {
        TutorialApplication app;
        app.initApp();
        
//app.getRoot()->startRendering(); //Custom render loop as follows: app.mWindowA->setAutoUpdated(false); app.mWindowB->setAutoUpdated(false); app.mRoot->clearEventTimes(); while(!app.mShouldQuit) { app.mWindowA->update(false); app.mWindowA->swapBuffers(); app.mWindowB->update(false); app.mWindowB->swapBuffers(); app.mRoot->renderOneFrame(); OgreBites::WindowEventUtilities::messagePump(); } app.closeApp(); } catch (const std::exception& e) { std::cerr << "Error occurred during execution: " << e.what() << '\n'; return 1; } return 0; }
paroj
OGRE Team Member
OGRE Team Member
Posts: 1994
Joined: Sun Mar 30, 2014 2:51 pm
x 1074
Contact:

Re: Multiple render windows - second window blank

Post by paroj »

hmm.. it seems the fix I pushed only works with NVidia drivers so far.

Can you try changing this line to if(0):
https://github.com/OGRECave/ogre/blob/4 ... w.cpp#L317

Ryan8
Gnoblar
Posts: 17
Joined: Wed Jul 27, 2022 2:38 am
x 2

Re: Multiple render windows - second window blank

Post by Ryan8 »

I changed the line to if(0) and it now shows two render windows.

It works on all these combinations of my integrated and discrete graphics:
OpenGL Render System / Intel(R) HD Graphics 520
OpenGL Render System / AMD Radeon R5 M335
OpenGL3+ Render System / Intel(R) HD Graphics 520
OpenGL3+ Render System / AMD Radeon R5 M335

Thanks again! Let me know if I can check anything.

Image

Post Reply