Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Dez 30, 2024 17:59

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Di Nov 03, 2015 19:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Die hab ich noch nie gelesen aber ich hab sie gerade überflogen und ja da steht nix nützliches dafür drin ^^
Also ein neues Projekt Anlegen(ctrl+n oder File Menü), dann gibst dort Executable raus suchen, Working Directory sucht er sich selber aber wenn du z.B. ein unterschiedlichen build Ort hast musst den doch anpassen.
Wenn du noch hast Command Line Arguments angeben, die mit an dein Binary übergeben werden sollen, dann gehst links in der Liste auf Debug und markerst je nach wie du deine GameLoop gebaut hast glClear, w/xglMakeCurrent oder SwapBuffers als Frame Termination.
So weiß das Tool von wo bis wo ein Frame geht und kann entsprechend representieren.
Ok Button drücken und nun gehst oben ins Debug Menü->Add/Remove Breakpoints und im Error/Warning Reiter packst beide OpenGL Möglichkeiten rüber.

Deprecated Function ist sämtlicher Code, extern, intern, der deprecated makiert wurde und in einer offline db von AMD liegt(z.B. die alten unsicheren Windows string API).
Detect Error sucht generell nach Fehler im Prozess, also Exceptions(auch die abgefangen wurde), Treiber interne Fehlermeldungen, nicht behandelte Interrupts.
Memory Leak und Redundant State Change sind selbst erklärend.

Wenn man keine AMD Karte hat, dann wird das Komplette OpenCL Paket deaktiviert, also profiling, debugging, Analyze.
Dann gehst du Debug-Menü->BreakPoints->OpenGL Debug Output Extension Settings, welche die einzelnen möglichen Settings von der OpenGL API mappen aber auch noch logisch bei den werfen von jeweiliger Funktionsart unterscheidet.
Also Reported Message Severities Error und Undefined sollten reichen.
Dann sicher gehen, dass Debug-Mode aktive ist und dann starten.

Wenn nun was eintritt, dann bekommst ein Callstack(sofern debug symbole irgendwo rum liegen oder unter windows der visual studio debug-symbols service an ist), codestelle(sofern der code verfügbar ist) und natürlich den output.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Di Nov 03, 2015 19:55 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Also ein neues Projekt Anlegen(ctrl+n oder File Menü), dann gibst dort Executable raus suchen,

Da wäre schön wen ich soweit kommen würde, zuerst sollte ich mal wissen wie man das Tool startet.

Mit
Code:
  1. dpkg -L amdcodexl

finde ich keine bin-Datei die ich starten könnte.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Di Nov 03, 2015 22:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
Ob eine Datei startbar ist oder nicht, hängt nicht von ihrer Dateiendung ab. Ich vermute, dass sich CodeXL irgendwo in /opt/ installiert hat, kann das aber gerade nicht nachschauen.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Di Nov 03, 2015 22:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Sudo hdupdate
Locate CodeX
Dann sollte einiges aufpoppen und da linux nix mit dem filesystem ordnern zu tun hat kocht in jeder distro sein eigenen ordner brei und daher kann man es einfach nicht sagen, ohne es auf der distro zu testen.
Fedora, centos und ubuntu haben das icon mit im menü.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich empfehle Renderoc : https://github.com/baldurk/renderdoc

Auch im Hinblick auf kommende APIs ;)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 17:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Windows only steht da, ungünstig unter debian.
Scheint sich durch directx debugging ein zuschränken.

Vertex und fragment picking sowie debugging, sowie profiling können codexl und nvidia perfkit können das nur über eigene treiber, während d3d es per api anbietet. Hatte ich mal in pix gesehen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 17:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
Sehr interessantes Programm, Sascha. Der GiHub-Seite zufolge auch für OpenGL 3.2+ und Linux. Für Linux allerdings (noch) ohne GUI. Werde ich auf jeden Fall mal im Auge behalten, da CodeXL leider des öfteren mal abstürzt, wenn man es bräuchte. Hat eigentlich jemand Erfahrungen mit Nvidia's Linux Graphics Debugger?

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 17:58 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
glAwesome hat geschrieben:
Ob eine Datei startbar ist oder nicht, hängt nicht von ihrer Dateiendung ab. Ich vermute, dass sich CodeXL irgendwo in /opt/ installiert hat, kann das aber gerade nicht nachschauen.

So wie es aussieht, ist das deb-Archiv fehlerhaft.
Ich habe jetzt das tar.gz Archiv geladen, dort hat es ein CodeXL zum ausführen.

