vkd3d-shader: Add definitions for sparse feedback instructions.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
Philip Rebohle 2020-05-09 10:31:30 +02:00 committed by Hans-Kristian Arntzen
parent 13c6d064ab
commit fa029a1a84
2 changed files with 49 additions and 1 deletions

View File

@ -301,6 +301,22 @@ enum vkd3d_sm4_opcode
VKD3D_SM5_OP_EVAL_SAMPLE_INDEX = 0xcc,
VKD3D_SM5_OP_EVAL_CENTROID = 0xcd,
VKD3D_SM5_OP_DCL_GS_INSTANCES = 0xce,
VKD3D_SM5_OP_GATHER4_FEEDBACK = 0xdb,
VKD3D_SM5_OP_GATHER4_C_FEEDBACK = 0xdc,
VKD3D_SM5_OP_GATHER4_PO_FEEDBACK = 0xdd,
VKD3D_SM5_OP_GATHER4_PO_C_FEEDBACK = 0xde,
VKD3D_SM5_OP_LD_FEEDBACK = 0xdf,
VKD3D_SM5_OP_LD_MS_FEEDBACK = 0xe0,
VKD3D_SM5_OP_LD_UAV_TYPED_FEEDBACK = 0xe1,
VKD3D_SM5_OP_LD_RAW_FEEDBACK = 0xe2,
VKD3D_SM5_OP_LD_STRUCTURED_FEEDBACK = 0xe3,
VKD3D_SM5_OP_SAMPLE_L_FEEDBACK = 0xe4,
VKD3D_SM5_OP_SAMPLE_C_LZ_FEEDBACK = 0xe5,
VKD3D_SM5_OP_SAMPLE_CLAMP_FEEDBACK = 0xe6,
VKD3D_SM5_OP_SAMPLE_B_CLAMP_FEEDBACK = 0xe7,
VKD3D_SM5_OP_SAMPLE_D_CLAMP_FEEDBACK = 0xe8,
VKD3D_SM5_OP_SAMPLE_C_CLAMP_FEEDBACK = 0xe9,
VKD3D_SM5_OP_CHECK_ACCESS_FULLY_MAPPED = 0xea,
};
enum vkd3d_sm4_register_type
@ -451,7 +467,7 @@ struct vkd3d_sm4_data
unsigned int output_map[MAX_REG_OUTPUT];
struct vkd3d_shader_src_param src_param[5];
struct vkd3d_shader_src_param src_param[6];
struct vkd3d_shader_dst_param dst_param[2];
struct list src_free;
struct list src;
@ -1202,6 +1218,22 @@ static const struct vkd3d_sm4_opcode_info opcode_table[] =
{VKD3D_SM5_OP_EVAL_CENTROID, VKD3DSIH_EVAL_CENTROID, "f", "f"},
{VKD3D_SM5_OP_DCL_GS_INSTANCES, VKD3DSIH_DCL_GS_INSTANCES, "", "",
shader_sm4_read_declaration_count},
{VKD3D_SM5_OP_GATHER4_FEEDBACK, VKD3DSIH_GATHER4_FEEDBACK, "fu", "fRS"},
{VKD3D_SM5_OP_GATHER4_C_FEEDBACK, VKD3DSIH_GATHER4_C_FEEDBACK, "fu", "fRSf"},
{VKD3D_SM5_OP_GATHER4_PO_FEEDBACK, VKD3DSIH_GATHER4_PO_FEEDBACK, "fu", "fiRS"},
{VKD3D_SM5_OP_GATHER4_PO_C_FEEDBACK, VKD3DSIH_GATHER4_PO_C_FEEDBACK, "fu", "fiRSf"},
{VKD3D_SM5_OP_LD_FEEDBACK, VKD3DSIH_LD_FEEDBACK, "uu", "iR"},
{VKD3D_SM5_OP_LD_MS_FEEDBACK, VKD3DSIH_LD2DMS_FEEDBACK, "uu", "iRi"},
{VKD3D_SM5_OP_LD_UAV_TYPED_FEEDBACK, VKD3DSIH_LD_UAV_TYPED_FEEDBACK, "uu", "iU"},
{VKD3D_SM5_OP_LD_RAW_FEEDBACK, VKD3DSIH_LD_RAW_FEEDBACK, "uu", "iR"},
{VKD3D_SM5_OP_LD_STRUCTURED_FEEDBACK, VKD3DSIH_LD_STRUCTURED_FEEDBACK, "uu", "iiR"},
{VKD3D_SM5_OP_SAMPLE_L_FEEDBACK, VKD3DSIH_SAMPLE_LOD_FEEDBACK, "fu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_C_LZ_FEEDBACK, VKD3DSIH_SAMPLE_C_LZ_FEEDBACK, "fu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_CLAMP_FEEDBACK, VKD3DSIH_SAMPLE_FEEDBACK, "fu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_B_CLAMP_FEEDBACK, VKD3DSIH_SAMPLE_B_FEEDBACK, "fu", "fRSff"},
{VKD3D_SM5_OP_SAMPLE_D_CLAMP_FEEDBACK, VKD3DSIH_SAMPLE_GRAD_FEEDBACK, "fu", "fRSfff"},
{VKD3D_SM5_OP_SAMPLE_C_CLAMP_FEEDBACK, VKD3DSIH_SAMPLE_C_FEEDBACK, "fu", "fRSff"},
{VKD3D_SM5_OP_CHECK_ACCESS_FULLY_MAPPED, VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED, "u", "u"},
};
static const enum vkd3d_shader_register_type register_type_table[] =

