Дебаг OpenGL шейдеров

Форум Форумы ГЛАВНЫЙ ФОРУМ Дебаг OpenGL шейдеров

Помечено: 

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Записи
  • #68
    LevITLevIT
    Участник

    Коллеги, добрый день! У кого есть опыт по сабжу? Хочу побегать по пикселям треугольника во фрагментном шейдере. Есть тулсы вроде RenderDoc, но разработчики пишут, что GL приложения не поддерживаются, используя классическую схему (glShaderSource,glCompileShader), хотя демки на UE\Unity работают. Пробовал создавать дебаг контекст и компилировать шейдеры технологией SPIR-V с оставлением отладочной информации и вызовы glShaderBinary – эффекта ноль. Какие есть способы\инструменты, неужели нельзя отладить программу на GPU? Понятно, что многопоточный код и т.д, но на DirectX\Vulkan это как-то работает.

    #91
    Kostyan_MinskKostyan_Minsk
    Участник

    Да, отладка фрагментного шейдера OpenGL в RenderDoc возможна. Ключевой момент создание core profile контекста версии не ниже 4.3 с поддержкой вычислений.

    Если используется GLFW, установите GLFW_OPENGL_CORE_PROFILE.

    Для NVIDIA-карт альтернатива NVIDIA Nsight Graphics.

    #139
    NiemoNiemo
    Участник

    Коллеги, добрый день! У кого есть опыт по сабжу? Хочу побегать по пикселям треугольника во фрагментном шейдере. Есть тулсы вроде RenderDoc, но разработчики пишут, что GL приложения не поддерживаются, используя классическую схему (glShaderSource,glCompileShader), хотя демки на UE\Unity работают. Пробовал создавать дебаг контекст и компилировать шейдеры технологией SPIR-V с оставлением отладочной информации и вызовы glShaderBinary – эффекта ноль. Какие есть способы\инструменты, неужели нельзя отладить программу на GPU? Понятно, что многопоточный код и т.д, но на DirectX\Vulkan это как-то работает.

    RenderDoc поддерживает OpenGL, но только если приложение использует core profile 3.2+. Твоя проблема legacy-контекст (обычный, не core). Добавь при создании окна/контекста флаги: GLFW_OPENGL_CORE_PROFILE и GLFW_OPENGL_COMPAT_PROFILE не используй. Для GLUT или ручного wglCreateContext запроси версию 4.3+. Альтернативы: NVIDIA Nsight Graphics, AMD GPU PerfStudio или старый добрый glGetError/лог-текстуры. SPIR-V тут не при чём.

    #174
    UdjinUdjin
    Участник

    RenderDoc работает с OpenGL но требует core profile 3.2+. У вас судя по всему legacy-контекст. Создавайте контекст с явным запросом версии 4.3 core и всё заработает.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Для ответа в этой теме необходимо авторизоваться.