mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-11 01:25:07 +02:00
Remove some remains of HW tessellation
This commit is contained in:
@@ -75,13 +75,6 @@ void ComputeVertexShaderID(VShaderID *id_out, u32 vertType, bool useHWTransform,
|
||||
bool vtypeHasNormal = (vertType & GE_VTYPE_NRM_MASK) != 0;
|
||||
bool vtypeHasTexcoord = (vertType & GE_VTYPE_TC_MASK) != 0;
|
||||
|
||||
bool doBezier = gstate_c.submitType == SubmitType::HW_BEZIER;
|
||||
bool doSpline = gstate_c.submitType == SubmitType::HW_SPLINE;
|
||||
|
||||
if (doBezier || doSpline) {
|
||||
_assert_(vtypeHasNormal);
|
||||
}
|
||||
|
||||
bool lmode = gstate.isUsingSecondaryColor() && gstate.isLightingEnabled() && !isModeThrough && !gstate.isModeClear();
|
||||
bool vertexRangeCulling = gstate_c.Use(GPU_USE_VS_RANGE_CULLING) &&
|
||||
!isModeThrough && gstate_c.submitType == SubmitType::DRAW; // neither hw nor sw spline/bezier. See #11692
|
||||
|
||||
@@ -136,17 +136,8 @@ inline void UpdateUVScaleOff(const GPUgstate &state, float uvScaleOff[4]) {
|
||||
widthFactor = 1.0f;
|
||||
heightFactor = 1.0f;
|
||||
}
|
||||
if (gstate_c.submitType == SubmitType::HW_BEZIER || gstate_c.submitType == SubmitType::HW_SPLINE) {
|
||||
// When we are generating UV coordinates through the bezier/spline, we need to apply the scaling.
|
||||
// However, this is missing a check that we're not getting our UV:s supplied for us in the vertices.
|
||||
uvScaleOff[0] = gstate_c.uv.uScale * widthFactor;
|
||||
uvScaleOff[1] = gstate_c.uv.vScale * heightFactor;
|
||||
uvScaleOff[2] = gstate_c.uv.uOff * widthFactor;
|
||||
uvScaleOff[3] = gstate_c.uv.vOff * heightFactor;
|
||||
} else {
|
||||
uvScaleOff[0] = widthFactor;
|
||||
uvScaleOff[1] = heightFactor;
|
||||
uvScaleOff[2] = 0.0f;
|
||||
uvScaleOff[3] = 0.0f;
|
||||
}
|
||||
uvScaleOff[0] = widthFactor;
|
||||
uvScaleOff[1] = heightFactor;
|
||||
uvScaleOff[2] = 0.0f;
|
||||
uvScaleOff[3] = 0.0f;
|
||||
}
|
||||
|
||||
@@ -286,8 +286,7 @@ void DrawEngineD3D11::Flush() {
|
||||
GEPrimitiveType prim = prevPrim_;
|
||||
|
||||
// Always use software for flat shading to fix the provoking index.
|
||||
bool tess = gstate_c.submitType == SubmitType::HW_BEZIER || gstate_c.submitType == SubmitType::HW_SPLINE;
|
||||
bool useHWTransform = CanUseHardwareTransform(prim) && (tess || gstate.getShadeMode() != GE_SHADE_FLAT);
|
||||
bool useHWTransform = CanUseHardwareTransform(prim) && gstate.getShadeMode() != GE_SHADE_FLAT;
|
||||
if (clipInfoFlags_ & ClipInfoFlags::Valid) {
|
||||
if (clipInfoFlags_ & ClipInfoFlags::SoftClipCull) {
|
||||
useHWTransform = false;
|
||||
|
||||
@@ -514,8 +514,6 @@ enum class SubmitType {
|
||||
DRAW,
|
||||
BEZIER,
|
||||
SPLINE,
|
||||
HW_BEZIER,
|
||||
HW_SPLINE,
|
||||
};
|
||||
|
||||
extern GPUgstate gstate;
|
||||
|
||||
@@ -207,8 +207,6 @@ void DrawEngineVulkan::Flush() {
|
||||
|
||||
PROFILE_THIS_SCOPE("Flush");
|
||||
|
||||
bool tess = gstate_c.submitType == SubmitType::HW_BEZIER || gstate_c.submitType == SubmitType::HW_SPLINE;
|
||||
|
||||
bool textureNeedsApply = false;
|
||||
if (gstate_c.IsDirty(DIRTY_TEXTURE_IMAGE | DIRTY_TEXTURE_PARAMS) && !gstate.isModeClear() && gstate.isTextureMapEnabled()) {
|
||||
textureCache_->SetTexture();
|
||||
@@ -224,7 +222,7 @@ void DrawEngineVulkan::Flush() {
|
||||
|
||||
// Always use software for flat shading to fix the provoking index
|
||||
// if the provoking vertex extension is not available.
|
||||
bool provokingVertexOk = (tess || gstate.getShadeMode() != GE_SHADE_FLAT);
|
||||
bool provokingVertexOk = gstate.getShadeMode() != GE_SHADE_FLAT;
|
||||
if (renderManager->GetVulkanContext()->GetDeviceFeatures().enabled.provokingVertex.provokingVertexLast) {
|
||||
provokingVertexOk = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user