Update glslang; GCC compatibility fixes

This commit is contained in:
Jack Andersen 2016-04-15 10:41:24 -10:00
parent 5afdb62a39
commit f76caba013
4 changed files with 22 additions and 19 deletions

View File

@ -11,6 +11,7 @@ endif()
set(WITH_LSR_BINDINGS OFF) set(WITH_LSR_BINDINGS OFF)
set(BUILD_TESTS OFF) set(BUILD_TESTS OFF)
set(WITH_OPENMP OFF)
set(BUILD_SHARED_LIBS OFF) set(BUILD_SHARED_LIBS OFF)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/soxr/cmake/Modules") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/soxr/cmake/Modules")
add_subdirectory(soxr) add_subdirectory(soxr)

@ -1 +1 @@
Subproject commit 9bfc3ae1c149bb8272af3809099fff78ce780cd8 Subproject commit 26ffdd2c667dfe8dfc44a03ec851ebbead02921c

View File

@ -788,7 +788,7 @@ struct GLCommandQueue : IGraphicsCommandQueue
{ {
SWindowRect rect; SWindowRect rect;
float znear, zfar; float znear, zfar;
}; } viewport;
float rgba[4]; float rgba[4];
GLbitfield flags; GLbitfield flags;
struct struct
@ -985,18 +985,18 @@ struct GLCommandQueue : IGraphicsCommandQueue
break; break;
} }
case Command::Op::SetViewport: case Command::Op::SetViewport:
glViewport(cmd.rect.location[0], cmd.rect.location[1], glViewport(cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.rect.size[0], cmd.rect.size[1]); cmd.viewport.rect.size[0], cmd.viewport.rect.size[1]);
glDepthRange(cmd.znear, cmd.zfar); glDepthRange(cmd.viewport.znear, cmd.viewport.zfar);
break; break;
case Command::Op::SetScissor: case Command::Op::SetScissor:
if (cmd.rect.size[0] == 0 && cmd.rect.size[1] == 0) if (cmd.viewport.rect.size[0] == 0 && cmd.viewport.rect.size[1] == 0)
glDisable(GL_SCISSOR_TEST); glDisable(GL_SCISSOR_TEST);
else else
{ {
glEnable(GL_SCISSOR_TEST); glEnable(GL_SCISSOR_TEST);
glScissor(cmd.rect.location[0], cmd.rect.location[1], glScissor(cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.rect.size[0], cmd.rect.size[1]); cmd.viewport.rect.size[0], cmd.viewport.rect.size[1]);
} }
break; break;
case Command::Op::SetClearColor: case Command::Op::SetClearColor:
@ -1030,14 +1030,16 @@ struct GLCommandQueue : IGraphicsCommandQueue
if (cmd.resolveColor && tex->m_bindTexs[0]) if (cmd.resolveColor && tex->m_bindTexs[0])
{ {
glBindTexture(target, tex->m_bindTexs[0]); glBindTexture(target, tex->m_bindTexs[0]);
glCopyTexSubImage2D(target, 0, cmd.rect.location[0], cmd.rect.location[1], glCopyTexSubImage2D(target, 0, cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.rect.location[0], cmd.rect.location[1], cmd.rect.size[0], cmd.rect.size[1]); cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.viewport.rect.size[0], cmd.viewport.rect.size[1]);
} }
if (cmd.resolveDepth && tex->m_bindTexs[1]) if (cmd.resolveDepth && tex->m_bindTexs[1])
{ {
glBindTexture(target, tex->m_bindTexs[1]); glBindTexture(target, tex->m_bindTexs[1]);
glCopyTexSubImage2D(target, 0, cmd.rect.location[0], cmd.rect.location[1], glCopyTexSubImage2D(target, 0, cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.rect.location[0], cmd.rect.location[1], cmd.rect.size[0], cmd.rect.size[1]); cmd.viewport.rect.location[0], cmd.viewport.rect.location[1],
cmd.viewport.rect.size[0], cmd.viewport.rect.size[1]);
} }
break; break;
} }
@ -1102,16 +1104,16 @@ struct GLCommandQueue : IGraphicsCommandQueue
{ {
std::vector<Command>& cmds = m_cmdBufs[m_fillBuf]; std::vector<Command>& cmds = m_cmdBufs[m_fillBuf];
cmds.emplace_back(Command::Op::SetViewport); cmds.emplace_back(Command::Op::SetViewport);
cmds.back().rect = rect; cmds.back().viewport.rect = rect;
cmds.back().znear = znear; cmds.back().viewport.znear = znear;
cmds.back().zfar = zfar; cmds.back().viewport.zfar = zfar;
} }
void setScissor(const SWindowRect& rect) void setScissor(const SWindowRect& rect)
{ {
std::vector<Command>& cmds = m_cmdBufs[m_fillBuf]; std::vector<Command>& cmds = m_cmdBufs[m_fillBuf];
cmds.emplace_back(Command::Op::SetScissor); cmds.emplace_back(Command::Op::SetScissor);
cmds.back().rect = rect; cmds.back().viewport.rect = rect;
} }
void resizeRenderTexture(ITextureR* tex, size_t width, size_t height) void resizeRenderTexture(ITextureR* tex, size_t width, size_t height)
@ -1190,7 +1192,7 @@ struct GLCommandQueue : IGraphicsCommandQueue
cmds.back().resolveColor = color; cmds.back().resolveColor = color;
cmds.back().resolveDepth = depth; cmds.back().resolveDepth = depth;
SWindowRect intersectRect = rect.intersect(SWindowRect(0, 0, tex->m_width, tex->m_height)); SWindowRect intersectRect = rect.intersect(SWindowRect(0, 0, tex->m_width, tex->m_height));
SWindowRect& targetRect = cmds.back().rect; SWindowRect& targetRect = cmds.back().viewport.rect;
targetRect.location[0] = intersectRect.location[0]; targetRect.location[0] = intersectRect.location[0];
if (tlOrigin) if (tlOrigin)
targetRect.location[1] = tex->m_height - intersectRect.location[1] - intersectRect.size[1]; targetRect.location[1] = tex->m_height - intersectRect.location[1] - intersectRect.size[1];

View File

@ -106,8 +106,8 @@ extern "C" const uint8_t MAINICON_NETWM[];
extern "C" const size_t MAINICON_NETWM_SZ; extern "C" const size_t MAINICON_NETWM_SZ;
/* No icon by default */ /* No icon by default */
const uint8_t MAINICON_NETWM[] __attribute__ ((weak)) = {}; extern const uint8_t MAINICON_NETWM[] __attribute__ ((weak)) = {};
const size_t MAINICON_NETWM_SZ __attribute__ ((weak)) = 0; extern const size_t MAINICON_NETWM_SZ __attribute__ ((weak)) = 0;
namespace boo namespace boo
{ {