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

Author Topic: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD  (Read 4807 times)

0 Members and 1 Guest are viewing this topic.

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« on: December 13, 2012, 10:47:48 am »
Hi,

I'm using a AMD HD7870 Eyefinity edtion card with the 12.11 beta driver. I have built the latest version of SFML for Win32 and I am using Visual Studio 2010 Pro.

The problem:
While things work pretty nice while running the actual program (execpt for the issue when clearing it http://en.sfml-dev.org/forums/index.php?topic=9350.msg63358#msg63358, which I still got) I get some BSOD when exiting the application, it some times happens many times in a row and some time very infrequently. This seems to happen more often when using the 12.10 driver than the 12.11 beta driver and it seems that it never happens when not using a RenderTexture. I would roll back the driver even further but I want to make use of Eyefinity, for 6 screens, (I get BSOD with and without Eyefinity enabled) which doesn't work that great with older drivers.

Test program:
static bool useRenderTexture = true;

main(int argc, char *argv[])
{
    sf::VideoMode desktopVideoMode = sf::VideoMode::getDesktopMode();
    sf::VideoMode selectedMode     = desktopVideoMode;

    sf::ContextSettings contextSettings;
    contextSettings.antialiasingLevel = 8;

    sf::RenderWindow window(selectedMode, "Test", sf::Style::Fullscreen, contextSettings);
    window.setFramerateLimit(60);

    sf::Sprite        renderSprite;
    sf::RenderTexture renderTexture;
    if (useRenderTexture)
    {
        renderTexture.create(selectedMode.width, selectedMode.height);
        renderSprite.setTexture(renderTexture.getTexture(), true);
    }

    sf::RectangleShape rectangeShape;
    rectangeShape.setSize(sf::Vector2f(selectedMode.width / 2.0f, selectedMode.height / 2.0f));
    rectangeShape.setPosition(50.f, 50.f);
    rectangeShape.setFillColor(sf::Color::Red);

    while(window.isOpen())
    {
        sf::Event event;
        while(window.pollEvent(event))
        {
            if(event.type == sf::Event::Closed ||
                sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
                window.close();
        }

        if (useRenderTexture)
        {
            renderTexture.clear();
            renderTexture.draw(rectangeShape);
            renderTexture.display();

            window.clear();
            window.draw(renderSprite);
            window.display();
        }
        else
        {
            window.clear();
            window.draw(rectangeShape);
            window.display();
        }
    }
}
 

// Zap

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
AW: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #1 on: December 13, 2012, 11:19:17 am »
It probably is the known driver issue, SFML can't do much about. It should already be fixed in the latest beta driver, have you tried that one?
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #2 on: December 13, 2012, 11:56:22 am »
Quote
It probably is the known driver issue, SFML can't do much about. It should already be fixed in the latest beta driver, have you tried that one?
He says it in the title, and at least twice in the message... ;)
Laurent Gomila - SFML developer

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #3 on: December 13, 2012, 12:44:35 pm »
He says it in the title, and at least twice in the message... ;)
Hmmm must have been distracted too much... ::)
But still it seems to be a driver issue or is there anything you/we can do about it?
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #4 on: December 13, 2012, 12:51:22 pm »
Yeah it is definitely a driver issue, the problem is that all other games and similar applications I have test doesn't get BSOD. This has not been an issue when I have tested my program on computers with Nvidia cards. So I will be happy if someone knows a way to avoid the BSOD, as it is not only annoying, it destroys some settings in CCC (namely the Eyefinity settings). :/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #5 on: December 13, 2012, 01:12:43 pm »
I have already posted an OpenGL-only equivalent of what sf::RenderTexture does, so that one can easily compare it with other programs that work, or debug/investigate it.

There's nothing else I can do, sorry :-\
Laurent Gomila - SFML developer

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #6 on: December 13, 2012, 01:23:42 pm »
I have already posted an OpenGL-only equivalent of what sf::RenderTexture does, so that one can easily compare it with other programs that work, or debug/investigate it.
If you wonder where to find that piece of code, here you go (at least that's what I think he meant).
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #7 on: December 13, 2012, 01:46:05 pm »
I already posted it in the thread were he describes his other error, that's why I didn't post it again ;)
Laurent Gomila - SFML developer

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #8 on: December 13, 2012, 07:30:54 pm »
Thanks, I will try to render stuff to my own FBO. However I tried to that before but as I use sf::Sprite and sf::Text a lot, which needs a rendertarget to be able to render, I couldn't figure out how to render everything to an FBO and than render the texture that is bound to that FBO in the window. Is that possible without modifying the sfml source code?

// Zap

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #9 on: December 13, 2012, 09:35:47 pm »
Why do you want to do that? If you find a way to use FBOs without crashes, then I'll directly modify SFML. There's no reason to keep what you find for yourself ;)
Laurent Gomila - SFML developer

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #10 on: December 19, 2012, 09:14:35 am »
If I find the bug I would of course want to help make SFML better by sharing my findings. I just wanted to make my own rendertexture without modding the SFML source code to experiment.

This is the BSOD I get: http://tux.servegame.org/~zapfyr/temp/20121218_162006.jpg (large image).

// Zap

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #11 on: December 19, 2012, 09:17:44 am »
You don't have to modify SFML, just find what's wrong in the OpenGL code posted above, and that will be enough for me.
Laurent Gomila - SFML developer

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #12 on: December 21, 2012, 03:50:52 pm »
I couldn't find anything wrong with the OpenGL code.

However: As I have stated before BSODs occur often when using RenderTextures, however they still occur when not using them, but they are a lot less common.

I have experimented some with the drivers and found that the 12.8 WHQL version is the most stable, in fact it seems that doesn't suffer from the BSOD-problem. All drivers after the 12.8 version seems to get BSOD (even WHQL versions).

// Zap

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #13 on: December 21, 2012, 04:04:06 pm »
Hmmm I've never had any BSOD with SFML and haven't really heard of other people getting them, so for me it kind of sounds like it's your setup only... :-\
I've no idea about graphics card, but is yours rare/special? Also have run a GPU memory test (if something like that exists)?
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Zapfyr

  • Newbie
  • *
  • Posts: 29
    • View Profile
    • Email
Re: AMD CCC 12.10/12.11 beta + RenderTexture = BSOD
« Reply #14 on: December 21, 2012, 04:26:46 pm »
The card is kinda rare, as it have 6 miniDisplayPorts (Eyfinity edtion 6) but at the same time it is a normal AMD HD 7870 card so yeah ...

I have 3 cards of the same type, they all have the same problems, so it is not a broken card or something like that. :/

// Zap