mirror of
				https://github.com/hedge-dev/XenosRecomp.git
				synced 2025-10-30 07:12:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| enum class ParameterClass : uint16_t // D3DXPARAMETER_CLASS
 | |
| {
 | |
|     Scalar,
 | |
|     Vector,
 | |
|     MatrixRows,
 | |
|     MatrixColumns,
 | |
|     Object,
 | |
|     Struct
 | |
| };
 | |
| 
 | |
| enum class ParameterType : uint16_t // D3DXPARAMETER_TYPE 
 | |
| {
 | |
|     Void,
 | |
|     Bool,
 | |
|     Int,
 | |
|     Float,
 | |
|     String,
 | |
|     Texture,
 | |
|     Texture1D,
 | |
|     Texture2D,
 | |
|     Texture3D,
 | |
|     TextureCube,
 | |
|     Sampler,
 | |
|     Sampler1D,
 | |
|     Sampler2D,
 | |
|     Sampler3D,
 | |
|     SamplerCube,
 | |
|     PixelShader,
 | |
|     VertexShader,
 | |
|     PixelFragment,
 | |
|     VertexFragment,
 | |
|     Unsupported
 | |
| };
 | |
| 
 | |
| struct StructMemberInfo // D3DXSHADER_STRUCTMEMBERINFO
 | |
| {
 | |
|     be<uint32_t> name;
 | |
|     be<uint32_t> typeInfo;
 | |
| };
 | |
| 
 | |
| struct TypeInfo // D3DXSHADER_TYPEINFO
 | |
| {
 | |
|     be<ParameterClass> parameterClass;
 | |
|     be<ParameterType> parameterType;
 | |
|     be<uint16_t> rows;
 | |
|     be<uint16_t> columns;
 | |
|     be<uint16_t> elements;
 | |
|     be<uint16_t> structMembers;
 | |
|     be<uint32_t> structMemberInfo;
 | |
| };
 | |
| 
 | |
| enum class RegisterSet : uint16_t // D3DXREGISTER_SET
 | |
| {
 | |
|     Bool,
 | |
|     Int4,
 | |
|     Float4,
 | |
|     Sampler
 | |
| };
 | |
| 
 | |
| struct ConstantInfo // D3DXSHADER_CONSTANTINFO
 | |
| {
 | |
|     be<uint32_t> name;
 | |
|     be<RegisterSet> registerSet;
 | |
|     be<uint16_t> registerIndex;
 | |
|     be<uint16_t> registerCount;
 | |
|     be<uint16_t> reserved;
 | |
|     be<uint32_t> typeInfo;
 | |
|     be<uint32_t> defaultValue;
 | |
| };
 | |
| 
 | |
| struct ConstantTable // D3DXSHADER_CONSTANTTABLE
 | |
| {
 | |
|     be<uint32_t> size;
 | |
|     be<uint32_t> creator;
 | |
|     be<uint32_t> version;
 | |
|     be<uint32_t> constants;
 | |
|     be<uint32_t> constantInfo;
 | |
|     be<uint32_t> flags;
 | |
|     be<uint32_t> target;
 | |
| };
 | |
| 
 | |
| struct ConstantTableContainer
 | |
| {
 | |
|     be<uint32_t> size;
 | |
|     ConstantTable constantTable;
 | |
| }; | 
