mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
Clear Vulkan Textures at first usage
This prevents dirty textures to be used when memory is recycled while destroying/creating textures. If a texture is not cleared at load, it will be cleared to 0 before it is used. Bug: dawn:145 Change-Id: Ia3f02427478fb48649089829186ccb377caa1912 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/6960 Commit-Queue: Natasha Lee <natlee@microsoft.com> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
031fbbbaa1
commit
28232ce9f5
@@ -41,12 +41,6 @@ TEST_F(ToggleValidationTest, QueryToggleInfo) {
|
||||
|
||||
// Tests overriding toggles when creating a device works correctly.
|
||||
TEST_F(ToggleValidationTest, OverrideToggleUsage) {
|
||||
// Dawn unittests use null Adapters, so there should be no toggles that are enabled by default
|
||||
{
|
||||
std::vector<const char*> toggleNames = dawn_native::GetTogglesUsed(device.Get());
|
||||
ASSERT_EQ(0u, toggleNames.size());
|
||||
}
|
||||
|
||||
// Create device with a valid name of a toggle
|
||||
{
|
||||
const char* kValidToggleName = "emulate_store_and_msaa_resolve";
|
||||
@@ -55,18 +49,30 @@ TEST_F(ToggleValidationTest, OverrideToggleUsage) {
|
||||
|
||||
DawnDevice deviceWithToggle = adapter.CreateDevice(&descriptor);
|
||||
std::vector<const char*> toggleNames = dawn_native::GetTogglesUsed(deviceWithToggle);
|
||||
ASSERT_EQ(1u, toggleNames.size());
|
||||
ASSERT_EQ(0, strcmp(kValidToggleName, toggleNames[0]));
|
||||
bool validToggleExists = false;
|
||||
for (const char* toggle : toggleNames) {
|
||||
if (strcmp(toggle, kValidToggleName) == 0) {
|
||||
validToggleExists = true;
|
||||
}
|
||||
}
|
||||
ASSERT_EQ(validToggleExists, true);
|
||||
}
|
||||
|
||||
// Create device with an invalid toggle name
|
||||
{
|
||||
const char* kInvalidToggleName = "!@#$%^&*";
|
||||
dawn_native::DeviceDescriptor descriptor;
|
||||
descriptor.forceEnabledToggles.push_back("!@#$%^&*");
|
||||
descriptor.forceEnabledToggles.push_back(kInvalidToggleName);
|
||||
|
||||
DawnDevice deviceWithToggle = adapter.CreateDevice(&descriptor);
|
||||
std::vector<const char*> toggleNames = dawn_native::GetTogglesUsed(deviceWithToggle);
|
||||
ASSERT_EQ(0u, toggleNames.size());
|
||||
bool InvalidToggleExists = false;
|
||||
for (const char* toggle : toggleNames) {
|
||||
if (strcmp(toggle, kInvalidToggleName) == 0) {
|
||||
InvalidToggleExists = true;
|
||||
}
|
||||
}
|
||||
ASSERT_EQ(InvalidToggleExists, false);
|
||||
}
|
||||
}
|
||||
} // anonymous namespace
|
||||
|
||||
Reference in New Issue
Block a user