Das Tool konnte ich jetzt wenigsten starten.
Mal schauen, ob ich damit zu recht komme.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 18:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
TAK2004 hat geschrieben:
Windows only steht da, ungünstig unter debian.
Scheint sich durch directx debugging ein zuschränken.


Es fehlt nur die fertige GUI. Im Repo gibts eine QT-GUI die dann Cross-Platform ist, die GUI braucht man auch nur um den Trace abzuspielen. Ist aber noch work-in-progress, aber trotzdem sollte man sich das Teil evtl. Bookmarken, da es auch Support für Vulkan bekommt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 18:30 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Jetzt motzt er wegen der OpenGL-Version.

Sobald ich das Project starte kommt folgende Meldung:
Code:
  1. A BadMatch X error occured. Most likely the requested OpenGL version is invalid.
  2.  
  3. Press OK to ignore and risk data corruption.
  4. Press Cancel to kill the program.


Bei diese Programm-Zeile bleibt er dann stehen, könnte hier der erste Fehler sein ?
Code:
  1. procedure TBuffer.Resize(AWidth, AHeight: GLint);
  2. --> begin
  3.   FWidth := AWidth;
  4.   FHeight := AHeight;
  5. end;
  6.  

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 18:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Welche OpenGL Version hast du denn angefordert?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 18:56 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wen du in CodeXL meinst, dann keine.

_________________
OpenGL


Zuletzt geändert von mathias am Mi Nov 04, 2015 19:45, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 18:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
mathias hat geschrieben:
Wen du in xlcode meinst, dann keine.


Nein, in deiner Anwendung.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 19:09 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Wenn du dein code noch durch codexl gejagt hast, dann wirst du erfahrungsgemäß einige programmierfehler im eigenem ubd femden code finden.
Selbst glew hat ziemlich häftige fehler, weshalb ich ja davon weg bin.
In der engine, die ich in mein letztem job gearbeitet hab waren auch diverse bugs und falsche nutzungswege und der code lief problemlos in einigen tech demos und games. Selbst perfkit hat nicht gemeckert, wo eindeutig die opengl api oder shader falsch waren(specs sollte man halt beachten). Amd ist unglaublich pedantisch, was es opengl treiber angeht. Das tool ist da gleich gerichtet aber läuft halt mit fremden cpus und gpus.
Es frustriert und machbglücklich zugleich ^^

edit:
Hier mal mein Code, um die höchst möglichen OpenGL Context zu bekommen und auch garantiert nicht falsch initialisiert wie die meisten Internet resourcen es sich gegenseiten abgucken.
Ist tatsächlich ein ziemlich großes Problem, irgendwer hackt was zusammen, funktioniert und dann verbreitet es sich, dann sagt einem CodeXL(eigentlich mein AMD OpenGL Treiber) dass ich da bullshit mache und diverse Spec Seiten später kam dann das raus.
Ich hab das schon einiges gesehen, wie z.B. die Abfrage der Version obwohl der Treiber nur 2.1 kann, weil die API schon als nicht Kern teilweise verfügbar war oder dann aus den Vendor String oder ähnliches Versionen abgeleitet werden oder man ogl3-4 Kern-Befehle sucht obwohl die immer 0 zurück geben sollten, wenn man kein 3 oder höher Kern bereits hat.
Was z.B. erlaubt ist, ist wglCreateContextAttribsARB in einem OpenGL 1-2 Context ab zu fragen aber wird nur bei einem OpenGL 3 oder höheren Treiber was anderes als 0 zurück geben.
Erst mit OpenGL5 soll es eine Möglichkeit geben, die nicht eine ARB Erweiterung braucht(und damit auch ein OpenGL 1-2 Context). Mal abwarten.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SIGSEV wegen Bezeichnername
BeitragVerfasst: Mi Nov 04, 2015 19:49 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Sascha Willems hat geschrieben:
mathias hat geschrieben:
Wen du in xlcode meinst, dann keine.


Nein, in deiner Anwendung.

[quote=pascal] with OpenGLControl do begin
OpenGLMajorVersion := 3;
OpenGLMinorVersion := 3;
end;[/quote]

Zitat:
Ist tatsächlich ein ziemlich großes Problem, irgendwer hackt was zusammen, funktioniert und dann verbreitet es sich,

Vielleicht habe ich irgend ein falscher Code reingehackt.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.015s | 15 Queries | GZIP : On ]