使用ID3D11Device5创建渲染目标视图的正确方法是什么?我有一些与ID3D11Device4一起使用的代码,但是在调用public function csvDownload() {
$headers = [
"Content-type" => "text/csv",
"Content-Disposition" => "attachment; filename=" . $fileName,
"Pragma" => "no-cache",
"Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
"Expires" => "0",
];
$callback = function () use ($csvData) {
$handle = fopen('php://output', 'w');
foreach ($csvData as $row) {
mb_convert_variables('SJIS-win', 'UTF-8', $row);
fputcsv($handle, $row);
}
fclose($handle);
};
return response()->stream($callback, 200, $headers);
}
时升级它会因访问冲突而失败。这种崩溃似乎发生在Intel Graphics和AMD Graphics PC上的图形驱动程序中。
我能够重现问题的一个简单方法是:
dd()
中,将CreateRenderTargetView
包含更改为pch.h
d3d11_3.h
中将d3d11_4.h
的类型从DeviceResources.h
更改为m_d3dDevice
。Microsoft::WRL::ComPtr<ID3D11Device3>
标志使用调试图层。发布版本中似乎没有发生崩溃。这些变化是根本不正确还是这个错误?
编辑:同样的行为似乎发生在等效的桌面Windows应用程序以及硬件设备上。在参考设备上,Microsoft::WRL::ComPtr<ID3D11Device5>
D3D11_CREATE_DEVICE_DEBUG