aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 07:31:19 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 07:31:19 +0300
commit4b741fb19c495a29bc12f6f057df01c91c1d9097 (patch)
tree02983585bfdec0b14f84d02bed99d3f7a9eb1f62 /docs/tomes
parent645eca551004f9eea8e2276e9110f3a66a1ddc69 (diff)
downloadfparkan-4b741fb19c495a29bc12f6f057df01c91c1d9097.tar.xz
fparkan-4b741fb19c495a29bc12f6f057df01c91c1d9097.zip
feat(vulkan): add depth attachment pipeline support
Diffstat (limited to 'docs/tomes')
-rw-r--r--docs/tomes/05-render.md17
1 files changed, 10 insertions, 7 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md
index 545b8db..6c0524d 100644
--- a/docs/tomes/05-render.md
+++ b/docs/tomes/05-render.md
@@ -845,20 +845,23 @@ swapchain resources, создаёт один `vk::Pipeline` на уникаль
созданные variants. Baseline оригинального MSH подтверждён с состоянием
`opaque + depth disabled + cull disabled + alpha-test disabled`.
-`SourceAlpha` и front/back culling имеют Vulkan mapping в этом кэше. Запрос
-depth или alpha-test сейчас завершается явной ошибкой: renderer ещё не имеет
-depth attachment либо alpha-test shader variant, поэтому он не должен молча
-подменять state. Также не установлен источник значений для Batch20/MAT0: их
+`SourceAlpha`, front/back culling и depth modes имеют Vulkan mapping в этом
+кэше. При создании swapchain resources renderer выбирает capability-approved
+depth/stencil format, выделяет device-local attachment, очищает его в render
+pass и прикрепляет к каждому framebuffer. `TestWrite` включает depth test и
+write; `TestReadOnly` включает test без write. Alpha-test пока завершается
+явной ошибкой: shader variant ещё не существует, поэтому renderer не должен
+молча подменять state. Также не установлен источник значений для Batch20/MAT0: их
поля нельзя объявлять blend/depth/cull mapping без dynamic capture или
дополнительного дизассемблирования. Это частично реализованная compatibility
boundary, а не заявление о готовой parity fixed-function state.
-Выбор будущего depth/stencil attachment уже отделён от renderer lifetime:
+Выбор depth/stencil attachment отделён от renderer lifetime:
`select_depth_stencil_attachment_format` применяет тот же фиксированный порядок
форматов, что и capability gate, к фактически поддерживаемому списку GPU.
Это исключает ситуацию, когда admission принимает один совместимый формат, а
-allocation позднее выбирает другой; сам attachment и render-pass integration
-остаются следующей отдельной задачей.
+allocation позднее выбирает другой; resource уничтожается после framebuffer и
+render pass при recreate/teardown.
После последнего world pass renderer закрывает сцену и выводит back buffer.
World3D снимает `in_render`, восстанавливает временный viewport state и вызывает