Merge branch 'Preview4_0' into SoundAssetImplements

# Conflicts:
#	Engine/source/T3D/assets/assetImporter.cpp
#	Engine/source/forest/forestItem.cpp
This commit is contained in:
AzaezelX 2021-10-11 20:11:27 -05:00
commit f5600826d7
122 changed files with 686 additions and 577 deletions

View file

@ -528,9 +528,6 @@ void GFXD3D11CubemapArray::init(const U32 cubemapCount, const U32 cubemapFaceSiz
void GFXD3D11CubemapArray::updateTexture(const GFXCubemapHandle &cubemap, const U32 slot)
{
U32 cubeMapSz = cubemap->getSize();
U32 cubeMapSize = cubemap->getMipMapLevels();
AssertFatal(slot <= mNumCubemaps, "GFXD3D11CubemapArray::updateTexture - trying to update a cubemap texture that is out of bounds!");
AssertFatal(mFormat == cubemap->getFormat(), "GFXD3D11CubemapArray::updateTexture - Destination format doesn't match");
AssertFatal(mSize == cubemap->getSize(), "GFXD3D11CubemapArray::updateTexture - Destination size doesn't match");

View file

@ -1199,7 +1199,7 @@ bool GBitmap::readBitmap( const String &bmType, Stream &ioStream )
if ( regInfo == NULL )
{
Con::errorf( "[GBitmap::readBitmap] unable to find registration for extension [%s]", bmType.c_str() );
return NULL;
return false;
}
return regInfo->readFunc( ioStream, this );
@ -1212,7 +1212,7 @@ bool GBitmap::writeBitmap( const String &bmType, Stream &ioStream, U32 compress
if ( regInfo == NULL )
{
Con::errorf( "[GBitmap::writeBitmap] unable to find registration for extension [%s]", bmType.c_str() );
return NULL;
return false;
}
return regInfo->writeFunc( this, ioStream, (compressionLevel == U32_MAX) ? regInfo->defaultCompression : compressionLevel );

View file

@ -143,7 +143,7 @@ static bool sReadPNG(Stream &stream, GBitmap *bitmap)
stream.read(cs_headerBytesChecked, header);
bool isPng = png_check_sig(header, cs_headerBytesChecked) != 0;
if (isPng == false)
if (!isPng)
{
AssertWarn(false, "GBitmap::readPNG: stream doesn't contain a PNG");
return false;

View file

@ -308,7 +308,7 @@ U8* GFXGLCubemap::getTextureData(U32 face, U32 mip)
GFXGLCubemapArray::GFXGLCubemapArray()
{
mCubemap = NULL;
mCubemap = 0;
}
GFXGLCubemapArray::~GFXGLCubemapArray()

View file

@ -51,6 +51,12 @@
#include "shaderGen/shaderGen.h"
#include "gfxGLUtils.h"
#if defined(TORQUE_OS_WIN)
#include "gfx/gl/tGL/tWGL.h"
#elif defined(TORQUE_OS_LINUX)
#include "gfx/gl/tGL/tXGL.h"
#endif
GFXAdapter::CreateDeviceInstanceDelegate GFXGLDevice::mCreateDeviceInstance(GFXGLDevice::createInstance);
GFXDevice *GFXGLDevice::createInstance( U32 adapterIndex )
@ -1073,8 +1079,36 @@ U32 GFXGLDevice::getTotalVideoMemory_GL_EXT()
return mem / 1024;
}
// TODO OPENGL, add supprt for INTEL cards.
#if defined(TORQUE_OS_WIN)
else if( (gglHasWExtension(AMD_gpu_association)) )
{
// Just assume 1 AMD gpu. Who uses crossfire anyways now? And, crossfire doesn't double
// vram anyways, so does it really matter?
UINT id;
if (wglGetGPUIDsAMD(1, &id) != 0)
{
S32 memorySize;
if (wglGetGPUInfoAMD(id, WGL_GPU_RAM_AMD, GL_INT, 1, &memorySize) != -1)
{
// memory size is returned in MB
return memorySize;
}
}
}
#endif
#if defined(TORQUE_OS_LINUX)
else if ( (gglHasXExtension(NULL, NULL, MESA_query_renderer)) )
{
// memory size is in mb
U32 memorySize;
glXQueryCurrentRendererIntegerMESA(GLX_RENDERER_VIDEO_MEMORY_MESA, &memorySize);
return memorySize;
}
#endif
// No other way, sad. Probably windows Intel.
return 0;
}

View file

@ -562,6 +562,7 @@ void GFXGLShader::initConstantDescs()
if(!maxNameLength)
return;
maxNameLength++;
FrameTemp<GLchar> uniformName(maxNameLength);

View file

@ -101,8 +101,8 @@ void GFXGLStateBlock::activate(const GFXGLStateBlock* oldState)
// the state value even if that value is identical to the current value.
#define STATE_CHANGE(state) (!oldState || oldState->mDesc.state != mDesc.state)
#define TOGGLE_STATE(state, enum) if(mDesc.state) glEnable(enum); else glDisable(enum)
#define CHECK_TOGGLE_STATE(state, enum) if(!oldState || oldState->mDesc.state != mDesc.state) if(mDesc.state) glEnable(enum); else glDisable(enum)
#define TOGGLE_STATE(state, enum) if(mDesc.state) { glEnable(enum); } else { glDisable(enum); }
#define CHECK_TOGGLE_STATE(state, enum) if(!oldState || oldState->mDesc.state != mDesc.state) { if(mDesc.state) { glEnable(enum); } else { glDisable(enum); }}
// Blending
CHECK_TOGGLE_STATE(blendEnable, GL_BLEND);

View file

@ -6,7 +6,7 @@
GFXGLTextureArray::GFXGLTextureArray()
{
mTextureArray = NULL;
mTextureArray = 0;
}
void GFXGLTextureArray::init()

View file

@ -13,7 +13,7 @@ public:
~GFXGLTextureArray() { Release(); };
void init();
void init() override;
void setToTexUnit(U32 tuNum) override;

View file

@ -46,7 +46,7 @@ GFXGLTextureObject::GFXGLTextureObject(GFXDevice * aDevice, GFXTextureProfile *p
{
#if TORQUE_DEBUG
mFrameAllocatorMarkGuard == FrameAllocator::getWaterMark();
mFrameAllocatorMarkGuard = FrameAllocator::getWaterMark();
#endif
dMemset(&mLockedRect, 0, sizeof(mLockedRect));

View file

@ -25,8 +25,10 @@
#include "core/strings/stringFunctions.h"
#include "console/console.h"
#ifdef TORQUE_OS_WIN
#include "tWGL.h"
#if defined(TORQUE_OS_WIN)
#include "tWGL.h"
#elif defined(TORQUE_OS_LINUX)
#include "tXGL.h"
#endif
namespace GL
@ -41,7 +43,18 @@ namespace GL
void gglPerformExtensionBinds(void *context)
{
#if defined(TORQUE_OS_WIN)
if (!gladLoadWGL((HDC)context))
{
AssertFatal(false, "Unable to load WGL in GLAD. Make sure your OpenGL drivers are up to date!");
}
#elif defined(TORQUE_OS_LINUX)
if (!gladLoadGLX(NULL, 0))
{
AssertFatal(false, "Unable to load GLX in GLAD. Make sure your OpenGL drivers are up to date!");
}
#endif
}
}

View file

@ -135,7 +135,7 @@ void CubemapData::createMap()
if( initSuccess )
{
mCubemap = GFX->createCubemap();
if (mCubeMapFace == NULL || mCubeMapFace->isNull())
if (!mCubeMapFace || mCubeMapFace->isNull())
return;
mCubemap->initStatic(mCubeMapFace);
}

View file

@ -226,7 +226,7 @@ public:
return setStatus(false);
}
ogg_stream_init(&to, Platform::getRandom() * S32_MAX);
ogg_stream_init(&to, Platform::getRandom() * double(S32_MAX));
ogg_packet op;