View File

@ -83,6 +83,7 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
VKD3DSIH_CALL,
VKD3DSIH_CALLNZ,
VKD3DSIH_CASE,
VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED,
VKD3DSIH_CMP,
VKD3DSIH_CND,
VKD3DSIH_CONTINUE,
@ -170,8 +171,12 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
VKD3DSIH_FTOU,
VKD3DSIH_GATHER4,
VKD3DSIH_GATHER4_C,
VKD3DSIH_GATHER4_C_FEEDBACK,
VKD3DSIH_GATHER4_FEEDBACK,
VKD3DSIH_GATHER4_PO,
VKD3DSIH_GATHER4_PO_C,
VKD3DSIH_GATHER4_PO_C_FEEDBACK,
VKD3DSIH_GATHER4_PO_FEEDBACK,
VKD3DSIH_GE,
VKD3DSIH_HS_CONTROL_POINT_PHASE,
VKD3DSIH_HS_DECLS,
@ -207,10 +212,15 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
VKD3DSIH_ITOF,
VKD3DSIH_LABEL,
VKD3DSIH_LD,
VKD3DSIH_LD_FEEDBACK,
VKD3DSIH_LD2DMS,
VKD3DSIH_LD2DMS_FEEDBACK,
VKD3DSIH_LD_RAW,
VKD3DSIH_LD_RAW_FEEDBACK,
VKD3DSIH_LD_STRUCTURED,
VKD3DSIH_LD_STRUCTURED_FEEDBACK,
VKD3DSIH_LD_UAV_TYPED,
VKD3DSIH_LD_UAV_TYPED_FEEDBACK,
VKD3DSIH_LIT,
VKD3DSIH_LOD,
VKD3DSIH_LOG,
@ -249,11 +259,17 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
VKD3DSIH_RSQ,
VKD3DSIH_SAMPLE,
VKD3DSIH_SAMPLE_B,
VKD3DSIH_SAMPLE_B_FEEDBACK,
VKD3DSIH_SAMPLE_C,
VKD3DSIH_SAMPLE_C_FEEDBACK,
VKD3DSIH_SAMPLE_C_LZ,
VKD3DSIH_SAMPLE_C_LZ_FEEDBACK,
VKD3DSIH_SAMPLE_FEEDBACK,
VKD3DSIH_SAMPLE_GRAD,
VKD3DSIH_SAMPLE_GRAD_FEEDBACK,
VKD3DSIH_SAMPLE_INFO,
VKD3DSIH_SAMPLE_LOD,
VKD3DSIH_SAMPLE_LOD_FEEDBACK,
VKD3DSIH_SAMPLE_POS,
VKD3DSIH_SETP,
VKD3DSIH_SGE,