@@ -93,11 +93,19 @@ Result DeviceImpl::initialize(const DeviceDesc& desc)
93
93
m_slangContext.initialize (desc.slang , SLANG_WGSL, " " , std::array{slang::PreprocessorMacroDesc{" __WGPU__" , " 1" }})
94
94
);
95
95
96
- const std::vector<const char *> enabledToggles = {" use_dxc" };
96
+ const std::vector<const char *> enabledToggles = {
97
+ " use_dxc" ,
98
+ // "d3d12_force_clear_copyable_depth_stencil_texture_on_creation",
99
+ };
100
+ const std::vector<const char *> disabledToggles = {
101
+ " d3d12_create_not_zeroed_heap" ,
102
+ };
97
103
WGPUDawnTogglesDescriptor togglesDesc = {};
98
104
togglesDesc.chain .sType = WGPUSType_DawnTogglesDescriptor;
99
105
togglesDesc.enabledToggleCount = enabledToggles.size ();
100
106
togglesDesc.enabledToggles = enabledToggles.data ();
107
+ togglesDesc.disabledToggleCount = disabledToggles.size ();
108
+ togglesDesc.disabledToggles = disabledToggles.data ();
101
109
102
110
WGPUInstanceDescriptor instanceDesc = {};
103
111
instanceDesc.capabilities .timedWaitAnyEnable = WGPUBool (true );
@@ -109,7 +117,7 @@ Result DeviceImpl::initialize(const DeviceDesc& desc)
109
117
options.powerPreference = WGPUPowerPreference_HighPerformance;
110
118
#if SLANG_WINDOWS_FAMILY
111
119
// TODO(webgpu-d3d): New validation error in D3D kills webgpu, so use vulkan for now.
112
- options.backendType = WGPUBackendType_Vulkan ;
120
+ options.backendType = WGPUBackendType_D3D12 ;
113
121
#elif SLANG_LINUX_FAMILY
114
122
options.backendType = WGPUBackendType_Vulkan;
115
123
#endif
0 commit comments