Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2023, 20:27:43 Předmět: MESA OpenGL Core? |
|
|
Ahoj, mám zase jeden takový problém s GLSL:
Když vyspecifikuju verzi #version 330 nebo i #version 330 core, tak to pořád sežere i attribute a varying. To by nemělo, ne? Podle mě by to mělo striktně vyžadovat in a out.
Verze OpenGL je:
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 460 Graphics (polaris11, LLVM 15.0.7, DRM 3.42, 5.15.94-1-MANJARO)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions: _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 2. březen 2023, 20:32:43 Předmět: Re: MESA OpenGL Core? |
|
|
no máš zaplý compatibility profile.
je potřeba vytvořit core context (s atributy).
nevím co používáš (SDL2?), ale určitě tam budou mít wrapnutou funkci,
kde se dá specifikovat požadovaná GL verze a flagy/atributy,
kde specifikuješ, že chceš core profile, forward compatibility atd. |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 2. březen 2023, 20:38:47 Předmět: Re: MESA OpenGL Core? |
|
|
tak co koukám, tak v SDL2 na to je SDL_GL_SetAttribute:
kód: |
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
něco takového před vytvoření GL contextu, bez záruky... |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2023, 20:50:18 Předmět: |
|
|
Ano, používám SDL2 a Core profil přesně tímto způsobem.
Teď jsem nahodil i debug přes ARB_debug_output:
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
Ale nevypisuje to žádný warning/error, jen nějaké info. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 2. březen 2023, 21:09:19 Předmět: |
|
|
aha ok, tak v tom případě to bude driver.
u mě na win/nvidia (používám version 140 a core profile 3.2) mi to vyhodí
při překladu fragment shaderu error když dám místo in varying, že používám deprecated feature |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2023, 21:24:14 Předmět: |
|
|
Bolest. Člověk by čekal trochu lepší implementaci u knihovny, která je už roky zmražená... Nebo kdyby šla nějak zapnout striktnější kompilace GLSL... Zkusím pohledat. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2023, 22:33:48 Předmět: |
|
|
glslangValidator snad pomůže
Edit: Pomohl. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
|