vkd3d-shader: Implement EVAL_SNAPPED
Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
parent
0a70cb32ba
commit
b6daa072b9
|
@ -1253,6 +1253,7 @@ static const struct vkd3d_sm4_opcode_info opcode_table[] =
|
|||
{VKD3D_SM5_OP_SYNC, VKD3DSIH_SYNC, "", "",
|
||||
shader_sm5_read_sync},
|
||||
{VKD3D_SM5_OP_EVAL_SAMPLE_INDEX, VKD3DSIH_EVAL_SAMPLE_INDEX, "f", "fi"},
|
||||
{VKD3D_SM5_OP_EVAL_SNAPPED, VKD3DSIH_EVAL_SNAPPED, "f", "fi"},
|
||||
{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},
|
||||
|
|
|
@ -9160,6 +9160,11 @@ static void vkd3d_dxbc_compiler_emit_eval_attrib(struct vkd3d_dxbc_compiler *com
|
|||
{
|
||||
op = GLSLstd450InterpolateAtCentroid;
|
||||
}
|
||||
else if (instruction->handler_idx == VKD3DSIH_EVAL_SNAPPED)
|
||||
{
|
||||
op = GLSLstd450InterpolateAtOffset;
|
||||
src_ids[src_count++] = vkd3d_dxbc_compiler_emit_load_src(compiler, &src[1], VKD3DSP_WRITEMASK_0 | VKD3DSP_WRITEMASK_1);
|
||||
}
|
||||
else
|
||||
{
|
||||
assert(instruction->handler_idx == VKD3DSIH_EVAL_SAMPLE_INDEX);
|
||||
|
@ -9622,6 +9627,7 @@ int vkd3d_dxbc_compiler_handle_instruction(struct vkd3d_dxbc_compiler *compiler,
|
|||
break;
|
||||
case VKD3DSIH_EVAL_CENTROID:
|
||||
case VKD3DSIH_EVAL_SAMPLE_INDEX:
|
||||
case VKD3DSIH_EVAL_SNAPPED:
|
||||
vkd3d_dxbc_compiler_emit_eval_attrib(compiler, instruction);
|
||||
break;
|
||||
case VKD3DSIH_SYNC:
|
||||
|
|
|
@ -124,6 +124,7 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_EQ */ "eq",
|
||||
/* VKD3DSIH_EVAL_CENTROID */ "eval_centroid",
|
||||
/* VKD3DSIH_EVAL_SAMPLE_INDEX */ "eval_sample_index",
|
||||
/* VKD3DSIH_EVAL_SNAPPED */ "eval_snapped",
|
||||
/* VKD3DSIH_EXP */ "exp",
|
||||
/* VKD3DSIH_F16TOF32 */ "f16tof32",
|
||||
/* VKD3DSIH_F32TOF16 */ "f32tof16",
|
||||
|
|
|
@ -147,6 +147,7 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_EQ,
|
||||
VKD3DSIH_EVAL_CENTROID,
|
||||
VKD3DSIH_EVAL_SAMPLE_INDEX,
|
||||
VKD3DSIH_EVAL_SNAPPED,
|
||||
VKD3DSIH_EXP,
|
||||
VKD3DSIH_F16TOF32,
|
||||
VKD3DSIH_F32TOF16,
|
||||
|
|
Loading…
Reference in New Issue