Мне нужна структура данных того же размера, что и обычный буфер глубины, и я должен иметь возможность читать и записывать в нее шейдер. Возможно ли это и как выглядит эта структура данных?
Нет, шейдер GLSL не может читать и записывать один и тот же буфер.
Короче говоря, распараллеливание работы шейдера не было бы простым.