summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/d3d1x/d3d1xshader/include
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-09-21 02:39:52 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-09-21 15:44:41 +0200
commit70fed0b0ec8a3ec4f6b9b47f1fe98cc54c6037f0 (patch)
tree915bd721659a1a3eaf7bb2705c371cbef4bd9917 /src/gallium/state_trackers/d3d1x/d3d1xshader/include
parent2ec86793bd43fe15d8f79d04e32d6c524e8ad844 (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.h11
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_ */