[D3D12] Non-indexed line loops
This commit is contained in:
@@ -282,17 +282,17 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||
struct SystemConstants {
|
||||
// vec4 0
|
||||
uint32_t flags;
|
||||
uint32_t line_loop_closing_index;
|
||||
uint32_t vertex_index_endian_and_edge_factors;
|
||||
int32_t vertex_base_index;
|
||||
uint32_t pixel_pos_reg;
|
||||
|
||||
// vec4 1
|
||||
float ndc_scale[3];
|
||||
float pixel_half_pixel_offset;
|
||||
uint32_t pixel_pos_reg;
|
||||
|
||||
// vec4 2
|
||||
float ndc_offset[3];
|
||||
float alpha_test_reference;
|
||||
float pixel_half_pixel_offset;
|
||||
|
||||
// vec4 3
|
||||
float point_size[2];
|
||||
@@ -308,9 +308,10 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||
uint32_t sample_count_log2[2];
|
||||
|
||||
// vec4 5
|
||||
float alpha_test_reference;
|
||||
uint32_t edram_pitch_tiles;
|
||||
uint32_t edram_depth_base_dwords;
|
||||
uint32_t padding_5[2];
|
||||
uint32_t padding_5;
|
||||
|
||||
// vec4 6
|
||||
float color_exp_bias[4];
|
||||
@@ -543,33 +544,34 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||
kSysConst_Flags_Index = 0,
|
||||
kSysConst_Flags_Vec = 0,
|
||||
kSysConst_Flags_Comp = 0,
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Index = kSysConst_Flags_Index + 1,
|
||||
kSysConst_LineLoopClosingIndex_Index = kSysConst_Flags_Index + 1,
|
||||
kSysConst_LineLoopClosingIndex_Vec = kSysConst_Flags_Vec,
|
||||
kSysConst_LineLoopClosingIndex_Comp = 1,
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Index =
|
||||
kSysConst_LineLoopClosingIndex_Index + 1,
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Vec = kSysConst_Flags_Vec,
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Comp = 1,
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Comp = 2,
|
||||
kSysConst_VertexBaseIndex_Index =
|
||||
kSysConst_VertexIndexEndianAndEdgeFactors_Index + 1,
|
||||
kSysConst_VertexBaseIndex_Vec = kSysConst_Flags_Vec,
|
||||
kSysConst_VertexBaseIndex_Comp = 2,
|
||||
kSysConst_PixelPosReg_Index = kSysConst_VertexBaseIndex_Index + 1,
|
||||
kSysConst_PixelPosReg_Vec = kSysConst_Flags_Vec,
|
||||
kSysConst_VertexBaseIndex_Comp = 3,
|
||||
|
||||
kSysConst_NDCScale_Index = kSysConst_VertexBaseIndex_Index + 1,
|
||||
kSysConst_NDCScale_Vec = kSysConst_VertexBaseIndex_Vec + 1,
|
||||
kSysConst_NDCScale_Comp = 0,
|
||||
kSysConst_PixelPosReg_Index = kSysConst_NDCScale_Index + 1,
|
||||
kSysConst_PixelPosReg_Vec = kSysConst_NDCScale_Vec,
|
||||
kSysConst_PixelPosReg_Comp = 3,
|
||||
|
||||
kSysConst_NDCScale_Index = kSysConst_PixelPosReg_Index + 1,
|
||||
kSysConst_NDCScale_Vec = kSysConst_PixelPosReg_Vec + 1,
|
||||
kSysConst_NDCScale_Comp = 0,
|
||||
kSysConst_PixelHalfPixelOffset_Index = kSysConst_NDCScale_Index + 1,
|
||||
kSysConst_PixelHalfPixelOffset_Vec = kSysConst_NDCScale_Vec,
|
||||
kSysConst_NDCOffset_Index = kSysConst_PixelPosReg_Index + 1,
|
||||
kSysConst_NDCOffset_Vec = kSysConst_PixelPosReg_Vec + 1,
|
||||
kSysConst_NDCOffset_Comp = 0,
|
||||
kSysConst_PixelHalfPixelOffset_Index = kSysConst_NDCOffset_Index + 1,
|
||||
kSysConst_PixelHalfPixelOffset_Vec = kSysConst_NDCOffset_Vec,
|
||||
kSysConst_PixelHalfPixelOffset_Comp = 3,
|
||||
|
||||
kSysConst_NDCOffset_Index = kSysConst_PixelHalfPixelOffset_Index + 1,
|
||||
kSysConst_NDCOffset_Vec = kSysConst_PixelHalfPixelOffset_Vec + 1,
|
||||
kSysConst_NDCOffset_Comp = 0,
|
||||
kSysConst_AlphaTestReference_Index = kSysConst_NDCOffset_Index + 1,
|
||||
kSysConst_AlphaTestReference_Vec = kSysConst_NDCOffset_Vec,
|
||||
kSysConst_AlphaTestReference_Comp = 3,
|
||||
|
||||
kSysConst_PointSize_Index = kSysConst_AlphaTestReference_Index + 1,
|
||||
kSysConst_PointSize_Vec = kSysConst_AlphaTestReference_Vec + 1,
|
||||
kSysConst_PointSize_Index = kSysConst_PixelHalfPixelOffset_Index + 1,
|
||||
kSysConst_PointSize_Vec = kSysConst_PixelHalfPixelOffset_Vec + 1,
|
||||
kSysConst_PointSize_Comp = 0,
|
||||
kSysConst_PointSizeMinMax_Index = kSysConst_PointSize_Index + 1,
|
||||
kSysConst_PointSizeMinMax_Vec = kSysConst_PointSize_Vec,
|
||||
@@ -582,12 +584,15 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||
kSysConst_SampleCountLog2_Vec = kSysConst_PointScreenToNDC_Vec,
|
||||
kSysConst_SampleCountLog2_Comp = 2,
|
||||
|
||||
kSysConst_EDRAMPitchTiles_Index = kSysConst_SampleCountLog2_Index + 1,
|
||||
kSysConst_EDRAMPitchTiles_Vec = kSysConst_SampleCountLog2_Vec + 1,
|
||||
kSysConst_EDRAMPitchTiles_Comp = 0,
|
||||
kSysConst_AlphaTestReference_Index = kSysConst_SampleCountLog2_Index + 1,
|
||||
kSysConst_AlphaTestReference_Vec = kSysConst_SampleCountLog2_Vec + 1,
|
||||
kSysConst_AlphaTestReference_Comp = 0,
|
||||
kSysConst_EDRAMPitchTiles_Index = kSysConst_AlphaTestReference_Index + 1,
|
||||
kSysConst_EDRAMPitchTiles_Vec = kSysConst_AlphaTestReference_Vec,
|
||||
kSysConst_EDRAMPitchTiles_Comp = 1,
|
||||
kSysConst_EDRAMDepthBaseDwords_Index = kSysConst_EDRAMPitchTiles_Index + 1,
|
||||
kSysConst_EDRAMDepthBaseDwords_Vec = kSysConst_EDRAMPitchTiles_Vec,
|
||||
kSysConst_EDRAMDepthBaseDwords_Comp = 1,
|
||||
kSysConst_EDRAMDepthBaseDwords_Vec = kSysConst_AlphaTestReference_Vec,
|
||||
kSysConst_EDRAMDepthBaseDwords_Comp = 2,
|
||||
|
||||
kSysConst_ColorExpBias_Index = kSysConst_EDRAMDepthBaseDwords_Index + 1,
|
||||
kSysConst_ColorExpBias_Vec = kSysConst_EDRAMDepthBaseDwords_Vec + 1,
|
||||
|
||||
Reference in New Issue
Block a user