summaryrefslogtreecommitdiff
path: root/tools/gfx
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2018-10-25 11:24:16 -0400
committerGitHub <noreply@github.com>2018-10-25 11:24:16 -0400
commit4f0415e338862ffec50c2d47eddea958255b504e (patch)
tree084c8e25552e328ed14eafcf0431493f58f973e8 /tools/gfx
parent2700a89f8c80620f1d523563cc80ec0da39e9761 (diff)
Feature/premake linux (#689)
* Premake work in progress for linux. * Added dump function. * Remove examples on linux Small warning fix. * * Don't build render-test on linux * Removed work around virtual destructor warning, and just used virtual dtor for simplicity * Git ignore obj directories * Fix premake working on windows. * * Fix sprintf_s functions * Make generates arg parsing more robust * Added FloatIntUnion to avoid type punning/strong aliasing issues, and repeated union definitions. * Work around problems building on linux with getClass claiming a strict aliasing issue. * Fix for targetBlock appearing potentiall used unintialized to gcc. * Linux slang link options -fPIC to make dll. * Add -fPIC to build options on linux. * Add -ldl for linux on slang. * Fixes to try and get premake working with .so on linux. * Make core compile with -fPIC * Try to fix linux linking with --no-as-needed before -ldl * Add rpath back. * Remove render-gl from linux build. * Re-add location for linux. * Don't include <malloc.h> except on windows. * Remove unused line to fix warning on osx. * Remove ambiguity on OSX for operator <<. * Fixing ambiguity with operator overloading and Int types for OSX. * Fix ambiguity around UInt and operator * Fix ambiguity of UInt conversion for OSX. * Added UnambiguousInt and UnambiguousUInt to make it easier to work around OSX integer coercion for UInt/Int types.
Diffstat (limited to 'tools/gfx')
-rw-r--r--tools/gfx/model.cpp7
-rw-r--r--tools/gfx/model.h1
-rw-r--r--tools/gfx/render.h6
-rw-r--r--tools/gfx/window.cpp1
-rw-r--r--tools/gfx/window.h4
5 files changed, 15 insertions, 4 deletions
diff --git a/tools/gfx/model.cpp b/tools/gfx/model.cpp
index 62e6ec1fd..ce176727b 100644
--- a/tools/gfx/model.cpp
+++ b/tools/gfx/model.cpp
@@ -195,6 +195,11 @@ RefPtr<TextureResource> loadTextureImage(
return texture;
}
+static std::string makeString(const char* start, const char* end)
+{
+ return std::string(start, size_t(end - start));
+}
+
Result ModelLoader::load(
char const* inputPath,
void** outModel)
@@ -208,7 +213,7 @@ Result ModelLoader::load(
std::string baseDir;
if( auto lastSlash = strrchr(inputPath, '/') )
{
- baseDir = std::string(inputPath, lastSlash);
+ baseDir = makeString(inputPath, lastSlash);
}
std::string diagnostics;
diff --git a/tools/gfx/model.h b/tools/gfx/model.h
index b92dfda76..17b16510e 100644
--- a/tools/gfx/model.h
+++ b/tools/gfx/model.h
@@ -5,6 +5,7 @@
#include "vector-math.h"
#include <vector>
+#include <string>
namespace gfx {
diff --git a/tools/gfx/render.h b/tools/gfx/render.h
index f59a5ef9f..bfbe0f82a 100644
--- a/tools/gfx/render.h
+++ b/tools/gfx/render.h
@@ -5,6 +5,8 @@
//#include "shader-input-layout.h"
+#include <float.h>
+
#include "../../slang-com-helper.h"
#include "../../source/core/smart-pointer.h"
@@ -424,6 +426,10 @@ class TextureResource: public Resource
Desc m_desc;
};
+// Needed for building on cygwin with gcc
+#undef Always
+#undef None
+
enum class ComparisonFunc : uint8_t
{
Never = 0,
diff --git a/tools/gfx/window.cpp b/tools/gfx/window.cpp
index 8456e1ead..9e2195141 100644
--- a/tools/gfx/window.cpp
+++ b/tools/gfx/window.cpp
@@ -1,6 +1,5 @@
// window.cpp
#include "window.h"
-#pragma once
#include <stdio.h>
diff --git a/tools/gfx/window.h b/tools/gfx/window.h
index e154acec3..e6f886f42 100644
--- a/tools/gfx/window.h
+++ b/tools/gfx/window.h
@@ -5,7 +5,7 @@
namespace gfx {
-typedef struct Window Window;
+struct Window;
enum class KeyCode
{
@@ -94,7 +94,7 @@ int runApplication(
#define GFX_CONSOLE_MAIN(APPLICATION_ENTRY) \
int main(int argc, char** argv) { \
- return gfx::runApplication(&(APPLIATION_ENTRY), argc, argv); \
+ return gfx::runApplication(&(APPLICATION_ENTRY), argc, argv); \
}
#ifdef _WIN32