Merge branch 'main' into ma/descriptor-sets
This commit is contained in:
@@ -73,7 +73,7 @@ struct Engine::BuilderDetails {
|
||||
FeatureLevel mFeatureLevel = FeatureLevel::FEATURE_LEVEL_1;
|
||||
void* mSharedContext = nullptr;
|
||||
bool mPaused = false;
|
||||
static Config validateConfig(const Config* pConfig) noexcept;
|
||||
static Config validateConfig(Config config) noexcept;
|
||||
};
|
||||
|
||||
Engine* FEngine::create(Engine::Builder const& builder) {
|
||||
@@ -1306,7 +1306,7 @@ Engine::Builder& Engine::Builder::platform(Platform* platform) noexcept {
|
||||
}
|
||||
|
||||
Engine::Builder& Engine::Builder::config(Engine::Config const* config) noexcept {
|
||||
mImpl->mConfig = BuilderDetails::validateConfig(config);
|
||||
mImpl->mConfig = config ? *config : Engine::Config{};
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -1334,22 +1334,15 @@ void Engine::Builder::build(Invocable<void(void*)>&& callback) const {
|
||||
#endif
|
||||
|
||||
Engine* Engine::Builder::build() const {
|
||||
mImpl->mConfig = BuilderDetails::validateConfig(mImpl->mConfig);
|
||||
return FEngine::create(*this);
|
||||
}
|
||||
|
||||
Engine::Config Engine::BuilderDetails::validateConfig(const Config* const pConfig) noexcept {
|
||||
Engine::Config Engine::BuilderDetails::validateConfig(Config config) noexcept {
|
||||
// Rule of thumb: perRenderPassArenaMB must be roughly 1 MB larger than perFrameCommandsMB
|
||||
constexpr uint32_t COMMAND_ARENA_OVERHEAD = 1;
|
||||
constexpr uint32_t CONCURRENT_FRAME_COUNT = 3;
|
||||
|
||||
Config config;
|
||||
if (!pConfig) {
|
||||
return config;
|
||||
}
|
||||
|
||||
// make sure to copy all the fields
|
||||
config = *pConfig;
|
||||
|
||||
// Use at least the defaults set by the build system
|
||||
config.minCommandBufferSizeMB = std::max(
|
||||
config.minCommandBufferSizeMB,
|
||||
|
||||
Reference in New Issue
Block a user