Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gpu: Check index buffer contents in pre-draw validation #8489

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Commits on Sep 12, 2024

  1. gpu: Check index buffer contents in pre-draw validation

    Fixes KhronosGroup#2492
    
    Completely rework gpuav_draw, to make it easier to add validation,
    and debug existing one.
    When adding validation for some VkBuffer, the 2 more importants parts
    are 1) creating the validation shader and 2) have an informative error
    message. gpuav_draw.cpp has been redesigned around that idea.
    Each shader is in charge of its small validation, no uber shader trying
    to cater to all needs. Doing that ends up being a mess, with the need
    to correctly pipe data to the validation shader.
    Validation shaders are now more fine grained.
    The C++ has been reworked around some template to streamline the
    process of adding validation. The general idea is the following:
    1) Declase a new "shader" struct representing validation shader
    bindings and push contants
    2) fill that struct
    3) bind this struct and the validation pipeline
    4) dispatch the appropriate number of draws
    
    About 4): we used to dispatch one draw, and do for loop in the shader
    to scan buffer elements. GPU are not good at that, instead a proper
    amount of draws should be dispatched, each in charge of doing it's
    small validation logic.
    jeremyg-lunarg authored and arno-lunarg committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    84b847a View commit details
    Browse the repository at this point in the history
  2. gpu: Fixes

    arno-lunarg committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    e566158 View commit details
    Browse the repository at this point in the history