OpenGL Renderer:
- Move lookup table initialization to its own function + bugfixes.
This commit is contained in:
parent
a1fbdd04a6
commit
ed2ef989d7
|
@ -223,7 +223,7 @@ static bool gpuScreen3DHasNewData[2] = {false, false};
|
||||||
static unsigned int gpuScreen3DBufferIndex = 0;
|
static unsigned int gpuScreen3DBufferIndex = 0;
|
||||||
|
|
||||||
// Lookup Tables
|
// Lookup Tables
|
||||||
static CACHE_ALIGN GLfloat material_8bit_to_float[255] = {0};
|
static CACHE_ALIGN GLfloat material_8bit_to_float[256] = {0};
|
||||||
static CACHE_ALIGN GLuint dsDepthToD24S8_LUT[32768] = {0};
|
static CACHE_ALIGN GLuint dsDepthToD24S8_LUT[32768] = {0};
|
||||||
static const GLfloat divide5bitBy31LUT[32] = {0.0, 0.03225806451613, 0.06451612903226, 0.09677419354839,
|
static const GLfloat divide5bitBy31LUT[32] = {0.0, 0.03225806451613, 0.06451612903226, 0.09677419354839,
|
||||||
0.1290322580645, 0.1612903225806, 0.1935483870968, 0.2258064516129,
|
0.1290322580645, 0.1612903225806, 0.1935483870968, 0.2258064516129,
|
||||||
|
@ -1026,6 +1026,22 @@ static bool OGLInitRenderStates(const char *oglExtensionString, bool shaderSuppo
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void OGLInitTables()
|
||||||
|
{
|
||||||
|
static bool needTableInit = true;
|
||||||
|
|
||||||
|
if (needTableInit)
|
||||||
|
{
|
||||||
|
for (unsigned int i = 0; i < 256; i++)
|
||||||
|
material_8bit_to_float[i] = (GLfloat)(i * 4) / 255.0f;
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < 32768; i++)
|
||||||
|
dsDepthToD24S8_LUT[i] = (GLuint)DS_DEPTH15TO24(i) << 8;
|
||||||
|
|
||||||
|
needTableInit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//=================================================
|
//=================================================
|
||||||
|
|
||||||
static void OGLReset()
|
static void OGLReset()
|
||||||
|
@ -1231,7 +1247,7 @@ static char OGLInit(void)
|
||||||
|
|
||||||
if (!IsVersionSupported(OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MAJOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MINOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_REVISION))
|
if (!IsVersionSupported(OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MAJOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MINOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_REVISION))
|
||||||
{
|
{
|
||||||
INFO("OpenGL: GPU does not support OpenGL v%u.%u.%u or later.\n[GPU Info - Version: %s, Vendor: %s, Renderer: %s]\n",
|
INFO("OpenGL: GPU does not support OpenGL v%u.%u.%u or later. Disabling 3D renderer.\n[GPU Info - Version: %s, Vendor: %s, Renderer: %s]\n",
|
||||||
OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MAJOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MINOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_REVISION,
|
OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MAJOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_MINOR, OGLRENDER_LEGACY_MINIMUM_GPU_VERSION_REQUIRED_REVISION,
|
||||||
oglVersionString, oglVendorString, oglRendererString);
|
oglVersionString, oglVendorString, oglRendererString);
|
||||||
|
|
||||||
|
@ -1243,11 +1259,7 @@ static char OGLInit(void)
|
||||||
OGLInitFunctions(oglExtensionString);
|
OGLInitFunctions(oglExtensionString);
|
||||||
|
|
||||||
// Initialize tables
|
// Initialize tables
|
||||||
for (u8 i = 0; i < 255; i++)
|
OGLInitTables();
|
||||||
material_8bit_to_float[i] = (GLfloat)(i<<2)/255.f;
|
|
||||||
|
|
||||||
for (unsigned int i = 0; i < 32768; i++)
|
|
||||||
dsDepthToD24S8_LUT[i] = (GLuint)DS_DEPTH15TO24(i) << 8;
|
|
||||||
|
|
||||||
// Maintain our own vertex index buffer for vertex batching and primitive
|
// Maintain our own vertex index buffer for vertex batching and primitive
|
||||||
// conversions. Such conversions are necessary since OpenGL deprecates
|
// conversions. Such conversions are necessary since OpenGL deprecates
|
||||||
|
|
Loading…
Reference in New Issue