directcompute

    -2熱度

    2回答

    我在節目一些知名的步驟: CreateBuffer Create..View CSSet..Views Dispatch 在該步驟中的數據複製到GPU?

    0熱度

    1回答

    我有這個程序: for (int i = 0; i < STEPS; ++i) { context->CSSetShader(computeShader, NULL, 0); ID3D11UnorderedAccessView *aUAViews[1] = {bufferOut_UAV}; context->CSSetUnorderedAc

    2熱度

    1回答

    我在計算着色器中的GPU上進行數組索引時出現問題,並且我堅持了數週。 我試圖使用SV_DispatchThreadID的x值作爲我的粒子數組的索引(正如它在Web上的一些示例中所示)。 它正在工作...但threadID變量(在主函數中)總是返回0,3,6,9,12,15 ...不是0,1,2,3,4,... 我在CPU端的調度調用是:調度(64,1,1); 我已經嘗試了許多配置的調度(32,16

    1熱度

    2回答

    我只是有一個問題: 我需要在畫布中繪製一些WPF幾何圖形,並且每個幾何圖形的表面都是Direct3D 11中複雜的Texture2D。我使用SharpDX並將Texture2D轉換爲MemoryStream然後轉換爲WPF ImageSource,因爲我使用的是Compute Shader,Format.Bgra不支持UAV紋理,所以我不能使用D3DImage。由於存在性能問題,我如何直接將Tex

    0熱度

    1回答

    我使用計算着色器來計算三角形列表並將其存儲在RWStructuredBuffer。爲了測試,我讀取這個緩衝區並通過context.InputAssembler.SetVertexBuffers (…)傳遞給IA。這種方法可行,但僅對測試數據的正確性有效。 現在我想的(已經存在的)緩衝液,以使用資源視圖IA階段結合(又名沒有指針傳遞到頂點緩衝器)。 我讀一些好書(弗蘭克D.紅月,傑森 - 辛克),但

    1熱度

    2回答

    我正在使用DirectCompute在GPU上執行通用計算。目前,我試圖在分辨率爲1920x1080的紋理上進行操作。我有一個Dispatch(2,1080,1)和numthreads(960,1,1),它們根據我的計算完全覆蓋每像素一個線程的圖像。 現在,據我所知,所有的線程應該同時運行,對吧?但是,在我的代碼中,如果像素是黑色的,我不做任何計算。所以我注意到當我的大部分圖像是黑色時,性能都有了

    0熱度

    1回答

    我將計算着色器支持添加到我的代碼庫,並有問題尋找解決一些非常基本的問題: 在那裏所有的文件說,計算着色器流水線從獨立運行GPU,但是所有的dx11示例代碼都使用設備上下文接口來設置着色器本身,資源視圖和調用dispatch()方法,所以這些使用其他渲染命令排隊在命令緩衝區中,還是會被執行獨立? 繼續問題1,我可以從多個線程中調用計算着色器,還是需要緩衝所有計算着色器命令並將它們發佈到創建直接設備上

    4熱度

    2回答

    我最近一直在玩計算着色器,我試圖確定最佳的方式來設置我的[numthreads(x,y,z)]和調度調用。我的演示窗口是800x600,我每像素啓動1個線程。我正在執行2D紋理修改 - 沒有太重。 我的第一次嘗試是指定 [numthreads(32,32,1)] 我派遣()調用總是 Dispatch(ceil(screenWidth/numThreads.x),ceil(screenHeigh

    1熱度

    1回答

    我一直在開發一個看不見的(讀:不會產生任何視覺輸出)stressor來測試我的圖形卡的功能(以及作爲一般的DirectCompute的探索,我很新) 。我有下面的代碼的權利,現在我很得意: RWStructuredBuffer<uint> BufferOut : register(u0); [numthreads(1, 1, 1)] void CSMain(uint3 DTid : SV_D

    1熱度

    1回答

    我想在DirectX Compute Shader中使用groupshared內存來減少全局內存帶寬並希望提高性能。我的輸入數據是Texture2D,我可以利用二維索引像這樣訪問它: Input[threadID.xy] 我想有共享存儲器的2D陣列用於緩存所述輸入數據的部分,所以我嘗試明顯: groupshared float SharedInput[32, 32]; 它不會編譯。錯誤消息