diff options
author | Luca Barbieri <luca@luca-barbieri.com> | 2010-09-21 02:39:52 +0200 |
---|---|---|
committer | Luca Barbieri <luca@luca-barbieri.com> | 2010-09-21 15:44:41 +0200 |
commit | 70fed0b0ec8a3ec4f6b9b47f1fe98cc54c6037f0 (patch) | |
tree | 915bd721659a1a3eaf7bb2705c371cbef4bd9917 /src/gallium/state_trackers/d3d1x/d3d1xshader/include | |
parent | 2ec86793bd43fe15d8f79d04e32d6c524e8ad844 (diff) |
d3d1x: add blob and signature extraction APIs
NOTE: untested, needs a testing tool!
Diffstat (limited to 'src/gallium/state_trackers/d3d1x/d3d1xshader/include')
-rw-r--r-- | src/gallium/state_trackers/d3d1x/d3d1xshader/include/dxbc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/d3d1x/d3d1xshader/include/dxbc.h b/src/gallium/state_trackers/d3d1x/d3d1xshader/include/dxbc.h index 44fce81079..06a078af6e 100644 --- a/src/gallium/state_trackers/d3d1x/d3d1xshader/include/dxbc.h +++ b/src/gallium/state_trackers/d3d1x/d3d1xshader/include/dxbc.h @@ -75,6 +75,15 @@ struct dxbc_container std::map<unsigned, unsigned> chunk_map; }; +struct dxbc_container_header +{ + unsigned fourcc; + uint32_t unk[4]; + uint32_t one; + uint32_t total_size; + uint32_t chunk_count; +}; + dxbc_container* dxbc_parse(const void* data, int size); std::ostream& operator <<(std::ostream& out, const dxbc_container& container); @@ -98,4 +107,6 @@ struct _D3D11_SIGNATURE_PARAMETER_DESC; typedef struct _D3D11_SIGNATURE_PARAMETER_DESC D3D11_SIGNATURE_PARAMETER_DESC; int dxbc_parse_signature(dxbc_chunk_signature* sig, D3D11_SIGNATURE_PARAMETER_DESC** params); +std::pair<void*, size_t> dxbc_assemble(struct dxbc_chunk_header** chunks, unsigned num_chunks); + #endif /* DXBC_H_ */ |