nv50/ir: import SM4 converter
This commit is contained in:
@@ -207,7 +207,7 @@ BuildUtil::mkCvt(operation op,
|
||||
return insn;
|
||||
}
|
||||
|
||||
Instruction *
|
||||
CmpInstruction *
|
||||
BuildUtil::mkCmp(operation op, CondCode cc, DataType ty, Value *dst,
|
||||
Value *src0, Value *src1, Value *src2)
|
||||
{
|
||||
|
||||
@@ -68,9 +68,9 @@ public:
|
||||
Value *attrRel, Value *primRel);
|
||||
|
||||
Instruction *mkCvt(operation, DataType, Value *, DataType, Value *);
|
||||
Instruction *mkCmp(operation, CondCode, DataType,
|
||||
Value *,
|
||||
Value *, Value *, Value * = NULL);
|
||||
CmpInstruction *mkCmp(operation, CondCode, DataType,
|
||||
Value *,
|
||||
Value *, Value *, Value * = NULL);
|
||||
Instruction *mkTex(operation, TexTarget, uint8_t tic, uint8_t tsc,
|
||||
Value **def, Value **src);
|
||||
Instruction *mkQuadop(uint8_t qop, Value *, uint8_t l, Value *, Value *);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,183 @@
|
||||
|
||||
#ifndef __NV50_IR_FROM_SM4_H__
|
||||
#define __NV50_IR_FROM_SM4_H__
|
||||
|
||||
typedef enum D3D_PRIMITIVE_TOPOLOGY {
|
||||
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
|
||||
D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
|
||||
D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
|
||||
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
|
||||
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
|
||||
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
|
||||
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
|
||||
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
|
||||
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
|
||||
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
|
||||
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
|
||||
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
|
||||
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
|
||||
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
|
||||
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
|
||||
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
|
||||
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
|
||||
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
|
||||
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
|
||||
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
|
||||
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
|
||||
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
|
||||
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
|
||||
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
|
||||
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
|
||||
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
|
||||
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
|
||||
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
|
||||
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
|
||||
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
|
||||
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
|
||||
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
|
||||
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
|
||||
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
|
||||
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
|
||||
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
|
||||
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
|
||||
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
|
||||
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
|
||||
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
|
||||
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
|
||||
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
|
||||
} D3D_PRIMITIVE_TOPOLOGY;
|
||||
|
||||
typedef enum D3D_RESOURCE_RETURN_TYPE {
|
||||
D3D_RETURN_TYPE_UNORM = 1,
|
||||
D3D_RETURN_TYPE_SNORM = 2,
|
||||
D3D_RETURN_TYPE_SINT = 3,
|
||||
D3D_RETURN_TYPE_UINT = 4,
|
||||
D3D_RETURN_TYPE_FLOAT = 5,
|
||||
D3D_RETURN_TYPE_MIXED = 6,
|
||||
D3D_RETURN_TYPE_DOUBLE = 7,
|
||||
D3D_RETURN_TYPE_CONTINUED = 8,
|
||||
D3D10_RETURN_TYPE_UNORM = 1,
|
||||
D3D10_RETURN_TYPE_SNORM = 2,
|
||||
D3D10_RETURN_TYPE_SINT = 3,
|
||||
D3D10_RETURN_TYPE_UINT = 4,
|
||||
D3D10_RETURN_TYPE_FLOAT = 5,
|
||||
D3D10_RETURN_TYPE_MIXED = 6,
|
||||
D3D11_RETURN_TYPE_UNORM = 1,
|
||||
D3D11_RETURN_TYPE_SNORM = 2,
|
||||
D3D11_RETURN_TYPE_SINT = 3,
|
||||
D3D11_RETURN_TYPE_UINT = 4,
|
||||
D3D11_RETURN_TYPE_FLOAT = 5,
|
||||
D3D11_RETURN_TYPE_MIXED = 6,
|
||||
D3D11_RETURN_TYPE_DOUBLE = 7,
|
||||
D3D11_RETURN_TYPE_CONTINUED = 8
|
||||
} D3D_RESOURCE_RETURN_TYPE;
|
||||
|
||||
typedef enum D3D_REGISTER_COMPONENT_TYPE {
|
||||
D3D_REGISTER_COMPONENT_UNKNOWN = 0,
|
||||
D3D_REGISTER_COMPONENT_UINT32 = 1,
|
||||
D3D_REGISTER_COMPONENT_SINT32 = 2,
|
||||
D3D_REGISTER_COMPONENT_FLOAT32 = 3,
|
||||
D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
|
||||
D3D10_REGISTER_COMPONENT_UINT32 = 1,
|
||||
D3D10_REGISTER_COMPONENT_SINT32 = 2,
|
||||
D3D10_REGISTER_COMPONENT_FLOAT32 = 3
|
||||
} D3D_REGISTER_COMPONENT_TYPE;
|
||||
|
||||
typedef enum D3D_TESSELLATOR_DOMAIN {
|
||||
D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
|
||||
D3D_TESSELLATOR_DOMAIN_ISOLINE = 1,
|
||||
D3D_TESSELLATOR_DOMAIN_TRI = 2,
|
||||
D3D_TESSELLATOR_DOMAIN_QUAD = 3,
|
||||
D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
|
||||
D3D11_TESSELLATOR_DOMAIN_ISOLINE = 1,
|
||||
D3D11_TESSELLATOR_DOMAIN_TRI = 2,
|
||||
D3D11_TESSELLATOR_DOMAIN_QUAD = 3
|
||||
} D3D_TESSELLATOR_DOMAIN;
|
||||
|
||||
typedef enum D3D_TESSELLATOR_PARTITIONING {
|
||||
D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
|
||||
D3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
|
||||
D3D_TESSELLATOR_PARTITIONING_POW2 = 2,
|
||||
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
|
||||
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
|
||||
D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
|
||||
D3D11_TESSELLATOR_PARTITIONING_INTEGER = 1,
|
||||
D3D11_TESSELLATOR_PARTITIONING_POW2 = 2,
|
||||
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
|
||||
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4
|
||||
} D3D_TESSELLATOR_PARTITIONING;
|
||||
|
||||
typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE {
|
||||
D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
|
||||
D3D_TESSELLATOR_OUTPUT_POINT = 1,
|
||||
D3D_TESSELLATOR_OUTPUT_LINE = 2,
|
||||
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
|
||||
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
|
||||
D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
|
||||
D3D11_TESSELLATOR_OUTPUT_POINT = 1,
|
||||
D3D11_TESSELLATOR_OUTPUT_LINE = 2,
|
||||
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
|
||||
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4
|
||||
} D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
|
||||
|
||||
typedef enum D3D_NAME {
|
||||
D3D_NAME_UNDEFINED = 0,
|
||||
D3D_NAME_POSITION = 1,
|
||||
D3D_NAME_CLIP_DISTANCE = 2,
|
||||
D3D_NAME_CULL_DISTANCE = 3,
|
||||
D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
|
||||
D3D_NAME_VIEWPORT_ARRAY_INDEX = 5,
|
||||
D3D_NAME_VERTEX_ID = 6,
|
||||
D3D_NAME_PRIMITIVE_ID = 7,
|
||||
D3D_NAME_INSTANCE_ID = 8,
|
||||
D3D_NAME_IS_FRONT_FACE = 9,
|
||||
D3D_NAME_SAMPLE_INDEX = 10,
|
||||
D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
|
||||
D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
|
||||
D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
|
||||
D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
|
||||
D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
|
||||
D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
|
||||
D3D_NAME_TARGET = 64,
|
||||
D3D_NAME_DEPTH = 65,
|
||||
D3D_NAME_COVERAGE = 66,
|
||||
D3D_NAME_DEPTH_GREATER_EQUAL = 67,
|
||||
D3D_NAME_DEPTH_LESS_EQUAL = 68,
|
||||
D3D10_NAME_UNDEFINED = 0,
|
||||
D3D10_NAME_POSITION = 1,
|
||||
D3D10_NAME_CLIP_DISTANCE = 2,
|
||||
D3D10_NAME_CULL_DISTANCE = 3,
|
||||
D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
|
||||
D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
|
||||
D3D10_NAME_VERTEX_ID = 6,
|
||||
D3D10_NAME_PRIMITIVE_ID = 7,
|
||||
D3D10_NAME_INSTANCE_ID = 8,
|
||||
D3D10_NAME_IS_FRONT_FACE = 9,
|
||||
D3D10_NAME_SAMPLE_INDEX = 10,
|
||||
D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
|
||||
D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
|
||||
D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
|
||||
D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
|
||||
D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
|
||||
D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
|
||||
D3D10_NAME_TARGET = 64,
|
||||
D3D10_NAME_DEPTH = 65,
|
||||
D3D10_NAME_COVERAGE = 66,
|
||||
D3D11_NAME_DEPTH_GREATER_EQUAL = 67,
|
||||
D3D11_NAME_DEPTH_LESS_EQUAL = 68
|
||||
} D3D_NAME;
|
||||
|
||||
typedef struct _D3D11_SIGNATURE_PARAMETER_DESC {
|
||||
const char* SemanticName;
|
||||
unsigned int SemanticIndex;
|
||||
unsigned int Register;
|
||||
D3D_NAME SystemValueType;
|
||||
D3D_REGISTER_COMPONENT_TYPE ComponentType;
|
||||
unsigned char Mask;
|
||||
unsigned char ReadWriteMask;
|
||||
unsigned int Stream;
|
||||
} D3D11_SIGNATURE_PARAMETER_DESC;
|
||||
|
||||
#include "../../../state_trackers/d3d1x/d3d1xshader/include/sm4.h"
|
||||
|
||||
#endif // __NV50_IR_FROM_SM4_H__
|
||||
Reference in New Issue
Block a user