@@ -1830,20 +1830,21 @@ void GPUCommon::Execute_Bezier(u32 op, u32 diff) {
1830
1830
1831
1831
if (drawEngineCommon_->CanUseHardwareTessellation (surface.primType )) {
1832
1832
gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1833
- gstate_c.bezier = true ;
1833
+ gstate_c.submitType = SubmitType::HW_BEZIER ;
1834
1834
if (gstate_c.spline_num_points_u != surface.num_points_u ) {
1835
1835
gstate_c.Dirty (DIRTY_BEZIERSPLINE);
1836
1836
gstate_c.spline_num_points_u = surface.num_points_u ;
1837
1837
}
1838
+ } else {
1839
+ gstate_c.submitType = SubmitType::BEZIER;
1838
1840
}
1839
1841
1840
1842
int bytesRead = 0 ;
1841
1843
UpdateUVScaleOffset ();
1842
1844
drawEngineCommon_->SubmitCurve (control_points, indices, surface, gstate.vertType , &bytesRead, " bezier" );
1843
1845
1844
- if (gstate_c.bezier )
1845
- gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1846
- gstate_c.bezier = false ;
1846
+ gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1847
+ gstate_c.submitType = SubmitType::DRAW;
1847
1848
1848
1849
// After drawing, we advance pointers - see SubmitPrim which does the same.
1849
1850
int count = surface.num_points_u * surface.num_points_v ;
@@ -1896,20 +1897,21 @@ void GPUCommon::Execute_Spline(u32 op, u32 diff) {
1896
1897
1897
1898
if (drawEngineCommon_->CanUseHardwareTessellation (surface.primType )) {
1898
1899
gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1899
- gstate_c.spline = true ;
1900
+ gstate_c.submitType = SubmitType::HW_SPLINE ;
1900
1901
if (gstate_c.spline_num_points_u != surface.num_points_u ) {
1901
1902
gstate_c.Dirty (DIRTY_BEZIERSPLINE);
1902
1903
gstate_c.spline_num_points_u = surface.num_points_u ;
1903
1904
}
1905
+ } else {
1906
+ gstate_c.submitType = SubmitType::SPLINE;
1904
1907
}
1905
1908
1906
1909
int bytesRead = 0 ;
1907
1910
UpdateUVScaleOffset ();
1908
1911
drawEngineCommon_->SubmitCurve (control_points, indices, surface, gstate.vertType , &bytesRead, " spline" );
1909
1912
1910
- if (gstate_c.spline )
1911
- gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1912
- gstate_c.spline = false ;
1913
+ gstate_c.Dirty (DIRTY_VERTEXSHADER_STATE);
1914
+ gstate_c.submitType = SubmitType::DRAW;
1913
1915
1914
1916
// After drawing, we advance pointers - see SubmitPrim which does the same.
1915
1917
int count = surface.num_points_u * surface.num_points_v ;
0 commit comments