Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Weird bug on AMD E6760 GPU  (Read 1978 times)

0 Members and 1 Guest are viewing this topic.

slotdev

  • Sr. Member
  • ****
  • Posts: 385
    • View Profile
Weird bug on AMD E6760 GPU
« on: July 29, 2013, 06:00:37 pm »
Hi

Here's a really strange bug on the AMD E6760 GPU, which supports up to 6 display devices. We only use 4 :)
I am trying to load & show a graphic the same resolution as the display:

Display 1, 1920x1080 xy =  0,0
Display 2, 1920x1080 xy =  0,1920
Display 3, 1920x1080 xy =  0,-1080
Display 4, 1920x1080 xy =  0,1080

When set to these positions, I see the message "Failed to share the OpenGL context" and display 1, 2 and 3 give a warning about a maximum texture size of 1024x1024. I can see only my graphic on display 4

So I re-configure the position of display 4 via Windows control panel to be, let's say, x 560 y 1080, and no OpenGL context error occurs, I see my graphics on displays 1,2 and 3. Display 4 is blank.

Why do I get these OpenGL context/max texture size errors? I've never seen them before using this system.

Sadly, this a multimedia kiosk type system, so we cannot re-configure displays (not that it would fix the problem, anyway).

#include <SFML\System.hpp>
#include <SFML\Window.hpp>
#include <SFML\Graphics.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
        sf::Texture tx1,tx2,tx3,tx4;
        sf::Sprite  sp1,sp2,sp3,sp4;
        sf::View w4View;

    sf::RenderWindow window1(sf::VideoMode(   0,    0,1920,1080),"Test1",sf::Style::None);
    sf::RenderWindow window2(sf::VideoMode(1920,    0,1920,1080),"Test2",sf::Style::None);
    sf::RenderWindow window3(sf::VideoMode(   0,-1080,1920, 450),"Test3",sf::Style::None);
//    sf::RenderWindow window4(sf::VideoMode( 560, 1080,1360, 256),"Test4",sf::Style::None);
    sf::RenderWindow window4(sf::VideoMode(   0, 1080,1360, 256),"Test4",sf::Style::None);

        tx1.loadFromFile("tx1.png");
        tx2.loadFromFile("tx2.png");
        tx3.loadFromFile("tx3.png");
        tx4.loadFromFile("tx4.png");

        sp1.setTexture(tx1);
        sp2.setTexture(tx2);
        sp3.setTexture(tx3);
        sp4.setTexture(tx4);

        while (window4.isOpen())
    {
        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
                {
            window4.close();
                }
        sf::Event event;
        while (window4.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window4.close();
        }
        window1.clear(sf::Color::Blue);
        window2.clear(sf::Color::Blue);
        window3.clear(sf::Color::Blue);
        window4.clear(sf::Color::Blue);

                window1.draw(sp1);
                window2.draw(sp2);
                window3.draw(sp3);
                window4.draw(sp4);

                window1.display();
                window2.display();
                window3.display();
                window4.display();
        }
    return 0;

}
 

Thanks
Ed
SFML 2.1

Hanmac

  • Newbie
  • *
  • Posts: 20
    • View Profile
    • Email
Re: Weird bug on AMD E6760 GPU
« Reply #1 on: July 29, 2013, 06:15:57 pm »
hm what sfml version did you use? the sf::VideoMode i have seen only support 2-3 parameters not 4

http://sfml-dev.org/documentation/2.0/classsf_1_1VideoMode.php

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10821
    • View Profile
    • development blog
    • Email
Re: Weird bug on AMD E6760 GPU
« Reply #2 on: July 29, 2013, 06:29:50 pm »
Yeah, SFML doesn't support multiple displays so you must be using your own modification of it. Can you show what you modify?
And yes there's a limit on the max size of textures, so you must make sure that your images aren't bigger than that.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

slotdev

  • Sr. Member
  • ****
  • Posts: 385
    • View Profile
Re: Weird bug on AMD E6760 GPU
« Reply #3 on: July 30, 2013, 10:59:09 am »
We use SFML revision from 07 May 2013, so quite recent.

I had to modify WindowImplWin32 to open the window at its final position (due to the system we use on these kiosks, we cannot move window once open). I just open a window at some XY position.

I have since found out that display 4 is on a separate (Intel) video card. So I guess this is never going to work with SFML :(

SFML 2.1