mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-14 03:11:29 +00:00
Add a Toggle that can be disallowed for timestamp tick->ns conversion.
Bug: dawn:686 Change-Id: If017922ece2d98e95dedc922994807b85ca07397 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41940 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
da70024b08
commit
8c82acd778
@ -850,7 +850,8 @@ namespace dawn_native {
|
|||||||
cmd->destinationOffset = destinationOffset;
|
cmd->destinationOffset = destinationOffset;
|
||||||
|
|
||||||
// Encode internal compute pipeline for timestamp query
|
// Encode internal compute pipeline for timestamp query
|
||||||
if (querySet->GetQueryType() == wgpu::QueryType::Timestamp) {
|
if (querySet->GetQueryType() == wgpu::QueryType::Timestamp &&
|
||||||
|
GetDevice()->IsToggleEnabled(Toggle::ConvertTimestampsToNanoseconds)) {
|
||||||
EncodeTimestampsToNanosecondsConversion(this, querySet, queryCount, destination,
|
EncodeTimestampsToNanosecondsConversion(this, querySet, queryCount, destination,
|
||||||
destinationOffset);
|
destinationOffset);
|
||||||
}
|
}
|
||||||
|
@ -1191,6 +1191,7 @@ namespace dawn_native {
|
|||||||
void DeviceBase::SetDefaultToggles() {
|
void DeviceBase::SetDefaultToggles() {
|
||||||
SetToggle(Toggle::LazyClearResourceOnFirstUse, true);
|
SetToggle(Toggle::LazyClearResourceOnFirstUse, true);
|
||||||
SetToggle(Toggle::DisallowUnsafeAPIs, true);
|
SetToggle(Toggle::DisallowUnsafeAPIs, true);
|
||||||
|
SetToggle(Toggle::ConvertTimestampsToNanoseconds, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceBase::ApplyToggleOverrides(const DeviceDescriptor* deviceDescriptor) {
|
void DeviceBase::ApplyToggleOverrides(const DeviceDescriptor* deviceDescriptor) {
|
||||||
|
@ -167,6 +167,12 @@ namespace dawn_native {
|
|||||||
{"flush_before_client_wait_sync",
|
{"flush_before_client_wait_sync",
|
||||||
"Call glFlush before glClientWaitSync to work around bugs in the latter",
|
"Call glFlush before glClientWaitSync to work around bugs in the latter",
|
||||||
"https://crbug.com/dawn/633"}},
|
"https://crbug.com/dawn/633"}},
|
||||||
|
{Toggle::ConvertTimestampsToNanoseconds,
|
||||||
|
{"convert_timestamps_to_nanoseconds",
|
||||||
|
"If needed, use a compute shader to transform timestamp queries from ticks to "
|
||||||
|
"nanoseconds. This is temporarily needed to avoid requiring Tint to use timestamp "
|
||||||
|
"queries",
|
||||||
|
"https://crbug.com/dawn/686"}}
|
||||||
// Dummy comment to separate the }} so it is clearer what to copy-paste to add a toggle.
|
// Dummy comment to separate the }} so it is clearer what to copy-paste to add a toggle.
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ namespace dawn_native {
|
|||||||
DisallowUnsafeAPIs,
|
DisallowUnsafeAPIs,
|
||||||
UseTintGenerator,
|
UseTintGenerator,
|
||||||
FlushBeforeClientWaitSync,
|
FlushBeforeClientWaitSync,
|
||||||
|
ConvertTimestampsToNanoseconds,
|
||||||
|
|
||||||
EnumCount,
|
EnumCount,
|
||||||
InvalidEnum = EnumCount,
|
InvalidEnum = EnumCount,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user