Skip to content

Adding profiling and swapchain present first then render#75

Merged
samcake merged 2 commits into
mainfrom
claudio
Apr 22, 2026
Merged

Adding profiling and swapchain present first then render#75
samcake merged 2 commits into
mainfrom
claudio

Conversation

@samcake
Copy link
Copy Markdown
Owner

@samcake samcake commented Apr 22, 2026

No description provided.

samcake added 2 commits April 20, 2026 21:57
- Profiler.h: PICO_CPU_SCOPE / PICO_GPU_SCOPE macros, disabled when
  PICO_PROFILING is not defined
- Profiler.cpp: ETW (TraceLogging) + Superluminal backends; Superluminal
  loads PerformanceAPI.dll dynamically at startup — no link-time dep,
  graceful no-op if not installed
- CMake: PICO_PROFILING / PICO_PROFILER_ETW / PICO_PROFILER_SUPERLUMINAL
  options, enabled in all Windows presets
- ext/superluminal: vendor Superluminal API headers (BSD licensed)
- pico_04: add include and first PICO_CPU_SCOPE uses; convert to vsync
  job system matching pico_eye and pico_terrain
- Add PICO_PROFILER_PIX CMake option: includes WinPixEventRuntime,
  links the lib, copies the DLL to output dirs
- Implement GpuScope with PIXBeginEvent/PIXEndEvent on the D3D12
  command list (cast from void*)
- Expose Batch::nativeCommandList() / D3D12Backend override
- Rename Viewport::present -> render; remove presentSwapchain from
  _renderCallback so callers own the present/render split
- All samples: call presentSwapchain first on each vsync tick,
  then viewport->render — correct double-buffer cadence with the
  waitable swapchain handle
@samcake samcake merged commit 300f811 into main Apr 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant