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

Faster backend init, Agility SDK, other changes #68

Open
wants to merge 133 commits into
base: develop
Choose a base branch
from

Conversation

jkunstwald
Copy link
Collaborator

phi init parallel

  • Speed up backend init
    • Fastpath for "first" GPU preference
    • Add option to defer queue init
    • Add option to defer and parallelize command list init
    • Other improvements

PSO compilations and resource creation can start immediately after "core init", significant time can be saved on the critical path by deferring the new subsystem inits.

  • Add option to enable D3D12 Agility SDK

Allows usage of "future" / arbitrary D3D12 versions independent from Windows version, can ship own D3D12Core.dll

Minor

  • Add cmd::set_global_profile_scope
    • Use as the very first command to override the per-cmdlist profile scope
  • Use phi::buffer_address in commands instead of seperate buffer/offset fields
  • Vulkan improvements
    • Simplify Vulkan layer/extension startup
    • Improve Vulkan scratch alloc mechanism
  • Improve buffer size display in debug names ("14.3 MiB" instead of raw byte amount)
  • Fix D3D12 shader table root constants (raytracing)
  • Add minor missing DLL exports
  • Add raytracing PSO debug names
  • Fix MSVC DLL copies (CMake)
  • Add option to supply own scratch buffers for RT AS builds
  • Add Optick profile scope nesting (D3D12)

namespace phi
{
// formats an amount of bytes into a human readable version
inline int byte_print(size_t numBytes, cc::span<char> outString)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eventually I would like add things like these to cc::format (not now though)

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.

3 participants