[Fix] (MG_Backend/DirectGLES|MG_State/BufferState): Fix crash.

This commit is contained in:
BZLZHH
2025-10-19 12:04:45 +08:00
parent 93a0bbaed8
commit 6423a32a2e
3 changed files with 5 additions and 4 deletions
@@ -27,7 +27,6 @@ namespace MobileGL::MG_Backend::DirectGLES {
buffersToSync.push_back(bufferObject);
}
}
const auto& possibleIBO = currentVAOObject->GetIndexBufferBindingSlot().GetBoundObject();
if (possibleIBO) {
buffersToSync.push_back(possibleIBO);
@@ -37,7 +36,7 @@ namespace MobileGL::MG_Backend::DirectGLES {
for (auto& bufferObject : buffersToSync) {
const auto& backendBufferIt = g_backendBufferObjects.find(bufferObject);
SharedPtr<BackendBufferObject> backendBufferObject;
if (backendBufferIt != g_backendBufferObjects.end()) {
if (backendBufferIt == g_backendBufferObjects.end()) {
backendBufferObject = MakeShared<BackendBufferObject>();
g_backendBufferObjects[bufferObject] = backendBufferObject;
} else {
@@ -1,8 +1,8 @@
#include "GL_Drawing.h"
#include <Config.h>
#include <MG_State/GLState/Core.h>
#include <MG_Util/BackendLoaders/OpenGL/Loader.h>
#include <MG_Backend/DirectGLES/DirectGLES.h>
#include <MG_Util/BackendLoaders/OpenGL/Loader.h>
namespace MobileGL {
namespace MG_Impl::GLImpl {
@@ -1,11 +1,13 @@
#include "BufferObject.h"
#include "MG_Util/Types.h"
namespace MobileGL {
namespace MG_State {
namespace GLState {
BufferObject::BufferObject()
: m_id(0), m_size(0), m_usage(BufferUsage::StaticDraw), m_isMapped(false),
m_mappingAccess(BufferMappingAccessBit::Null), m_dirtyRange({0, 0}), m_mappedRange({0, 0}) {}
m_mappingAccess(BufferMappingAccessBit::Null), m_dirtyRange({0, 0}), m_mappedRange({0, 0}),
m_dataPtr(MakeShared<Data>()) {}
void BufferObject::Resize(SizeT size) {
m_size = size;