如何使用ID3D11Device5正确创建rendertarget

时间:2017-10-08 16:00:08

标签: uwp directx direct3d c++-cx

使用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上的图形驱动程序中。

我能够重现问题的一个简单方法是:

  1. 在Visual Studio 2017中创建一个新的“DirectX 11和XAML应用程序(通用Windows)”
  2. dd()中,将CreateRenderTargetView包含更改为pch.h
  3. d3d11_3.h中将d3d11_4.h的类型从DeviceResources.h更改为m_d3dDevice
  4. 运行调试版本,以便通过Microsoft::WRL::ComPtr<ID3D11Device3>标志使用调试图层。发布版本中似乎没有发生崩溃。
  5. 这些变化是根本不正确还是这个错误?

    编辑:同样的行为似乎发生在等效的桌面Windows应用程序以及硬件设备上。在参考设备上,Microsoft::WRL::ComPtr<ID3D11Device5>

    返回D3D11_CREATE_DEVICE_DEBUG

0 个答案:

没有答案