.[ ČeskéHry.cz ].
[SDL + OPENGL] glCreateShader access violation - Vyřešeno

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 9. březen 2015, 19:03:34    Předmět: [SDL + OPENGL] glCreateShader access violation - Vyřešeno Odpovědět s citátem

Zdravím,

stala se mi následující věc. Vyměnil jsem v PC kartu z AMD HD7850 -> GTX 960. A najednou mi začal glCreateShader házet segfault. Na netu jsem se dočetl, že to je způsobeno tím, že není inicializovaný kontext, ale inicializace proběhne vpořádku (na AMD kartě to jelo bez problémů). Inicializace je následující:

kód:

//....
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 5);

SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 32);

//....
mainwindow = SDL_CreateWindow(...)
maincontext = SDL_GL_CreateContext(mainwindow);

GLenum rev;
   glewExperimental = GL_TRUE;
   rev = glewInit(); //glewInit() vrátí success

   if (GLEW_OK != rev){
      std::cout << "Error: " << glewGetErrorString(rev) << std::endl;
      exit(1);
   }
   else {
      std::cout << "GLEW Init: Success!" << std::endl;
      std::cout << "Status: Using GLEW " << glewGetString(GLEW_VERSION) << std::endl;
   }
//....
Initialize(mainwindow); //tady v té funkci načítám shadery apod. a padá to právě na glCreateShader uvnitř.


Nevíte, čím by to mohlo být? Na staré AMD kartě to jelo. Ovladače jsem odinstaloval v safe modu pomocí utility DDU.

Díky Exclamation


Naposledy upravil mafian89 dne 9. březen 2015, 21:20:00, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1536
Bydliště: u Prahy

PříspěvekZaslal: 9. březen 2015, 19:31:05    Předmět: Odpovědět s citátem

První bych zkusil vyhodit ten SDL_GL_ACCELERATED_VISUAL - podle internetu jsou s tím různý problémy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 608

PříspěvekZaslal: 9. březen 2015, 19:34:15    Předmět: Re: [SDL + OPENGL] glCreateShader access violation Odpovědět s citátem

Nemůžeš buildnout jednoduchý exáč, co nic nedělá a co padá?
Náhodou GTX 960 mám (doufám).
Ideálně s debug symboly a přidat pdb (stačí Release).
Z toho cos postnul asi moc nezjistíme.
EDIT: pokud to tedy zkoušíš ve Windows a kompiluješ ve VS.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 9. březen 2015, 20:01:53    Předmět: Odpovědět s citátem

Ladis: Zkoušel jsem a výsledek je pořád stejný.
mar: Pokusím se..


Naposledy upravil mafian89 dne 9. březen 2015, 20:26:41, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 9. březen 2015, 20:19:06    Předmět: Odpovědět s citátem

A ty shadery jsou kde? Mě to spadne při loadingu shader něco, protože tam ten shader neni. Wink
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 9. březen 2015, 20:23:39    Předmět: Odpovědět s citátem

Omg, sorry Very Happy Za mmnt sem hodin novej archiv..

link: http://uloz.to/xYHu8cK1/bin-plus-shaders-zip

snad uz to pujde, melo by to zobrazit jen prázdné okno. Snad to bude vše, padne mi to hnedka, takže jsem možná na něco i zapomněl. Díky za ochotu Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 608

PříspěvekZaslal: 9. březen 2015, 20:59:52    Předmět: Odpovědět s citátem

No glewCreateShader (ukazatel na funkci) je null pointer, takže ti to tam zavolá nulovou adresu a spadne. Otázka je proč.
Ještě se na to zkusím podívat víc do detailu.
EDIT: je to proto, že GL_VERSION vrací 1.1.0
Takže Ladis měl pravdu, viz http://stackoverflow.com/questions/20451074/glgetstringgl-version-returns-1-1-0-even-though-card-supports-2-1
Zkusil jsem ručně přeskočit všechna volání SDL_GL_SetAttribute a prošlo to.
Takže jenom zjistit, který to je, ale to už zvládneš.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 9. březen 2015, 21:12:16    Předmět: Odpovědět s citátem

Aha, koukám na to. Ale netuším proč..

EDIT: Díky, také jsem to našel. Opravdu to pomohlo. Díky moc!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1536
Bydliště: u Prahy

PříspěvekZaslal: 9. březen 2015, 21:21:24    Předmět: Odpovědět s citátem

Spadne to i na mém Radeon 7850. Přitom píšeš (mafian89), že tobě to na něm jelo Smile (teď kdo má/měl staší drivery, jestli ty, nebo já - OpenGL mi hlásí tvý tooly 4.3.12618).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 608

PříspěvekZaslal: 9. březen 2015, 21:29:37    Předmět: Odpovědět s citátem

Takže to vypadá, že to rozbije SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 32);
EDIT: 24 funguje Smile viz http://stackoverflow.com/questions/22435518/sdl2-and-glew-unable-to-get-proper-opengl-version-if-using-sdl-gl-setattribute
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mafian89



Založen: 21. 10. 2012
Příspěvky: 51

PříspěvekZaslal: 9. březen 2015, 22:31:48    Předmět: Odpovědět s citátem

Ladis: Nechápu tomu, ještě včera večer jsem to na něm zkoušel Very Happy Je to záhada... Používal jsem ty omega ovladače (verze podle amd stránek: Display Driver ver. 14.501.1003)
Mar: Aha, tak to jsem nevěděl Smile

Díky moc všem Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna