D3D11: Fix build issue in Release mode. Triangle fan workaround.

This commit is contained in:
Henrik Rydgård committed 2017-02-12 12:12:36 +01:00
1 parent 07c88ef2b0
commit 6efdde9ea4
3 files changed
+4 -7

No files matched your search

+1
View File
@@ -567,6 +567,7 @@ void FramebufferManagerCommon::NotifyRenderFramebufferSwitched(VirtualFramebuffe
textureCache_->ForgetLastTexture();
if (useBufferedRendering_) {
if (vfb->fbo) {
draw_->BindFramebufferAsRenderTarget(vfb->fbo);
} else {
+2 -4
View File
@@ -587,8 +587,6 @@ void DrawEngineD3D11::DoFlush() {
if (useHWTransform) {
ID3D11Buffer *vb_ = nullptr;
ID3D11Buffer *ib_ = nullptr;
if (prim == GE_PRIM_TRIANGLE_FAN)
Crash();
int vertexCount = 0;
int maxIndex = 0;
@@ -676,7 +674,7 @@ void DrawEngineD3D11::DoFlush() {
vai->prim = indexGen.Prim();
vai->maxIndex = indexGen.MaxIndex();
vai->flags = gstate_c.vertexFullAlpha ? VAI11_FLAG_VERTEXFULLALPHA : 0;
useElements = !indexGen.SeenOnlyPurePrims();
useElements = !indexGen.SeenOnlyPurePrims() || prim == GE_PRIM_TRIANGLE_FAN;
if (!useElements && indexGen.PureCount()) {
vai->numVerts = indexGen.PureCount();
}
@@ -747,7 +745,7 @@ void DrawEngineD3D11::DoFlush() {
DecodeVerts();
rotateVBO:
gpuStats.numUncachedVertsDrawn += indexGen.VertexCount();
useElements = !indexGen.SeenOnlyPurePrims();
useElements = !indexGen.SeenOnlyPurePrims() || prim == GE_PRIM_TRIANGLE_FAN;
vertexCount = indexGen.VertexCount();
maxIndex = indexGen.MaxIndex();
if (!useElements && indexGen.PureCount()) {
+1 -3
View File
@@ -120,12 +120,10 @@ void D3D11Context::Shutdown() {
d3dInfoQueue_->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, false);
d3dInfoQueue_->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, false);
d3dInfoQueue_->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, false);
#endif
#ifdef _DEBUG
d3dDebug_->ReportLiveDeviceObjects(D3D11_RLDO_SUMMARY | D3D11_RLDO_DETAIL);
#endif
d3dDebug_->Release();
d3dInfoQueue_->Release();
#endif
context_->Release();
context_ = nullptr;