Merge branch 'master' into TemporaryHackishBranch

# Conflicts:
#	Common/KeyMap.cpp
#	UI/EmuScreen.cpp
# Just because I finally improved that code and added to master:)
This commit is contained in:
LunaMoo committed 2017-12-02 12:36:41 +01:00
commit 3ebd810bbd
11 files changed
+39 -31

No files matched your search

+1 -1
View File
@@ -1432,7 +1432,7 @@ static Module *__KernelLoadELFFromPtr(const u8 *ptr, size_t elfSize, u32 loadAdd
delete [] newptr;
if (!reportedModule && IsHLEVersionedModule(modinfo->name)) {
INFO_LOG_REPORT(SCEMODULE, "Loading module %s with version %04x, devkit %08x", modinfo->name, modinfo->moduleVersion, devkitVersion);
INFO_LOG(SCEMODULE, "Loading module %s with version %04x, devkit %08x", modinfo->name, modinfo->moduleVersion, devkitVersion);
if (!strcmp(modinfo->name, "sceMpeg_library")) {
__MpegLoadModule(modinfo->moduleVersion);
+1 -1
View File
@@ -394,7 +394,7 @@ void SoftwareTransform(
// TODO: This bleeds outside the play area in non-buffered mode. Big deal? Probably not.
// TODO: Allow creating a depth clear and a color draw.
bool reallyAClear = false;
if (maxIndex > 1 && prim == GE_PRIM_RECTANGLES && gstate.isModeClear()) {
if (maxIndex > 1 && prim == GE_PRIM_RECTANGLES && gstate.isModeClear() && params->allowClear) {
int scissorX2 = gstate.getScissorX2() + 1;
int scissorY2 = gstate.getScissorY2() + 1;
reallyAClear = IsReallyAClear(transformed, maxIndex, scissorX2, scissorY2);
+1
View File
@@ -44,6 +44,7 @@ struct SoftwareTransformParams {
TransformedVertex *transformedExpanded;
FramebufferManagerCommon *fbman;
TextureCacheCommon *texCache;
bool allowClear;
bool allowSeparateAlphaClear;
};
+3 -5
View File
@@ -635,16 +635,14 @@ rotateVBO:
bool drawIndexed = false;
u16 *inds = decIndex;
TransformedVertex *drawBuffer = NULL;
SoftwareTransformResult result;
memset(&result, 0, sizeof(result));
SoftwareTransformParams params;
memset(&params, 0, sizeof(params));
SoftwareTransformResult result{};
SoftwareTransformParams params{};
params.decoded = decoded;
params.transformed = transformed;
params.transformedExpanded = transformedExpanded;
params.fbman = framebufferManager_;
params.texCache = textureCache_;
params.allowClear = true;
params.allowSeparateAlphaClear = false; // D3D11 doesn't support separate alpha clears
int maxIndex = indexGen.MaxIndex();
+3 -5
View File
@@ -599,16 +599,14 @@ rotateVBO:
bool drawIndexed = false;
u16 *inds = decIndex;
TransformedVertex *drawBuffer = NULL;
SoftwareTransformResult result;
memset(&result, 0, sizeof(result));
SoftwareTransformParams params;
memset(&params, 0, sizeof(params));
SoftwareTransformResult result{};
SoftwareTransformParams params{};
params.decoded = decoded;
params.transformed = transformed;
params.transformedExpanded = transformedExpanded;
params.fbman = framebufferManager_;
params.texCache = textureCache_;
params.allowClear = true;
params.allowSeparateAlphaClear = true;
int maxIndex = indexGen.MaxIndex();
+3 -5
View File
@@ -670,17 +670,15 @@ rotateVBO:
int numTrans;
bool drawIndexed = false;
u16 *inds = decIndex;
SoftwareTransformResult result;
memset(&result, 0, sizeof(result));
SoftwareTransformResult result{};
// TODO: Keep this static? Faster than repopulating?
SoftwareTransformParams params;
memset(&params, 0, sizeof(params));
SoftwareTransformParams params{};
params.decoded = decoded;
params.transformed = transformed;
params.transformedExpanded = transformedExpanded;
params.fbman = framebufferManager_;
params.texCache = textureCache_;
params.allowClear = true;
params.allowSeparateAlphaClear = true;
int maxIndex = indexGen.MaxIndex();
+6 -6
View File
@@ -897,17 +897,17 @@ void DrawEngineVulkan::DoFlush() {
int numTrans = 0;
bool drawIndexed = false;
u16 *inds = decIndex;
TransformedVertex *drawBuffer = NULL;
SoftwareTransformResult result;
memset(&result, 0, sizeof(result));
SoftwareTransformParams params;
memset(&params, 0, sizeof(params));
TransformedVertex *drawBuffer = nullptr;
SoftwareTransformResult result{};
SoftwareTransformParams params{};
params.decoded = decoded;
params.transformed = transformed;
params.transformedExpanded = transformedExpanded;
params.fbman = framebufferManager_;
params.texCache = textureCache_;
// We have to force drawing of primitives if g_Config.iRenderingMode == 0 (non-buffered) because Vulkan clears
// do not respect scissor rects.
params.allowClear = g_Config.iRenderingMode != 0;
params.allowSeparateAlphaClear = false;
int maxIndex = indexGen.MaxIndex();
+17 -2
View File
@@ -457,12 +457,27 @@ void EmuScreen::onVKeyDown(int virtualKeyCode) {
break;
}
#ifndef MOBILE_DEVICE
case VIRTKEY_RECORD:
{
g_Config.bDumpFrames = !g_Config.bDumpFrames;
g_Config.bDumpAudio = !g_Config.bDumpAudio;
if (g_Config.bDumpFrames == g_Config.bDumpAudio) {
g_Config.bDumpFrames = !g_Config.bDumpFrames;
g_Config.bDumpAudio = !g_Config.bDumpAudio;
} else {
// This hotkey should always toggle both audio and video together.
// So let's make sure that's the only outcome even if video OR audio was already being dumped.
if (g_Config.bDumpFrames) {
AVIDump::Stop();
AVIDump::Start(PSP_CoreParameter().renderWidth, PSP_CoreParameter().renderHeight);
g_Config.bDumpAudio = true;
} else {
WAVDump::Reset();
g_Config.bDumpFrames = true;
}
}
break;
}
#endif
case VIRTKEY_AXIS_X_MIN:
case VIRTKEY_AXIS_X_MAX:
+3 -3
View File
@@ -2,9 +2,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.ppsspp.ppsspp"
android:installLocation="auto"
android:versionCode="15000000"
android:versionName="1.5.0.0">
<!-- For the next release: Note that versionCode should be in the format xyzzrrrr -->
android:versionCode="15030000"
android:versionName="1.5.3.0">
<!-- Note that versionCode should be in the format xyzzrrrr -->
<uses-sdk
android:minSdkVersion="9"
-2
View File
@@ -594,8 +594,6 @@ void VulkanQueueRunner::PerformBindFramebufferAsRenderTarget(const VKRStep &step
w = vulkan_->GetBackbufferWidth();
h = vulkan_->GetBackbufferHeight();
renderPass = GetBackbufferRenderPass();
_dbg_assert_msg_(G3D, step.render.color == VKRRenderPassAction::CLEAR || step.render.color == VKRRenderPassAction::DONT_CARE, "Backbuffer pass should only be CLEAR or DONT_CARE");
_dbg_assert_msg_(G3D, step.render.depthStencil == VKRRenderPassAction::CLEAR || step.render.depthStencil == VKRRenderPassAction::DONT_CARE, "Backbuffer pass should only be CLEAR or DONT_CARE");
Uint8x4ToFloat4(clearVal[0].color.float32, step.render.clearColor);
numClearVals = 2; // We don't bother with a depth buffer here.
clearVal[1].depthStencil.depth = 0.0f;