From: Luca Barbieri Date: Tue, 21 Sep 2010 14:00:45 +0000 (+0200) Subject: d3d1x: actually enable and fix blob apis X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bb26272beaf1d2bddffaad5341235e70abcf483b;p=mesa.git d3d1x: actually enable and fix blob apis --- diff --git a/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h b/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h index 47bf842b7b1..f79cc72a5d7 100644 --- a/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h +++ b/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h @@ -1049,6 +1049,7 @@ class GalliumD3DBlob : public GalliumComObject void* data; size_t size; +public: GalliumD3DBlob(void* data, size_t size) : data(data), size(size) {} @@ -1057,7 +1058,7 @@ class GalliumD3DBlob : public GalliumComObject { free(data); } -public: + virtual LPVOID STDMETHODCALLTYPE GetBufferPointer() { return data; diff --git a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_misc.h b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_misc.h index 239a5bb98cb..39e41f19e5f 100644 --- a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_misc.h +++ b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_misc.h @@ -1,4 +1,4 @@ -#if API < 10 +#if API < 11 HRESULT D3D10CreateBlob( __in SIZE_T NumBytes, __out LPD3D10BLOB *ppBuffer @@ -37,7 +37,7 @@ static HRESULT dxbc_assemble_as_blob(struct dxbc_chunk_header** chunks, unsigned std::pair p = dxbc_assemble(chunks, num_chunks); if(!p.first) return E_OUTOFMEMORY; - *blob = return new GalliumD3DBlob(p.first, p.second); + *blob = new GalliumD3DBlob(p.first, p.second); return S_OK; } @@ -51,7 +51,7 @@ HRESULT D3D10GetInputSignatureBlob( if(!sig) return E_FAIL; - return dxbc_assemble_as_blob(&sig, 1, ppSignatureBlob); + return dxbc_assemble_as_blob((dxbc_chunk_header**)&sig, 1, ppSignatureBlob); } HRESULT D3D10GetOutputSignatureBlob( @@ -64,7 +64,7 @@ HRESULT D3D10GetOutputSignatureBlob( if(!sig) return E_FAIL; - return dxbc_assemble_as_blob(&sig, 1, ppSignatureBlob); + return dxbc_assemble_as_blob((dxbc_chunk_header**)&sig, 1, ppSignatureBlob); } HRESULT D3D10GetInputOutputSignatureBlob( @@ -81,7 +81,7 @@ HRESULT D3D10GetInputOutputSignatureBlob( if(!sigs[1]) return E_FAIL; - return dxbc_assemble_as_blob(&sigs, 2, ppSignatureBlob); + return dxbc_assemble_as_blob((dxbc_chunk_header**)&sigs, 2, ppSignatureBlob); } #endif