1 #include "..\include\raMain.h" 19 D3D11_BUFFER_DESC bufDesc;
20 memset(&bufDesc, 0,
sizeof(bufDesc));
21 bufDesc.BindFlags = D3D11_BIND_UNORDERED_ACCESS | D3D11_BIND_SHADER_RESOURCE |
22 D3D11_BIND_VERTEX_BUFFER;
24 bufDesc.MiscFlags = D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS;
26 D3D11_SUBRESOURCE_DATA InitData;
27 InitData.pSysMem = (
float*)
m_pData;
35 D3D11_UNORDERED_ACCESS_VIEW_DESC viewDesc;
36 memset(&viewDesc, 0,
sizeof(viewDesc));
37 viewDesc.ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
38 viewDesc.Buffer.FirstElement = 0;
40 viewDesc.Format = DXGI_FORMAT_R32_TYPELESS;
41 viewDesc.Buffer.Flags = D3D11_BUFFER_UAV_FLAG_RAW;
42 viewDesc.Buffer.NumElements = bufDesc.ByteWidth / 4;
44 hr =
m_dx->
GetDevice()->CreateUnorderedAccessView(m_pResource, &viewDesc,
45 (ID3D11UnorderedAccessView**)&
m_pView);
56 UINT ThreadGroupCountY,
57 UINT ThreadGroupCountZ)
59 ID3D11UnorderedAccessView *aView[1] = { (ID3D11UnorderedAccessView*)
m_pView };
65 ID3D11UnorderedAccessView* ppViewNull[1] = { 0 };
ID3D11DeviceContext * GetImmediateContext(void)
void RAPI RERROR_DX11(raString x, HRESULT h)
ID3D11Device * GetDevice(void)
virtual bool RunCS(UINT ThreadGroupCountX, UINT ThreadGroupCountY, UINT ThreadGroupCountZ)
virtual ~raCSIOBuffer(void)
raCSIOBuffer(raDirectX *dx, LPCSTR ShaderFileName, LPCSTR FunctionName, const raFloat *pData, UINT numElements)
virtual bool RunCS(UINT ThreadGroupCountX, UINT ThreadGroupCountY, UINT ThreadGroupCountZ)
ID3D11Buffer D3D11_BUFFER_DESC void * pData
ID3D11Resource * m_pResource