Merge pull request #12111 from hrydgard/static-analysis-fixes

Static analysis fixes
This commit is contained in:
Unknown W. Brackets 2019-06-17 17:12:01 -07:00 committed by GitHub
commit 40d2d0601d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 38 additions and 36 deletions

View File

@ -346,7 +346,7 @@ namespace MIPSInt
int off = GetMatrixSide(sz) - 1;
u32 sprefixRemove = VFPU_ANY_SWIZZLE();
u32 sprefixAdd;
u32 sprefixAdd = 0;
switch ((op >> 16) & 0xF) {
case 3:
{
@ -363,6 +363,9 @@ namespace MIPSInt
case 7:
sprefixAdd = VFPU_MAKE_CONSTANTS(VFPUConst::ONE, VFPUConst::ONE, VFPUConst::ONE, VFPUConst::ONE);
break;
default:
_dbg_assert_msg_(CPU, 0, "Unknown matrix init op");
break;
}
ApplyPrefixST(&prefixed[off * 4], VFPURewritePrefix(VFPU_CTRL_SPREFIX, sprefixRemove, sprefixAdd), V_Quad);
WriteMatrix(prefixed, sz, vd);
@ -1562,7 +1565,7 @@ namespace MIPSInt
int vd = _VD;
int vs = _VS;
int vt = _VT;
int ins = (op >> 23) & 7;
int ins = (op >> 23) & 3;
VectorSize sz = (VectorSize)(ins + 1);
MatrixSize msz = (MatrixSize)(ins + 1);

View File

@ -237,26 +237,24 @@ static bool ConvertPixelTo8888RGBA(GPUDebugBufferFormat fmt, u8 &r, u8 &g, u8 &b
}
const u8 *ConvertBufferToScreenshot(const GPUDebugBuffer &buf, bool alpha, u8 *&temp, u32 &w, u32 &h) {
int pixelSize = alpha ? 4 : 3;
size_t pixelSize = alpha ? 4 : 3;
GPUDebugBufferFormat nativeFmt = alpha ? GPU_DBG_FORMAT_8888 : GPU_DBG_FORMAT_888_RGB;
w = std::min(w, buf.GetStride());
h = std::min(h, buf.GetHeight());
// The temp buffer will be freed by the caller if set, and can be the return value.
if (buf.GetFlipped() || buf.GetFormat() != nativeFmt) {
temp = new u8[pixelSize * w * h];
} else {
temp = nullptr;
}
temp = nullptr;
const u8 *buffer = buf.GetData();
if (buf.GetFlipped() && buf.GetFormat() == nativeFmt) {
temp = new u8[pixelSize * w * h];
// Silly OpenGL reads upside down, we flip to another buffer for simplicity.
for (u32 y = 0; y < h; y++) {
memcpy(temp + y * w * pixelSize, buffer + (buf.GetHeight() - y - 1) * buf.GetStride() * pixelSize, w * pixelSize);
}
} else if (buf.GetFormat() < GPU_DBG_FORMAT_FLOAT && buf.GetFormat() != nativeFmt) {
temp = new u8[pixelSize * w * h];
// Let's boil it down to how we need to interpret the bits.
int baseFmt = buf.GetFormat() & ~(GPU_DBG_FORMAT_REVERSE_FLAG | GPU_DBG_FORMAT_BRSWAP_FLAG);
bool rev = (buf.GetFormat() & GPU_DBG_FORMAT_REVERSE_FLAG) != 0;
@ -284,6 +282,7 @@ const u8 *ConvertBufferToScreenshot(const GPUDebugBuffer &buf, bool alpha, u8 *&
}
}
} else if (buf.GetFormat() != nativeFmt) {
temp = new u8[pixelSize * w * h];
bool flip = buf.GetFlipped();
// This is pretty inefficient.

View File

@ -79,7 +79,7 @@ inline GPUDebugBufferFormat &operator |=(GPUDebugBufferFormat &lhs, const GPUDeb
}
struct GPUDebugBuffer {
GPUDebugBuffer() : alloc_(false), data_(NULL) {
GPUDebugBuffer() {
}
GPUDebugBuffer(void *data, u32 stride, u32 height, GEBufferFormat fmt, bool reversed = false)
@ -100,7 +100,7 @@ struct GPUDebugBuffer {
: alloc_(false), data_((u8 *)data), stride_(stride), height_(height), fmt_(fmt), flipped_(false) {
}
GPUDebugBuffer(GPUDebugBuffer &&other) {
GPUDebugBuffer(GPUDebugBuffer &&other) noexcept {
alloc_ = other.alloc_;
data_ = other.data_;
height_ = other.height_;
@ -108,14 +108,14 @@ struct GPUDebugBuffer {
flipped_ = other.flipped_;
fmt_ = other.fmt_;
other.alloc_ = false;
other.data_ = NULL;
other.data_ = nullptr;
}
~GPUDebugBuffer() {
Free();
}
GPUDebugBuffer &operator = (GPUDebugBuffer &&other) {
GPUDebugBuffer &operator = (GPUDebugBuffer &&other) noexcept {
if (this != &other) {
Free();
alloc_ = other.alloc_;
@ -125,7 +125,7 @@ struct GPUDebugBuffer {
flipped_ = other.flipped_;
fmt_ = other.fmt_;
other.alloc_ = false;
other.data_ = NULL;
other.data_ = nullptr;
}
return *this;
@ -164,12 +164,12 @@ struct GPUDebugBuffer {
private:
u32 PixelSize(GPUDebugBufferFormat fmt) const;
bool alloc_;
u8 *data_;
u32 stride_;
u32 height_;
GPUDebugBufferFormat fmt_;
bool flipped_;
bool alloc_ = false;
u8 *data_ = nullptr;
u32 stride_ = 0;
u32 height_ = 0;
GPUDebugBufferFormat fmt_ = GPU_DBG_FORMAT_INVALID;
bool flipped_ = false;
};
struct GPUDebugVertex {

View File

@ -246,8 +246,8 @@ private:
VulkanContext *vulkan_;
VkFramebuffer backbuffer_;
VkImage backbufferImage_;
VkFramebuffer backbuffer_ = VK_NULL_HANDLE;
VkImage backbufferImage_ = VK_NULL_HANDLE;
VkRenderPass backbufferRenderPass_ = VK_NULL_HANDLE;
VkRenderPass framebufferRenderPass_ = VK_NULL_HANDLE;

View File

@ -156,7 +156,7 @@ void VulkanRenderManager::CreateBackbuffers() {
VkCommandBuffer cmdInit = GetInitCmd();
for (uint32_t i = 0; i < swapchainImageCount_; i++) {
SwapchainImageData sc_buffer;
SwapchainImageData sc_buffer{};
sc_buffer.image = swapchainImages[i];
VkImageViewCreateInfo color_image_view = { VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO };

View File

@ -288,8 +288,8 @@ private:
FrameData frameData_[VulkanContext::MAX_INFLIGHT_FRAMES];
// Submission time state
int curWidth_;
int curHeight_;
int curWidth_ = -1;
int curHeight_ = -1;
bool insideFrame_ = false;
VKRStep *curRenderStep_ = nullptr;
std::vector<VKRStep *> steps_;
@ -310,7 +310,7 @@ private:
};
std::vector<VkFramebuffer> framebuffers_;
std::vector<SwapchainImageData> swapchainImages_;
uint32_t swapchainImageCount_;
uint32_t swapchainImageCount_ = 0;
struct DepthBufferInfo {
VkFormat format = VK_FORMAT_UNDEFINED;
VkImage image = VK_NULL_HANDLE;

View File

@ -109,7 +109,7 @@ private:
class ListPopupScreen : public PopupScreen {
public:
ListPopupScreen(std::string title) : PopupScreen(title), showButtons_(false) {}
ListPopupScreen(std::string title) : PopupScreen(title) {}
ListPopupScreen(std::string title, const std::vector<std::string> &items, int selected, std::function<void(int)> callback, bool showButtons = false)
: PopupScreen(title, "OK", "Cancel"), adaptor_(items, selected), callback_(callback), showButtons_(showButtons) {
}
@ -135,13 +135,13 @@ protected:
virtual bool ShowButtons() const override { return showButtons_; }
virtual void CreatePopupContents(UI::ViewGroup *parent) override;
UI::StringVectorListAdaptor adaptor_;
UI::ListView *listView_;
UI::ListView *listView_ = nullptr;
private:
UI::EventReturn OnListChoice(UI::EventParams &e);
std::function<void(int)> callback_;
bool showButtons_;
bool showButtons_ = false;
std::set<int> hidden_;
};
@ -169,7 +169,7 @@ namespace UI {
class SliderPopupScreen : public PopupScreen {
public:
SliderPopupScreen(int *value, int minValue, int maxValue, const std::string &title, int step = 1, const std::string &units = "")
: PopupScreen(title, "OK", "Cancel"), units_(units), value_(value), minValue_(minValue), maxValue_(maxValue), step_(step) {}
: PopupScreen(title, "OK", "Cancel"), units_(units), value_(value), minValue_(minValue), maxValue_(maxValue), step_(step) {}
virtual void CreatePopupContents(ViewGroup *parent) override;
void SetNegativeDisable(const std::string &str) {
@ -185,12 +185,12 @@ private:
EventReturn OnTextChange(EventParams &params);
EventReturn OnSliderChange(EventParams &params);
virtual void OnCompleted(DialogResult result) override;
Slider *slider_;
UI::TextEdit *edit_;
Slider *slider_ = nullptr;
UI::TextEdit *edit_ = nullptr;
std::string units_;
std::string negativeLabel_;
int *value_;
int sliderValue_;
int sliderValue_ = 0;
int minValue_;
int maxValue_;
int step_;

View File

@ -552,8 +552,8 @@ private:
float paddingLeft_;
float paddingRight_;
int step_;
int repeat_;
int repeatCode_;
int repeat_ = 0;
int repeatCode_ = 0;
};
class SliderFloat : public Clickable {
@ -580,7 +580,7 @@ private:
float paddingLeft_;
float paddingRight_;
int repeat_;
int repeatCode_;
int repeatCode_ = 0;
};
// Basic button that modifies a bitfield based on the pressed status. Supports multitouch.

View File

@ -31,7 +31,7 @@ protected:
// Position the current word starts at.
float x_ = 0.0f;
// Most recent width of word since last index.
float wordWidth_;
float wordWidth_ = 0.0f;
// Force the next word to cut partially and wrap.
bool forceEarlyWrap_ = false;
};